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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/languages/en.json +1 -1
  3. package/dist/scripts/1063-5a732288dc-lite.chunk.js +2 -0
  4. package/dist/scripts/1063-5a732288dc-lite.chunk.js.map +1 -0
  5. package/dist/scripts/{9173-2392d447a6-lite.chunk.js → 1104-f057c6dea1-lite.chunk.js} +3 -3
  6. package/dist/scripts/{9173-2392d447a6-lite.chunk.js.map → 1104-f057c6dea1-lite.chunk.js.map} +1 -1
  7. package/dist/scripts/{1125-aac132b88f-lite.chunk.js → 1125-c5138ef662-lite.chunk.js} +2 -2
  8. package/dist/scripts/1125-c5138ef662-lite.chunk.js.map +1 -0
  9. package/dist/scripts/1169-9b7d850bab-lite.chunk.js +2 -0
  10. package/dist/scripts/1169-9b7d850bab-lite.chunk.js.map +1 -0
  11. package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
  12. package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
  13. package/dist/scripts/1672-0d1fc90529-lite.chunk.js +3 -0
  14. package/dist/scripts/1672-0d1fc90529-lite.chunk.js.map +1 -0
  15. package/dist/scripts/1725-99450ed637-lite.chunk.js +2 -0
  16. package/dist/scripts/1725-99450ed637-lite.chunk.js.map +1 -0
  17. package/dist/scripts/1891-5914c54eca-lite.chunk.js +2 -0
  18. package/dist/scripts/1891-5914c54eca-lite.chunk.js.map +1 -0
  19. package/dist/scripts/1896-399a91d18c-lite.chunk.js +2 -0
  20. package/dist/scripts/1896-399a91d18c-lite.chunk.js.map +1 -0
  21. package/dist/scripts/193-797b89797a-lite.chunk.js +2 -0
  22. package/dist/scripts/193-797b89797a-lite.chunk.js.map +1 -0
  23. package/dist/scripts/209-fe96739cb5-lite.chunk.js +2 -0
  24. package/dist/scripts/209-fe96739cb5-lite.chunk.js.map +1 -0
  25. package/dist/scripts/2134-b8d5c46887-lite.chunk.js +2 -0
  26. package/dist/scripts/2134-b8d5c46887-lite.chunk.js.map +1 -0
  27. package/dist/scripts/2142-f71cf5c71f-lite.chunk.js +2 -0
  28. package/dist/scripts/2142-f71cf5c71f-lite.chunk.js.map +1 -0
  29. package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js +2 -0
  30. package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js.map +1 -0
  31. package/dist/scripts/2548-c5dd2899df-lite.chunk.js +2 -0
  32. package/dist/scripts/2548-c5dd2899df-lite.chunk.js.map +1 -0
  33. package/dist/scripts/2952-c3a826b714-lite.chunk.js +2 -0
  34. package/dist/scripts/2952-c3a826b714-lite.chunk.js.map +1 -0
  35. package/dist/scripts/3404-23125f10ea-lite.chunk.js +2 -0
  36. package/dist/scripts/3404-23125f10ea-lite.chunk.js.map +1 -0
  37. package/dist/scripts/3633-f3609526a5-lite.chunk.js +2 -0
  38. package/dist/scripts/3633-f3609526a5-lite.chunk.js.map +1 -0
  39. package/dist/scripts/3728-eed9e78985-lite.chunk.js +2 -0
  40. package/dist/scripts/3728-eed9e78985-lite.chunk.js.map +1 -0
  41. package/dist/scripts/4063-5fa157657f-lite.chunk.js +2 -0
  42. package/dist/scripts/4063-5fa157657f-lite.chunk.js.map +1 -0
  43. package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js +2 -0
  44. package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js.map +1 -0
  45. package/dist/scripts/4273-e42f763f00-lite.chunk.js +3 -0
  46. package/dist/scripts/4273-e42f763f00-lite.chunk.js.map +1 -0
  47. package/dist/scripts/4395-d0815835c8-lite.chunk.js +2 -0
  48. package/dist/scripts/4395-d0815835c8-lite.chunk.js.map +1 -0
  49. package/dist/scripts/4502-af4903784e-lite.chunk.js +2 -0
  50. package/dist/scripts/4502-af4903784e-lite.chunk.js.map +1 -0
  51. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js +2 -0
  52. package/dist/scripts/4850-bb9541d3ed-lite.chunk.js.map +1 -0
  53. package/dist/scripts/5573-4352a3537e-lite.chunk.js +2 -0
  54. package/dist/scripts/5573-4352a3537e-lite.chunk.js.map +1 -0
  55. package/dist/scripts/5595-3acc9593bf-lite.chunk.js +2 -0
  56. package/dist/scripts/5595-3acc9593bf-lite.chunk.js.map +1 -0
  57. package/dist/scripts/5606-69c0ca2b97-lite.chunk.js +2 -0
  58. package/dist/scripts/5606-69c0ca2b97-lite.chunk.js.map +1 -0
  59. package/dist/scripts/5877-628732da21-lite.chunk.js +2 -0
  60. package/dist/scripts/5877-628732da21-lite.chunk.js.map +1 -0
  61. package/dist/scripts/5936-cd98109a7b-lite.chunk.js +2 -0
  62. package/dist/scripts/5936-cd98109a7b-lite.chunk.js.map +1 -0
  63. package/dist/scripts/{5940-f335f8c290-lite.chunk.js → 5940-2767b40c40-lite.chunk.js} +2 -2
  64. package/dist/scripts/5940-2767b40c40-lite.chunk.js.map +1 -0
  65. package/dist/scripts/6054-1e9b86d631-lite.chunk.js +2 -0
  66. package/dist/scripts/6054-1e9b86d631-lite.chunk.js.map +1 -0
  67. package/dist/scripts/6138-2ef7ee071a-lite.chunk.js +2 -0
  68. package/dist/scripts/6138-2ef7ee071a-lite.chunk.js.map +1 -0
  69. package/dist/scripts/{624-575b07d922-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
  70. package/dist/scripts/{624-575b07d922-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
  71. package/dist/scripts/6263-8a7931bf51-lite.chunk.js +2 -0
  72. package/dist/scripts/6263-8a7931bf51-lite.chunk.js.map +1 -0
  73. package/dist/scripts/6290-28ae0e8a60-lite.chunk.js +2 -0
  74. package/dist/scripts/6290-28ae0e8a60-lite.chunk.js.map +1 -0
  75. package/dist/scripts/6470-9a700cabce-lite.chunk.js +2 -0
  76. package/dist/scripts/6470-9a700cabce-lite.chunk.js.map +1 -0
  77. package/dist/scripts/6481-035d218a77-lite.chunk.js +2 -0
  78. package/dist/scripts/6481-035d218a77-lite.chunk.js.map +1 -0
  79. package/dist/scripts/6532-59e9abf69d-lite.chunk.js +2 -0
  80. package/dist/scripts/6532-59e9abf69d-lite.chunk.js.map +1 -0
  81. package/dist/scripts/6596-f75129c039-lite.chunk.js +2 -0
  82. package/dist/scripts/6596-f75129c039-lite.chunk.js.map +1 -0
  83. package/dist/scripts/6604-9adec889c7-lite.chunk.js +2 -0
  84. package/dist/scripts/6604-9adec889c7-lite.chunk.js.map +1 -0
  85. package/dist/scripts/6746-3f501b95cf-lite.chunk.js +2 -0
  86. package/dist/scripts/6746-3f501b95cf-lite.chunk.js.map +1 -0
  87. package/dist/scripts/714-c00ad56229-lite.chunk.js +2 -0
  88. package/dist/scripts/714-c00ad56229-lite.chunk.js.map +1 -0
  89. package/dist/scripts/7163-84c2b15394-lite.chunk.js +2 -0
  90. package/dist/scripts/7163-84c2b15394-lite.chunk.js.map +1 -0
  91. package/dist/scripts/7178-ed74c33056-lite.chunk.js +2 -0
  92. package/dist/scripts/7178-ed74c33056-lite.chunk.js.map +1 -0
  93. package/dist/scripts/7223-0bfab7e57a-lite.chunk.js +2 -0
  94. package/dist/scripts/7223-0bfab7e57a-lite.chunk.js.map +1 -0
  95. package/dist/scripts/7234-84c087600e-lite.chunk.js +2 -0
  96. package/dist/scripts/7234-84c087600e-lite.chunk.js.map +1 -0
  97. package/dist/scripts/7267-fd5085f5c9-lite.chunk.js +2 -0
  98. package/dist/scripts/7267-fd5085f5c9-lite.chunk.js.map +1 -0
  99. package/dist/scripts/7633-6c1ffdd082-lite.chunk.js +2 -0
  100. package/dist/scripts/7633-6c1ffdd082-lite.chunk.js.map +1 -0
  101. package/dist/scripts/7679-8f2d6a3487-lite.chunk.js +2 -0
  102. package/dist/scripts/7679-8f2d6a3487-lite.chunk.js.map +1 -0
  103. package/dist/scripts/7757-7e293be936-lite.chunk.js +2 -0
  104. package/dist/scripts/7757-7e293be936-lite.chunk.js.map +1 -0
  105. package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js +2 -0
  106. package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js.map +1 -0
  107. package/dist/scripts/7818-230982fc27-lite.chunk.js +2 -0
  108. package/dist/scripts/7818-230982fc27-lite.chunk.js.map +1 -0
  109. package/dist/scripts/8323-360541a2a8-lite.chunk.js +3 -0
  110. package/dist/scripts/8323-360541a2a8-lite.chunk.js.map +1 -0
  111. package/dist/scripts/8709-c4f1068232-lite.chunk.js +2 -0
  112. package/dist/scripts/8709-c4f1068232-lite.chunk.js.map +1 -0
  113. package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js +2 -0
  114. package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js.map +1 -0
  115. package/dist/scripts/9010-024dcc8f9a-lite.chunk.js +2 -0
  116. package/dist/scripts/9010-024dcc8f9a-lite.chunk.js.map +1 -0
  117. package/dist/scripts/9016-82d7e0afb9-lite.chunk.js +3 -0
  118. package/dist/scripts/9016-82d7e0afb9-lite.chunk.js.map +1 -0
  119. package/dist/scripts/9173-f9708ec0de-lite.chunk.js +2 -0
  120. package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +1 -0
  121. package/dist/scripts/9230-ae200d2bd3-lite.chunk.js +3 -0
  122. package/dist/scripts/9230-ae200d2bd3-lite.chunk.js.map +1 -0
  123. package/dist/scripts/9359-1fb4413e0d-lite.chunk.js +2 -0
  124. package/dist/scripts/9359-1fb4413e0d-lite.chunk.js.map +1 -0
  125. package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
  126. package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
  127. package/dist/scripts/9399-d7a92ce84a-lite.chunk.js +2 -0
  128. package/dist/scripts/9399-d7a92ce84a-lite.chunk.js.map +1 -0
  129. package/dist/scripts/{9478-99486906b9-lite.chunk.js → 9478-abfa7ed3cc-lite.chunk.js} +3 -3
  130. package/dist/scripts/{9478-99486906b9-lite.chunk.js.map → 9478-abfa7ed3cc-lite.chunk.js.map} +1 -1
  131. package/dist/scripts/{953-fd31f9f016-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
  132. package/dist/scripts/{953-fd31f9f016-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
  133. package/dist/scripts/9719-9736913451-lite.chunk.js +3 -0
  134. package/dist/scripts/9719-9736913451-lite.chunk.js.map +1 -0
  135. package/dist/scripts/999-bdc7956050-lite.chunk.js +2 -0
  136. package/dist/scripts/999-bdc7956050-lite.chunk.js.map +1 -0
  137. package/dist/scripts/bundle-9f8729bedb.min.js +3 -0
  138. package/dist/scripts/bundle-9f8729bedb.min.js.map +1 -0
  139. package/package.json +1 -1
  140. package/dist/scripts/1076-10e5ee6c22-lite.chunk.js +0 -2
  141. package/dist/scripts/1076-10e5ee6c22-lite.chunk.js.map +0 -1
  142. package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
  143. package/dist/scripts/1169-9b1c04fd85-lite.chunk.js +0 -2
  144. package/dist/scripts/1169-9b1c04fd85-lite.chunk.js.map +0 -1
  145. package/dist/scripts/1672-672f298d82-lite.chunk.js +0 -3
  146. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +0 -1
  147. package/dist/scripts/1725-075015497e-lite.chunk.js +0 -2
  148. package/dist/scripts/1725-075015497e-lite.chunk.js.map +0 -1
  149. package/dist/scripts/1818-64a145c5fe-lite.chunk.js +0 -2
  150. package/dist/scripts/1818-64a145c5fe-lite.chunk.js.map +0 -1
  151. package/dist/scripts/1820-993521951d-lite.chunk.js +0 -2
  152. package/dist/scripts/1820-993521951d-lite.chunk.js.map +0 -1
  153. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js +0 -2
  154. package/dist/scripts/1891-e80f9f17ee-lite.chunk.js.map +0 -1
  155. package/dist/scripts/1896-32a6eeda5c-lite.chunk.js +0 -2
  156. package/dist/scripts/1896-32a6eeda5c-lite.chunk.js.map +0 -1
  157. package/dist/scripts/193-f08b054631-lite.chunk.js +0 -2
  158. package/dist/scripts/193-f08b054631-lite.chunk.js.map +0 -1
  159. package/dist/scripts/209-de1729d1b1-lite.chunk.js +0 -2
  160. package/dist/scripts/209-de1729d1b1-lite.chunk.js.map +0 -1
  161. package/dist/scripts/2134-bca2f4697e-lite.chunk.js +0 -2
  162. package/dist/scripts/2134-bca2f4697e-lite.chunk.js.map +0 -1
  163. package/dist/scripts/2548-b81ae38f1f-lite.chunk.js +0 -2
  164. package/dist/scripts/2548-b81ae38f1f-lite.chunk.js.map +0 -1
  165. package/dist/scripts/2703-591ccf069c-lite.chunk.js +0 -2
  166. package/dist/scripts/2703-591ccf069c-lite.chunk.js.map +0 -1
  167. package/dist/scripts/3404-171fdee802-lite.chunk.js +0 -2
  168. package/dist/scripts/3404-171fdee802-lite.chunk.js.map +0 -1
  169. package/dist/scripts/3633-66d28be6f8-lite.chunk.js +0 -2
  170. package/dist/scripts/3633-66d28be6f8-lite.chunk.js.map +0 -1
  171. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js +0 -2
  172. package/dist/scripts/3728-d7ecfc6667-lite.chunk.js.map +0 -1
  173. package/dist/scripts/3922-d40b0ce5aa-lite.chunk.js +0 -2
  174. package/dist/scripts/3922-d40b0ce5aa-lite.chunk.js.map +0 -1
  175. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js +0 -2
  176. package/dist/scripts/4182-7aecc28a6f-lite.chunk.js.map +0 -1
  177. package/dist/scripts/4395-64da004753-lite.chunk.js +0 -2
  178. package/dist/scripts/4395-64da004753-lite.chunk.js.map +0 -1
  179. package/dist/scripts/4502-2e30d86385-lite.chunk.js +0 -2
  180. package/dist/scripts/4502-2e30d86385-lite.chunk.js.map +0 -1
  181. package/dist/scripts/5143-b6896dad98-lite.chunk.js +0 -2
  182. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +0 -1
  183. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js +0 -2
  184. package/dist/scripts/5573-6cd98b69f2-lite.chunk.js.map +0 -1
  185. package/dist/scripts/5595-c4397e12a8-lite.chunk.js +0 -2
  186. package/dist/scripts/5595-c4397e12a8-lite.chunk.js.map +0 -1
  187. package/dist/scripts/5606-6c25caedc4-lite.chunk.js +0 -2
  188. package/dist/scripts/5606-6c25caedc4-lite.chunk.js.map +0 -1
  189. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js +0 -2
  190. package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js.map +0 -1
  191. package/dist/scripts/5936-6fe810d3cb-lite.chunk.js +0 -2
  192. package/dist/scripts/5936-6fe810d3cb-lite.chunk.js.map +0 -1
  193. package/dist/scripts/5940-f335f8c290-lite.chunk.js.map +0 -1
  194. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js +0 -2
  195. package/dist/scripts/6054-14d4ceeae3-lite.chunk.js.map +0 -1
  196. package/dist/scripts/6138-21ae042a7b-lite.chunk.js +0 -2
  197. package/dist/scripts/6138-21ae042a7b-lite.chunk.js.map +0 -1
  198. package/dist/scripts/6263-3455286798-lite.chunk.js +0 -2
  199. package/dist/scripts/6263-3455286798-lite.chunk.js.map +0 -1
  200. package/dist/scripts/6290-56412c6663-lite.chunk.js +0 -2
  201. package/dist/scripts/6290-56412c6663-lite.chunk.js.map +0 -1
  202. package/dist/scripts/6415-b29029aa1b-lite.chunk.js +0 -2
  203. package/dist/scripts/6415-b29029aa1b-lite.chunk.js.map +0 -1
  204. package/dist/scripts/6470-6216086d63-lite.chunk.js +0 -2
  205. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +0 -1
  206. package/dist/scripts/6481-899eba8b3d-lite.chunk.js +0 -2
  207. package/dist/scripts/6481-899eba8b3d-lite.chunk.js.map +0 -1
  208. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js +0 -2
  209. package/dist/scripts/6532-a6b65c91a7-lite.chunk.js.map +0 -1
  210. package/dist/scripts/6604-92193d6d68-lite.chunk.js +0 -2
  211. package/dist/scripts/6604-92193d6d68-lite.chunk.js.map +0 -1
  212. package/dist/scripts/6746-b5b2739944-lite.chunk.js +0 -2
  213. package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
  214. package/dist/scripts/679-e18e7956d0-lite.chunk.js +0 -2
  215. package/dist/scripts/679-e18e7956d0-lite.chunk.js.map +0 -1
  216. package/dist/scripts/714-432082f4fa-lite.chunk.js +0 -2
  217. package/dist/scripts/714-432082f4fa-lite.chunk.js.map +0 -1
  218. package/dist/scripts/7178-e603ea6b58-lite.chunk.js +0 -2
  219. package/dist/scripts/7178-e603ea6b58-lite.chunk.js.map +0 -1
  220. package/dist/scripts/7223-135cc7d675-lite.chunk.js +0 -2
  221. package/dist/scripts/7223-135cc7d675-lite.chunk.js.map +0 -1
  222. package/dist/scripts/729-c704d587d3-lite.chunk.js +0 -2
  223. package/dist/scripts/729-c704d587d3-lite.chunk.js.map +0 -1
  224. package/dist/scripts/7679-b01da2c09d-lite.chunk.js +0 -2
  225. package/dist/scripts/7679-b01da2c09d-lite.chunk.js.map +0 -1
  226. package/dist/scripts/7757-320e868e90-lite.chunk.js +0 -2
  227. package/dist/scripts/7757-320e868e90-lite.chunk.js.map +0 -1
  228. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js +0 -2
  229. package/dist/scripts/7795-3ca0855d3a-lite.chunk.js.map +0 -1
  230. package/dist/scripts/7818-2eafc5f812-lite.chunk.js +0 -2
  231. package/dist/scripts/7818-2eafc5f812-lite.chunk.js.map +0 -1
  232. package/dist/scripts/8323-99cb03891e-lite.chunk.js +0 -3
  233. package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
  234. package/dist/scripts/8478-0292f02489-lite.chunk.js +0 -2
  235. package/dist/scripts/8478-0292f02489-lite.chunk.js.map +0 -1
  236. package/dist/scripts/8766-bcc7f11eac-lite.chunk.js +0 -2
  237. package/dist/scripts/8766-bcc7f11eac-lite.chunk.js.map +0 -1
  238. package/dist/scripts/8800-335154fe11-lite.chunk.js +0 -2
  239. package/dist/scripts/8800-335154fe11-lite.chunk.js.map +0 -1
  240. package/dist/scripts/8982-63c31685bf-lite.chunk.js +0 -2
  241. package/dist/scripts/8982-63c31685bf-lite.chunk.js.map +0 -1
  242. package/dist/scripts/9016-0c078a39cb-lite.chunk.js +0 -3
  243. package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +0 -1
  244. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js +0 -2
  245. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +0 -1
  246. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +0 -3
  247. package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +0 -1
  248. package/dist/scripts/9308-362f86711f-lite.chunk.js +0 -3
  249. package/dist/scripts/9308-362f86711f-lite.chunk.js.map +0 -1
  250. package/dist/scripts/9359-cc085d48a4-lite.chunk.js +0 -2
  251. package/dist/scripts/9359-cc085d48a4-lite.chunk.js.map +0 -1
  252. package/dist/scripts/9399-2a314327ac-lite.chunk.js +0 -2
  253. package/dist/scripts/9399-2a314327ac-lite.chunk.js.map +0 -1
  254. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js +0 -3
  255. package/dist/scripts/9719-cf7d4172b6-lite.chunk.js.map +0 -1
  256. package/dist/scripts/bundle-fcc536bb54.min.js +0 -3
  257. package/dist/scripts/bundle-fcc536bb54.min.js.map +0 -1
  258. /package/dist/css/{5143-lite-676baa8218.chunk.css → 1063-lite-676baa8218.chunk.css} +0 -0
  259. /package/dist/css/{9173-lite-b361d438f6.chunk.css → 1104-lite-b361d438f6.chunk.css} +0 -0
  260. /package/dist/css/{679-lite-00eb7dadb2.chunk.css → 2952-lite-00eb7dadb2.chunk.css} +0 -0
  261. /package/dist/css/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
  262. /package/dist/css/{9308-lite-a3c7435ba4.chunk.css → 4273-lite-a3c7435ba4.chunk.css} +0 -0
  263. /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.chunk.css} +0 -0
  264. /package/dist/css/{3922-lite-e22262b911.chunk.css → 6596-lite-e22262b911.chunk.css} +0 -0
  265. /package/dist/css/{8766-lite-8c5d7658ec.chunk.css → 7163-lite-8c5d7658ec.chunk.css} +0 -0
  266. /package/dist/css/{1818-lite-5ef1706d69.chunk.css → 7234-lite-5ef1706d69.chunk.css} +0 -0
  267. /package/dist/css/{8478-lite-e22262b911.chunk.css → 9010-lite-e22262b911.chunk.css} +0 -0
  268. /package/dist/css/{6415-lite-707657102b.chunk.css → 9173-lite-707657102b.chunk.css} +0 -0
  269. /package/dist/css/{1820-lite-c88eb54bee.chunk.css → 999-lite-c88eb54bee.chunk.css} +0 -0
  270. /package/dist/scripts/{1379-6f35e2e9bb-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
  271. /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
  272. /package/dist/scripts/{624-575b07d922-lite.chunk.js.LICENSE.txt → 1672-0d1fc90529-lite.chunk.js.LICENSE.txt} +0 -0
  273. /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 4273-e42f763f00-lite.chunk.js.LICENSE.txt} +0 -0
  274. /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
  275. /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 8323-360541a2a8-lite.chunk.js.LICENSE.txt} +0 -0
  276. /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-82d7e0afb9-lite.chunk.js.LICENSE.txt} +0 -0
  277. /package/dist/scripts/{9308-362f86711f-lite.chunk.js.LICENSE.txt → 9230-ae200d2bd3-lite.chunk.js.LICENSE.txt} +0 -0
  278. /package/dist/scripts/{9395-4cf6f3948e-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
  279. /package/dist/scripts/{9478-99486906b9-lite.chunk.js.LICENSE.txt → 9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt} +0 -0
  280. /package/dist/scripts/{953-fd31f9f016-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
  281. /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-9736913451-lite.chunk.js.LICENSE.txt} +0 -0
  282. /package/dist/scripts/{bundle-fcc536bb54.min.js.LICENSE.txt → bundle-9f8729bedb.min.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/9016-0c078a39cb-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/subjects/components/preferences/footer/onboarding-footer.scss","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/footer/OnboardingFooter.tsx","file:///app/packages/libs/shared/src/enums/BulkOnboardingPreferencesState.ts","file:///app/packages/libs/shared/src/apps/subjects/utils/OnboardingHelper.ts","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/libs/shared/src/utils/audience-helper/AudienceStringBuilders.ts","file:///app/packages/libs/shared/src/utils/audience-helper/AudienceHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/preferences/preferences-layout.scss","file:///app/packages/projects/lite/src/apps/settings/components/preferences/PreferencesLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/subjects/components/onboarding-loader/OnboardingLoader.tsx","file:///app/packages/projects/lite/src/apps/subjects/components/onboarding-loader/onboarding-loader.scss","file:///app/packages/projects/lite/src/apps/subjects/utils/OnboardingHelper.tsx","file:///app/node_modules/js-cookie/src/js.cookie.js","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"stickyFooter\":\"rIUL4\",\"nonStickyFooter\":\"PuC_F\"};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\n\nimport styles from './onboarding-footer.scss';\n\nconst SCROLL_TOLERANCE = 50; // value in px\n\ninterface OnboardingFooterProps extends React.PropsWithChildren<unknown> {\n justify?: 'end' | 'center' | 'between';\n}\n\nOnboardingFooter.defaultProps = {\n justify: 'between'\n};\n\nfunction StickyFooter(props: OnboardingFooterProps): JSX.Element {\n const justifyClass = `justify-content-${props.justify}`;\n\n return (\n <div className={`py-3 bg-white ${styles.stickyFooter}`}>\n <div className={`w-75 mx-auto d-flex ${justifyClass}`}>\n {props.children}\n </div>\n </div>\n );\n}\n\nfunction NonStickyFooter(props: OnboardingFooterProps): JSX.Element {\n const mediaQuery = useGetMediaQueryString();\n const widthClass = (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS) ? 'w-100' : 'w-75';\n\n const justifyClass = `justify-content-${props.justify}`;\n\n return (\n <div className={`${widthClass} ${justifyClass} ${styles.nonStickyFooter} d-flex px-3`}>\n {props.children}\n </div>\n );\n}\n\nexport function OnboardingFooter(props: OnboardingFooterProps): JSX.Element {\n const isScrolledToBottom = () => {\n return (window.innerHeight + window.scrollY) >= (document.body.offsetHeight - SCROLL_TOLERANCE);\n };\n\n const [ isSticky, setIsSticky ] = React.useState(false);\n\n React.useEffect(() => setIsSticky(!isScrolledToBottom()), []);\n\n function onViewportChange(): void {\n const shouldSetToSticky = !isScrolledToBottom();\n\n if (isSticky && !shouldSetToSticky) {\n setIsSticky(false);\n return;\n }\n\n if (!isSticky && shouldSetToSticky)\n setIsSticky(true);\n }\n\n const throttledOnViewportChange = FunctionHelper.throttle(onViewportChange, 100);\n\n React.useEffect(() => {\n window.addEventListener('scroll', throttledOnViewportChange);\n return () => window.removeEventListener('scroll', throttledOnViewportChange);\n }, [ isSticky, setIsSticky ]);\n\n useResizeListener(throttledOnViewportChange, throttledOnViewportChange, [ isSticky, setIsSticky ]);\n\n return isSticky\n ? <StickyFooter {...props}>{props.children}</StickyFooter>\n : <NonStickyFooter {...props}>{props.children}</NonStickyFooter>;\n}","export enum BulkOnboardingPreferencesState {\n None = 0,\n AllSubjects = 1,\n AllLevels = 2,\n AllSubjectsAndAllLevels = 3\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { BulkOnboardingPreferencesState } from 'libs/shared/enums/BulkOnboardingPreferencesState';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { Presentation } from 'libs/shared/interfaces';\n\n/**\n * These are all the valid preference steps in the onboarding worflow\n * Steps are displayed in full workflow order from left to right.\n * \n * Important: Not all customers/users will be required to compelete all steps.\n * \n * School-level = presentation selection for K12\n */\nexport type OnboardingStep = 'welcome' | 'school-level' | 'curriculum' | 'audiences' | 'topics' | 'summary' ;\n\nexport const OnboardingHelper = {\n hasManyPresentationTypes(presentations: Presentation[] = []): HashObject {\n let totalAvailableSubjectPresentations = 0;\n let totalAvailableCurriculumPresentations = 0;\n\n presentations?.forEach(p => {\n if (p.type === PresentationType.Subject)\n totalAvailableSubjectPresentations++;\n\n else if (p.type === PresentationType.Curriculum)\n totalAvailableCurriculumPresentations++;\n });\n\n /**\n * The checks for \"> 1\" are done because we _only_ want to display presentation selectors\n * if the user has more than 1 presentation to select from. If they only have 1 available,\n * then that will always be used by default and they don't have to make any decisions.\n */\n return {\n hasManySubjectPresentations: totalAvailableSubjectPresentations > 1,\n hasManyCurriculumPresentations: totalAvailableCurriculumPresentations > 1\n };\n },\n\n getBulkPreferencesState(state: BulkOnboardingPreferencesState): { [key in 'levels' | 'subjects']: boolean } {\n if (state === BulkOnboardingPreferencesState.AllSubjectsAndAllLevels)\n return {\n levels: true,\n subjects: true\n };\n\n return {\n levels: state === BulkOnboardingPreferencesState.AllLevels,\n subjects: state === BulkOnboardingPreferencesState.AllSubjects\n };\n },\n\n hasBulkSelectedLevels(bulkState: BulkOnboardingPreferencesState): boolean {\n return (\n bulkState === BulkOnboardingPreferencesState.AllLevels ||\n bulkState === BulkOnboardingPreferencesState.AllSubjectsAndAllLevels\n );\n },\n\n hasBulkSelectedTopics(bulkState: BulkOnboardingPreferencesState): boolean {\n return (\n bulkState === BulkOnboardingPreferencesState.AllSubjects ||\n bulkState === BulkOnboardingPreferencesState.AllSubjectsAndAllLevels\n );\n },\n\n getNextBulkState(current: BulkOnboardingPreferencesState, managing: 'topics' | 'audiences'): BulkOnboardingPreferencesState {\n const { None, AllSubjects, AllLevels, AllSubjectsAndAllLevels } = BulkOnboardingPreferencesState;\n\n const isManagingTopics = managing === 'topics';\n\n switch (current) {\n case None:\n default:\n return isManagingTopics ? AllSubjects : AllLevels;\n case AllSubjects:\n return isManagingTopics ? None : AllSubjectsAndAllLevels;\n case AllLevels:\n return isManagingTopics ? AllSubjectsAndAllLevels : None;\n case AllSubjectsAndAllLevels:\n return isManagingTopics ? AllLevels : AllSubjects;\n }\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\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","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 { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nconst HAS_NUMBER_REGEX = /\\d/;\nconst COUNT_OFFSET = 1;\n\nexport const AudienceStringBuilders = {\n /**\n * Handles audience sets like:\n * - Year 7, Year 8, etc\n * - Kindergarten, Grade 1, Grade 2, etc\n */\n yearsAndGradesBuilder(audiences: PresentationAudience[]): string {\n /**\n * Create a string with all of the audiences\n */\n const combinedNames = audiences.map(a => a.name).join(' ');\n\n /**\n * Extract all the numbers and matches from the string\n */\n const numberList = combinedNames.split(' ').filter(name => !isNaN(+name)).map(num => +num) || [];\n const wordList = combinedNames.split(' ').filter(name => isNaN(+name)) || [];\n\n // Find an audience that doesn't have a number, like \"Kindergarten\" or \"Foundation\".\n const audienceWithoutNum = audiences.find(p => {\n return !HAS_NUMBER_REGEX.test(p.name);\n });\n\n // Get audience label prefix\n let prefix = wordList.find(name => name !== audienceWithoutNum?.name);\n\n // Pluralise the prefix is there are multiple audiences\n if (audiences.length > 1)\n prefix += 's';\n\n if (audienceWithoutNum && numberList.length)\n return `${prefix} ${audienceWithoutNum.name.charAt(0)} - ${numberList.pop()}`;\n\n /**\n * Build set of logical audience ranges\n */\n const audienceRange = processAudienceRanges(numberList);\n\n return `${prefix} ${audienceRange.join(', ')}`;\n },\n\n internationalSecondaryBuilder(audiences: PresentationAudience[]): string {\n return AudienceStringBuilders.englandSecondaryBuilder(audiences);\n },\n\n scotlandPrimaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n let [firstAudienceLevel] = firstAudience.name.split(' ');\n let [lastAudienceLevel] = lastAudience.name.split(' ');\n\n if (firstAudienceLevel === 'First')\n firstAudienceLevel = '1st';\n\n if (lastAudienceLevel === 'First')\n lastAudienceLevel = '1st';\n\n if (firstAudienceLevel === 'Second')\n firstAudienceLevel = '2nd';\n\n if (lastAudienceLevel === 'Second')\n lastAudienceLevel = '2nd';\n\n if (firstAudienceLevel === lastAudienceLevel)\n return `${firstAudienceLevel} Level`;\n\n return `${firstAudienceLevel} - ${lastAudienceLevel} Level`;\n },\n\n internationalPrimaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n let [firstAudienceLevel] = firstAudience.name.split(' ');\n let [lastAudienceLevel] = lastAudience.name.split(' ');\n\n if (firstAudienceLevel === 'Lower')\n firstAudienceLevel = 'Low';\n\n if (lastAudienceLevel === 'Lower')\n lastAudienceLevel = 'Low';\n\n if (firstAudienceLevel === 'Middle')\n firstAudienceLevel = 'Mid';\n\n if (lastAudienceLevel === 'Middle')\n lastAudienceLevel = 'Mid';\n\n return `${firstAudienceLevel} - ${lastAudienceLevel} Pri`;\n },\n\n /**\n * Handles the english secondary audiences, which can be: Lower Secondary, Upper Secondary, and Advanced\n */\n englandSecondaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n if (lastAudience.name === 'Advanced') {\n const [level] = firstAudience.name.split(' ');\n\n if (level.toLowerCase() === 'lower')\n return 'Lower Sec - Adv';\n\n return 'Upper Sec - Adv';\n }\n\n return 'Lower - Upper Sec';\n },\n\n scotlandSecondaryBuilder(audiences: PresentationAudience[]): string {\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n if (firstAudience.name === lastAudience.name)\n return firstAudience.name;\n\n if (lastAudience.name === 'Senior Phase')\n return `${firstAudience.name} - Senior`;\n\n return 'Third - Fourth Level';\n },\n\n /**\n * Handles the audience set: Reception, Key Stage 1, Lower Key Stage 2, and Upper Key Stage 2\n */\n englandPrimaryBuilder(audiences: PresentationAudience[]): string {\n // The first and last audience will build out the range\n const firstAudience = ArrayHelper.first(audiences);\n const lastAudience = ArrayHelper.last(audiences);\n\n // The first word in the strings will either be \"Upper\", \"Lower\", \"Key\", or \"Reception\"\n const firstAudienceFirstWord = ArrayHelper.first(firstAudience.name.split(' '));\n const lastAudienceFirstWord = ArrayHelper.first(lastAudience.name.split(' '));\n\n // Each audience in this set except for \"Reception\" has a number. Get the numbers for the first and last audiences\n const firstAudienceNumber = firstAudience.name.split(' ').find(word => !isNaN(+word));\n const lastAudienceNumber = lastAudience.name.split(' ').find(word => !isNaN(+word));\n\n // If there's only one audience on the video:\n if (firstAudience === lastAudience) {\n // For these 2 audiences, return the full name as it's short enough already\n if (firstAudienceFirstWord === 'Key' || firstAudienceFirstWord === 'Reception')\n return firstAudience.name;\n\n // For the Upper/Lower key stage audiences, abbreviate the \"key stage\" part to KS1/KS2\n return `${firstAudienceFirstWord} KS${firstAudienceNumber}`;\n }\n\n /**\n * Handle when the object has >1 audience\n */\n\n let firstAudienceString = '';\n let lastAudienceString = '';\n\n // Reception is always shortened to \"R\" when in a range\n if (firstAudienceFirstWord === 'Reception') {\n firstAudienceString = 'R';\n } else {\n // All other audiences will be abbreviated to \"KS1/KS2\"\n firstAudienceString = `KS${firstAudienceNumber}`;\n }\n\n // The last audience will always be a key stage, so abbreviate this too\n lastAudienceString = `KS${lastAudienceNumber}`;\n\n // If the audience range contains both the \"Lower\" and \"Upper\" audiences, abbreviate those and return\n if (firstAudienceFirstWord === 'Lower' && lastAudienceFirstWord === 'Upper') {\n return `L ${firstAudienceString} - U ${lastAudienceString}`;\n }\n\n // Add \"Lower\" and \"Upper\" to the strings if it's needed\n if (firstAudienceFirstWord === 'Lower') {\n firstAudienceString = `Lower ${firstAudienceString}`;\n }\n\n if (lastAudienceFirstWord === 'Upper') {\n lastAudienceString = `Upper ${lastAudienceString}`;\n }\n\n // This handles a case where the range is Reception - Key Stage 1. In which case we don't abbreviate the key stage part to KS1.\n if (lastAudienceFirstWord === 'Key') {\n lastAudienceString = lastAudience.name;\n }\n\n return `${firstAudienceString} - ${lastAudienceString}`;\n }\n};\n\nfunction processAudienceRanges(audienceValues: number[]): string[] {\n /**\n * Lookahead by increments of offset\n */\n const offset = COUNT_OFFSET;\n\n let initialVal; let nextVal;\n let isContinguous: boolean = false;\n\n const ranges: string[] = [];\n\n // Audience values need to be in ascending order\n audienceValues = audienceValues.sort((a, b) => a - b);\n\n let i; let j;\n\n for (i = 0; i < audienceValues.length; i++) {\n j = i + 1;\n\n // Set our lower boundary to compare against\n if (!isContinguous)\n initialVal = audienceValues[i];\n\n nextVal = audienceValues[j];\n\n /**\n * Where the next number is also the next incremental value\n * we're going to continue iterating until the next value\n * is no longer contiguos.\n */\n if (audienceValues[i] + offset === nextVal) {\n isContinguous = true;\n } else if (isContinguous) {\n /**\n * Where we were tracking a contiguous set, format appropriately \n * and store the vals\n */\n\n ranges.push(`${initialVal} - ${audienceValues[i]}`);\n isContinguous = false;\n } else {\n /**\n * Where the values arent contiguous, just store the current value\n */\n\n ranges.push(`${audienceValues[i]}`);\n isContinguous = false;\n }\n }\n\n return ranges;\n}","import { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { Audience, BaseObject, PresentationAudience } from 'libs/shared/interfaces';\n\nimport { AudienceStringBuilders } from './AudienceStringBuilders';\n\nconst DIGIT_REGEX = /([0-9]+)/ig;\nconst SPACE_REGEX = /\\s|\\+/ig;\n\n/**\n * Where there is 1 or less audiences on a presentation, it provides little value to\n * the user's experience, so we'll hide audiences altogether.\n */\nconst MIN_AUDIENCE_THRESHOLD = 1;\n\nexport const AudienceHelper = {\n /**\n * This is needed to sort an object's audiences, as they are not sorted by the backend.\n * To do this, we take the presentation audiences (sorted) and filter them by the object's\n * audiences, leaving behind a sorted array of object audiences.\n */\n getSortedPresentationAudiences(\n objectAudiences: Audience[],\n presentationAudiences: PresentationAudience[]\n ): PresentationAudience[] {\n /**\n * Atm there is a bug in flight's optimize, around multiple parts of the page \n * fetching the same object with a different response. We are filtering out\n * falsey values in our object audience ids until that's fixed. - Sha\n */\n const objectAudienceIds = objectAudiences\n .filter(v => !!v)\n .map(audience => audience.id.toString());\n\n /**\n * Remove audiences that aren't relevant for the user's current presentation\n */\n const filteredAudiences = presentationAudiences.filter(presAudience => {\n return objectAudienceIds.includes(presAudience.masterId.toString());\n });\n\n return filteredAudiences;\n },\n\n /**\n * This function accepts a set of presentation audiences, and returns a single\n * audience where the name is a merged string of the names of all of the audiences passed in.\n *\n * As we add more presentations that have different audience sets, we'll need to extend the `switch`\n * statement below to either include new string builder functions, or to include new presentation IDs\n * for existing string builder functions.\n */\n getMergedPresentationAudienceString(presentationAudiences: PresentationAudience[]): PresentationAudience {\n const { presentationId } = ArrayHelper.first(presentationAudiences);\n\n let mergedAudienceString = '';\n\n switch (+presentationId) {\n // Generic `Name Number`. Sometimes has just name. Examples: Year 12, Grade 4, Kindergarten\n case HardCoded.PresentationIds.DEFAULT:\n case HardCoded.PresentationIds.AU_SECONDARY:\n case HardCoded.PresentationIds.US_ELEMENTARY:\n case HardCoded.PresentationIds.AU_PRIMARY:\n case HardCoded.PresentationIds.STREAMABLE_LEARNING:\n if (presentationAudiences.length === 1)\n return presentationAudiences[0];\n\n mergedAudienceString = AudienceStringBuilders.yearsAndGradesBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.INTERNATIONAL_SECONDARY:\n if (presentationAudiences.length === 1)\n return presentationAudiences[0];\n\n // TODO: Implement this properly\n mergedAudienceString = AudienceStringBuilders.internationalSecondaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.INTERNATIONAL_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.internationalPrimaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.SCOTLAND_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.scotlandPrimaryBuilder(presentationAudiences);\n break;\n\n case HardCoded.PresentationIds.ENGLISH_SECONDARY:\n mergedAudienceString = AudienceStringBuilders.englandSecondaryBuilder(presentationAudiences);\n break;\n\n \n case HardCoded.PresentationIds.SCOTLAND_SECONDARY:\n mergedAudienceString = AudienceStringBuilders.scotlandSecondaryBuilder(presentationAudiences);\n break;\n\n // Key Stage 1, Lower Key Stage 2, etc.\n case HardCoded.PresentationIds.ENGLAND_PRIMARY:\n mergedAudienceString = AudienceStringBuilders.englandPrimaryBuilder(presentationAudiences);\n break;\n\n // These presentations only have 1 audience mapped. These are never shown as badges in the product.\n case HardCoded.PresentationIds.US_MIDDLE:\n case HardCoded.PresentationIds.US_HIGH:\n default:\n break;\n }\n\n if (!mergedAudienceString)\n return null;\n\n return { name: mergedAudienceString } as PresentationAudience;\n },\n\n /**\n * This function assumes the members array passed in is ordered by `name`.\n */\n sortMembersWithDuplicateNamesByAudience(members: BaseObject[]): BaseObject[] {\n // Returns the lowest level audience out of an array of audience objects by looking at the name\n const getLowestAudience = (audiences: Audience[]) => {\n if (!audiences.length)\n return null;\n\n let lowestAudience: Audience;\n let lowestAudienceDigit: number;\n\n audiences.forEach(audience => {\n const digit = +ArrayHelper.first(audience.name.match(DIGIT_REGEX));\n\n if (!lowestAudience) {\n lowestAudience = audience;\n lowestAudienceDigit = digit;\n return;\n }\n\n if (digit < lowestAudienceDigit)\n lowestAudience = audience;\n });\n\n return lowestAudience;\n };\n\n // This is used to track how many times a member's name appears in the collection\n const nameCountMap: HashObject<number> = {};\n\n let sorted: BaseObject[] = [];\n\n members.forEach(member => {\n if (!nameCountMap[member.name]) {\n nameCountMap[member.name] = 1;\n sorted.push(member);\n return;\n }\n\n sorted.push(member);\n nameCountMap[member.name]++;\n\n // Take the slice of duplicates that we want to sort by audience\n const slice = sorted.splice(sorted.length - nameCountMap[member.name]);\n\n // Sort the slice by lowest audience\n const sortedSlice = slice.sort((a: any, b: any) => {\n const firstObjLowestAudience = getLowestAudience(a.subjectPresentationAudiences.data);\n const secondObjLowestAudience = getLowestAudience(b.subjectPresentationAudiences.data);\n\n if (!firstObjLowestAudience && secondObjLowestAudience)\n return 1;\n\n if (!secondObjLowestAudience)\n return -1;\n\n const comparison = firstObjLowestAudience.name.localeCompare(secondObjLowestAudience.name);\n\n if (comparison === 0) return comparison;\n\n return comparison > 0 ? -1 : 1;\n });\n\n sorted = sorted.concat(sortedSlice);\n });\n\n return sorted;\n },\n\n getActiveAudiencesFromParams(audiences: PresentationAudience[], params: HashObject = {}): PresentationAudience[] {\n if (!ObjectHelper.isObject(params) || ObjectHelper.isEmpty(params))\n return;\n\n if (!audiences || !audiences.length)\n return;\n\n if (!AudienceHelper.shouldShowAudiences(audiences))\n return;\n\n // 'a' is shorthand for audience\n let { a } = params;\n\n if (!a)\n return;\n\n // Only a single query param was passed, we'll wrap it in an array\n if (typeof a === 'string')\n a = [a];\n\n const normalizeAudienceName = (audienceName: string) => {\n return audienceName.replace(SPACE_REGEX, '').toLowerCase();\n };\n\n // Build an audience lookup\n const audienceLookup = a.reduce((state: HashObject, audienceStr: string) => {\n state[normalizeAudienceName(audienceStr)] = audienceStr;\n return state;\n }, {});\n\n // Filter out our active audience based on whether their name matches the lookup object\n return audiences.filter((audience: PresentationAudience) => {\n return audienceLookup[normalizeAudienceName(audience.name)];\n });\n },\n\n getAudienceParams(audiences: PresentationAudience[]): HashObject {\n if (!audiences?.length)\n return null;\n\n return { a: audiences.map(a => a.name) };\n },\n\n shouldShowAudiences(audiences: PresentationAudience[] = []): boolean {\n if (!audiences)\n return false;\n\n return audiences.length > MIN_AUDIENCE_THRESHOLD;\n }\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"tabs\":\"oHDjZ\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { OnboardingHelper } from 'apps/subjects/utils/OnboardingHelper';\n\nimport styles from './preferences-layout.scss';\n\nconst namespace = 'settings.preferencesLayout';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype PreferencesLayoutProps = React.PropsWithChildren<{\n availablePresentations: Presentation[];\n audiences: PresentationAudience[];\n}>;\n\nexport function PreferencesLayout(props: PreferencesLayoutProps): JSX.Element {\n const currentAppLink = ContextService.getCurrentRoute()?.appLink;\n\n const isActive = (action: string) => action === currentAppLink?.action;\n\n const triggerAppLink = (action: string) => {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action\n });\n };\n\n function getTabs(): PillTab[] {\n const tabs = [{\n name: getPhrase('topics'),\n active: isActive(Actions.Settings.TOPIC_PREFERENCES),\n onSelect: () => triggerAppLink(Actions.Settings.TOPIC_PREFERENCES)\n }];\n \n const hasSelectableLevels = AudienceHelper.shouldShowAudiences(props.audiences);\n\n if (hasSelectableLevels) {\n tabs.push({\n name: getPhrase('yearGroups'),\n active: isActive(Actions.Settings.AUDIENCE_PREFERENCES),\n onSelect: () => triggerAppLink(Actions.Settings.AUDIENCE_PREFERENCES)\n });\n }\n\n const {\n hasManyCurriculumPresentations,\n hasManySubjectPresentations\n } = OnboardingHelper.hasManyPresentationTypes(props.availablePresentations);\n\n if (hasManyCurriculumPresentations) {\n tabs.push({\n name: getPhrase('curriculum'),\n active: isActive(Actions.Settings.CURRICULUM),\n onSelect: () => triggerAppLink(Actions.Settings.CURRICULUM)\n });\n }\n\n if (hasManySubjectPresentations) {\n tabs.push({\n name: getPhrase('schoolLevel'),\n active: isActive(Actions.Settings.SCHOOL_LEVEL),\n onSelect: () => triggerAppLink(Actions.Settings.SCHOOL_LEVEL)\n });\n }\n\n return tabs;\n }\n\n const tabs = getTabs();\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n {tabs.length > 1 && (\n <PillTabSelector\n tabs={getTabs()}\n className={styles.tabs}\n />\n )}\n\n {props.children}\n </SettingsLayout>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","import React from 'react';\nimport { Spinner } from 'react-bootstrap';\n\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nimport styles from './onboarding-loader.scss';\n\nconst namespace = 'subjects.onboardingLoader';\n\ninterface OnboardingLoaderProps {\n onDone: () => void;\n}\n\nexport function OnboardingLoader(props: OnboardingLoaderProps): JSX.Element {\n React.useEffect(() => {\n window.setTimeout(props.onDone, 2500);\n }, []);\n\n return (\n <div className='d-flex flex-column align-items-center'>\n <div className='py-3'>\n <Spinner as='span' animation='border' role='status' className={styles.spinner} />\n </div>\n\n <h2 className={styles.heading}><Text namespace={namespace} phrase='heading' /></h2>\n <p className={`mb-0 pb-4 text-center ${styles.description}`}>\n <Text namespace={namespace} phrase='info' />\n </p>\n\n <div className='drop-shadow mb-n5'>\n <img\n src={ImageUrls.Onboarding.LOADER}\n alt=''\n role='presentation'\n className='img-fluid'\n />\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"spinner\":\"SVq72\",\"heading\":\"iS5ZE\",\"description\":\"JaUIN\"};","import React from 'react';\nimport Cookies from 'js-cookie';\n\nimport { Core } from 'libs/common/core';\n\nimport { OnboardingHelper as SharedOnboardingHelper, OnboardingStep } from 'libs/shared/apps/subjects/utils/OnboardingHelper';\nimport { DialogHelper } from 'libs/shared/utils/DialogHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { OnboardingLoader } from 'apps/subjects/components/onboarding-loader/OnboardingLoader';\n\nexport const OnboardingHelper = {\n ...SharedOnboardingHelper,\n\n buildAppLink(step: OnboardingStep, redirectUrl?: string): Core.AppLink {\n const application = AppChannels.SUBJECT;\n\n const action = (() => {\n if (step === 'welcome') return Actions.Subjects.ONBOARDING_WELCOME;\n if (step === 'school-level') return Actions.Subjects.ONBOARDING_TOPIC_PRESENTATION;\n if (step === 'curriculum') return Actions.Subjects.ONBOARDING_CURRICULUM_PRESENTATION;\n })();\n\n const appLink: Core.AppLink = { application, action };\n\n if (redirectUrl)\n appLink.params = { redirectUrl };\n\n return appLink;\n },\n\n redirect(redirectUrl: string = ''): void {\n const appLink: Core.AppLink = {\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.ONBOARDING\n };\n\n if (redirectUrl)\n appLink.params = { redirectUrl };\n\n Core.AppLinkHelper.trigger(appLink, { replace: true });\n },\n\n onCompleteOnboardingSuccess(userId: string, redirectUrl: string = '/'): void {\n Cookies.set('_onboardingComplete', userId, { expires: 30 });\n\n /**\n * For users just completing onboarding, we want to do a full page load so that the top nav items\n * can be loaded back in. The top nav items are hidden for new users who are forced through onboarding.\n */\n const onDone = () => Core.LocationUtils.PageLoad(redirectUrl);\n\n // Artificially make the request take longer so that the button spins for longer\n window.setTimeout(() => {\n DialogHelper.render(<OnboardingLoader onDone={onDone} />, {\n size: 'lg',\n dialogClassName: 'rounded-3',\n hideButtons: true,\n centered: true,\n cancelButtonProps: {\n onClick: onDone\n }\n });\n }, 250);\n }\n};\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["SCROLL_TOLERANCE","StickyFooter","props","justifyClass","justify","className","children","NonStickyFooter","mediaQuery","widthClass","OnboardingFooter","isScrolledToBottom","window","innerHeight","scrollY","document","body","offsetHeight","isSticky","setIsSticky","throttledOnViewportChange","FunctionHelper","shouldSetToSticky","addEventListener","removeEventListener","defaultProps","BulkOnboardingPreferencesState","OnboardingHelper","hasManyPresentationTypes","presentations","totalAvailableSubjectPresentations","totalAvailableCurriculumPresentations","forEach","p","type","PresentationType","hasManySubjectPresentations","hasManyCurriculumPresentations","getBulkPreferencesState","state","AllSubjectsAndAllLevels","levels","subjects","AllLevels","AllSubjects","hasBulkSelectedLevels","bulkState","hasBulkSelectedTopics","getNextBulkState","current","managing","None","isManagingTopics","BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","TabContents","tab","count","data","PillTabSelector","ref","containerRef","borderRadius","listClassName","tabs","index","analyticsData","analyticsOptions","onClick","onSelect","onSelectTab","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","HAS_NUMBER_REGEX","AudienceStringBuilders","yearsAndGradesBuilder","audiences","combinedNames","a","join","numberList","split","filter","isNaN","num","wordList","audienceWithoutNum","find","test","prefix","charAt","pop","audienceRange","audienceValues","initialVal","nextVal","i","j","isContinguous","ranges","sort","push","processAudienceRanges","internationalSecondaryBuilder","englandSecondaryBuilder","scotlandPrimaryBuilder","firstAudience","ArrayHelper","lastAudience","firstAudienceLevel","lastAudienceLevel","internationalPrimaryBuilder","toLowerCase","scotlandSecondaryBuilder","englandPrimaryBuilder","firstAudienceFirstWord","lastAudienceFirstWord","firstAudienceNumber","word","lastAudienceNumber","firstAudienceString","lastAudienceString","DIGIT_REGEX","SPACE_REGEX","AudienceHelper","getSortedPresentationAudiences","objectAudiences","presentationAudiences","objectAudienceIds","v","audience","id","toString","presAudience","includes","masterId","getMergedPresentationAudienceString","mergedAudienceString","presentationId","HardCoded","sortMembersWithDuplicateNamesByAudience","members","getLowestAudience","digit","match","lowestAudience","lowestAudienceDigit","nameCountMap","sorted","member","sortedSlice","splice","firstObjLowestAudience","subjectPresentationAudiences","secondObjLowestAudience","comparison","localeCompare","concat","getActiveAudiencesFromParams","params","ObjectHelper","shouldShowAudiences","normalizeAudienceName","audienceName","replace","audienceLookup","reduce","audienceStr","getAudienceParams","getPhrase","LanguageService","PreferencesLayout","currentAppLink","ContextService","isActive","action","triggerAppLink","application","getTabs","availablePresentations","SettingsLayout","heading","namespace","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","some","group","modules","settingsModule","canAccess","headingButton","description","OnboardingLoader","setTimeout","onDone","Spinner","as","animation","role","Text","phrase","src","ImageUrls","alt","buildAppLink","step","redirectUrl","redirect","onCompleteOnboardingSuccess","userId","expires","DialogHelper","dialogClassName","hideButtons","centered","cancelButtonProps","factory","extend","result","arguments","attributes","decode","s","decodeURIComponent","init","converter","api","set","value","path","defaults","Date","toUTCString","JSON","stringify","e","write","encodeURIComponent","String","escape","stringifiedAttributes","attributeName","cookie","get","json","jar","cookies","parts","slice","read","parse","getJSON","remove","withConverter","module","exports"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9226],{66537:(e,t,n)=>{n.d(t,{j:()=>W});var a=n(32735),r=n(92802),i=n(75896),o=n(23201),c=n(82644),s=n(83345),l=n(24833),u=n(99705),m=n(12778),d=new RegExp(/^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/),p=function(e){var t=e.domains,n=e.selectedOption,a={domains:[]};return t.forEach((function(e,r){("allowed"===n||e.domain)&&(e.domain?t.find((function(t,n){return n!==r&&t.domain===e.domain&&e.hasChanged}))?a.domains[r]={domain:"domain-duplicated"}:d.test(e.domain)||(a.domains[r]={domain:"domain-invalid"}):a.domains[r]={domain:"domain-empty"})})),a.domains.length?a:{}},f=n(10874),v=n(35223),b=n(23481),y=n(42328),g=n(36848);const h={domainFieldContainer:"F9EW7"};function E(e){return E="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},E(e)}function S(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=E(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=E(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==E(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var A="settings.domainField",w=b.T.encloseNamespace(A),O={"domain-duplicated":"domainDuplicatedErrorMessage","domain-not-certified":"domainNotCertifiedErrorMessage","domain-invalid":"domainInvalidErrorMessage","domain-empty":"domainEmptyErrorMessage","domain-already-exists":{requestingAccess:"joinRequestsDomainAlreadyExistsErrorMessage",automaticAccess:"accessBehaviourDomainAlreadyExistsErrorMessage"}};function N(e){var t=(0,r.u6)(),n=e.index,i=e.domain,o=e.view,c=e.appLinks,u=e.onChangeDomain,m=e.removeDomainField,d=S(S({},l.C.RequestingAccess,c.automaticAccess.action),l.C.AutomaticAccess,c.requestingAccess.action),p={application:c[o].application,action:d[o],args:c[o].args};function f(e){return(0,r.u9)(t.errors,"domains.".concat(e,".domain"))}return a.createElement("div",{className:h.domainFieldContainer},a.createElement(y.w,{type:"text",name:"domains.".concat(n,".domain"),className:"form-control form-control-lg ".concat(f(n)?"is-invalid":""),placeholder:w("domainPlaceholder"),value:i.domain,onChange:function(e){return function(e,t){e.preventDefault();var n=Object.assign(Object.assign({},i),{domain:e.currentTarget.value,hasChanged:!0});u(n,t)}(e,n)},onClickClear:function(){return m(n)},autoComplete:"off",showClearButton:0!==n||!!i.domain}),f(n)&&a.createElement("div",{className:"invalid-feedback d-block"},function(e,t){var n=f(e);switch(n){case"domain-duplicated":case"domain-invalid":case"domain-not-certified":case"domain-empty":return a.createElement(s.x,{namespace:A,phrase:O[n],options:{domain:t}});case"domain-already-exists":return a.createElement(a.Fragment,null,a.createElement(s.x,{namespace:A,phrase:O[n][o],options:{domain:t}}),a.createElement(g.F,{appLink:p,className:"text-red text-underline"},a.createElement(s.x,{namespace:A,phrase:"viewLinkText"})),a.createElement("span",null,"."))}}(n,i.domain)))}var C="settings.domainFields";function I(e){var t=(0,r.u6)(),n=t.values.domains,o=e.view,c=e.errors,l=e.appLinks,u=e.addDomainField,m=e.onChangeDomain,d=e.removeDomainField;return a.useEffect((function(){(null==c?void 0:c.length)&&c.forEach((function(e){var a=i.m.findIndex(n,(function(t){return t.hasChanged&&t.domain===e.domain}));t.setFieldError("domains.".concat(a,".domain"),e.errorCode)}))}),[c]),a.createElement(a.Fragment,null,a.createElement(r.F2,{name:"domains",render:function(){return a.createElement(a.Fragment,null,n.length>0&&n.map((function(e,t){return a.createElement(N,{key:t,domain:e,index:t,appLinks:l,onChangeDomain:m,removeDomainField:d,view:o})})))}}),a.createElement("div",null,a.createElement(f.h,{svgName:v.vn.Plus,className:"ms-3 btn btn-link text-info",onClick:u},a.createElement(s.x,{namespace:C,phrase:"addButtonLabel"}))))}var k=n(45140);const T={radioDescription:"Q4JXA"};var j="settings.domainSettingsRadio",x=b.T.encloseNamespace(j),L={automaticAccess:{none:{label:"accessBehaviourNoneLabel",description:"accessBehaviorNoneDescription"},allowed:{label:"accessBehaviourAllowedLabel",description:"accessBehaviourAllowedDescription"}},requestingAccess:{none:{label:"joinRequestsNoneLabel",description:"joinRequestsNoneDescription"},allowed:{label:"joinRequestsAllowedLabel",description:"joinRequestsAllowedDescription"},any:{label:"joinRequestsAnyLabel",description:"joinRequestsAnyDescription"}}};function F(e){var t=e.option,n=e.selectedOption,r=e.view,i=e.hasDescription,o=e.url,c=e.onSelectValue,l=e.children;return a.createElement("div",{className:"mb-3"},a.createElement(k.Z,{type:"radio",id:t,label:x(L[r][t].label),className:"fw-normal",value:t,onChange:function(){return c(t)},checked:n===t}),n===t&&a.createElement(a.Fragment,null,i&&a.createElement("p",{className:"".concat(T.radioDescription," mb-0")},a.createElement(s.x,{namespace:j,phrase:L[r][t].description})," ",!!o&&a.createElement("a",{className:"text-info",target:"_blank",href:o},a.createElement(s.x,{namespace:j,phrase:"learnMore"}))),l))}function R(e){return R="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},R(e)}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function D(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=R(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=R(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==R(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var M="settings.domainSettingsForm",P=D(D({},l.C.RequestingAccess,{none:"joinRequestsNoneInfoMessage",allowed:"joinRequestsAllowedInfoMessage",any:"joinRequestsAnyInfoMessage"}),l.C.AutomaticAccess,{none:"accessBehaviourNoneInfoMessage",allowed:"accessBehaviourAllowedInfoMessage"});function V(e){var t=e.view,n=e.options,c=e.errors,l=e.appLinks,d=(0,r.u6)(),p=d.values,f=p.domains,v=p.selectedOption;function b(e){d.setFieldValue("selectedOption",e),d.setErrors({}),f.length||y()}function y(){var e;d.setFieldValue("domains",[].concat(function(e){if(Array.isArray(e))return q(e)}(e=f)||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 q(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)?q(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.")}(),[{domain:""}]))}function g(e){f.length>1?d.setFieldValue("domains",i.m.removeItemFromIndex(f,e)):d.setFieldValue("domains",i.m.cloneAndReplaceAtIdx(f,e,Object.assign(Object.assign({},f[e]),{domain:""}))),E(e)}function h(e,t){d.setFieldValue("domains",i.m.cloneAndReplaceAtIdx(f,t,e)),E(t)}function E(e){if(d.errors.domains){var t=d.errors.domains,n=i.m.removeItemFromIndex(t,e);d.setErrors(n.filter((function(e){return e})).length?{domains:n}:{})}}return a.createElement(r.l0,null,a.createElement("div",{className:"col-12 col-md-7 card p-3 mb-3"},n.map((function(e){return a.createElement("div",{key:e},"none"===e&&a.createElement(F,{option:e,selectedOption:v,hasDescription:!0,view:t,onSelectValue:b}),"allowed"===e&&a.createElement(F,{option:e,selectedOption:v,view:t,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:b},a.createElement(I,{errors:c,view:t,appLinks:l,addDomainField:y,onChangeDomain:h,removeDomainField:g})),"any"===e&&a.createElement(F,{option:e,view:t,selectedOption:v,hasDescription:!0,url:m.o.getLiteArticle(u.b.AccessSettings,"articles"),onSelectValue:b}))})),a.createElement("div",{className:"d-flex"},a.createElement("div",{className:"rounded p-2 bg-light-blue text-info fw-semibold"},a.createElement(s.x,{namespace:M,phrase:P[t][v]})))),a.createElement(o.A,{isNew:!1,variant:"dark"}))}function W(e){var t=e.initialValues,n=e.view,r=e.options,i=e.errors,o=e.appLinks,s=e.onSaveChanges;return a.createElement(c.n,{initialValues:t,validate:p,validateOnChange:!1,validateOnBlur:!1,onSubmit:s},a.createElement(V,{view:n,options:r,errors:i,appLinks:o}))}},61807:(e,t,n)=>{n.d(t,{L:()=>u});var a=n(32735),r=n(81886),i=n(23481),o=n(65858),c=n(38502),s="settings.domainSettingsTabs",l=i.T.encloseNamespace(s);function u(e){var t=e.active,n=e.appLinks;return a.createElement("div",{className:"mb-3"},a.createElement(c.r,{tabs:[{name:l("requestingAccess"),appLink:n.requestingAccess,active:"requesting-access"===t,analyticsData:{name:l("requestingAccess"),url:r.Q.C$.getHref(n.requestingAccess)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:l("teacherInvites"),appLink:n.teacherInvites,active:"teacher-invites"===t,analyticsData:{name:i.T.getPhrase(s,"teacherInvites"),url:r.Q.C$.getHref(n.teacherInvites)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}},{name:l("automaticAccess"),appLink:n.automaticAccess,active:"automatic-access"===t,analyticsData:{name:i.T.getPhrase(s,"automaticAccess"),url:r.Q.C$.getHref(n.automaticAccess)},analyticsOptions:{actionType:o.Vw.Click,entity:o.py.Url,location:o.LZ.MagicTabs}}]}))}},42328:(e,t,n)=>{n.d(t,{w:()=>i});var a=n(32735);function r(){return a.createElement("svg",{viewBox:"0 0 24 24"},a.createElement("path",{d:"M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z"}))}var i=a.forwardRef((function(e,t){var n=e.onClickClear,i=e.showClearButton,o=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n}(e,["onClickClear","showClearButton"]);return a.createElement("div",{className:"position-relative"},a.createElement("input",Object.assign({},o,{ref:t,className:"".concat(e.className," ").concat("aYpO7")})),(!!e.value||i)&&a.createElement("span",{className:"".concat("ygMgF"," position-absolute cursor-pointer text-secondary"),role:"button",onClick:n},a.createElement("div",{className:"d-inline-block svg-container md"},a.createElement(r,null))))}))},49935:(e,t,n)=>{n.d(t,{Oo:()=>m,b2:()=>d});var a=n(32735),r=n(36848),i=n(86764),o=n(3747),c=n(5859),s=n(35223),l=n(83914),u=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,o=t.active,c=e.withBackIcon;return a.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?a.createElement("strong",null,n):a.createElement(r.F,{appLink:i},c&&a.createElement(l.x,{svgName:s.vn.ChevronLeft,size:l.S.Small}),a.createElement("span",{className:c?"ms-2":""},n)))},m=function(e){var t=e.breadcrumbs,n=(0,o.a)(i.r.XS),r=null==t?void 0:t.length;return!r||n&&r<2?a.createElement(a.Fragment,null):n?a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},a.createElement(u,{breadcrumb:t[r-2],withBackIcon:!0}))):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return a.createElement(u,{key:t,breadcrumb:e})}))))},d=a.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,o.a)(i.r.XS)?a.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):a.createElement("nav",{"aria-label":"breadcrumb"},a.createElement("ol",{className:"breadcrumb m-0 p-0"},c.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return a.createElement("li",{key:t,className:"breadcrumb-item"},a.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},23201:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(32735),r=n(92802),i=n(2102),o=n(83345),c=n(33936),s="shared.formButtons";function l(e){var t=(0,r.u6)(),n=(0,c.l)(t);return a.createElement(i.m,{variant:e.variant||"primary",type:"submit",disabled:!n,size:e.size,className:e.className?e.className:"",showSpinner:t.isSubmitting},e.submitText?a.createElement(a.Fragment,null,e.submitText):a.createElement(o.x,{namespace:s,phrase:e.isNew?"create":"save"}))}},82644:(e,t,n)=>{n.d(t,{b:()=>u,n:()=>l});var a=n(32735),r=n(92802),i=n(91967),o=n(1048);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var s=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function l(e){var t=e.castInitialValues,n=e.castValuesOnSubmit,l=e.initialValues,u=e.onSubmit,m=s(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function(e){if(!e)return{};var t=o.t.deepClone(e);return function e(n){Object.keys(t).forEach((function(a){t.hasOwnProperty(a)&&(o.t.isObject(n[a])?e(n[a]):null===t[a]&&delete t[a])}))}(t),t}(l)):l,p={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.J9,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:function(t,a){var r=a.setSubmitting,i=a.resetForm,o=a.setFieldError,s=n&&e.validationSchema?e.validationSchema.cast(t):t;u(s,(function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(n.reset&&i(),n.errors)for(var a=0,s=Object.entries(n.errors);a<s.length;a++){var l=(e=s[a],t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,c=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(c.push(a.value),c.length!==t);s=!0);}catch(e){l=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw r}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return c(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)?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.")}()),u=l[0],m=l[1];o(u,m)}r(!1)}))},initialStatus:p}),i.q.isFunction(e.children)?function(t){return e.children(t)}:a.Children.count(e.children)?e.children:null)}function u(){return(0,r.u6)()}l.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},38502:(e,t,n)=>{n.d(t,{r:()=>m});var a=n(32735),r=n(49985),i=n(36848),o=n(18559),c=n(11607),s=n(83914),l=n(87432);function u(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(s.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(o.C,{type:o.g.Count,data:e.tab.count})))}function m(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.createElement(i.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},a.createElement(u,{tab:e})):a.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},24833:(e,t,n)=>{var a;n.d(t,{C:()=>a}),function(e){e.RequestingAccess="requestingAccess",e.TeacherInvites="teacherInvites",e.AutomaticAccess="automaticAccess"}(a||(a={}))},23371:(e,t,n)=>{var a;n.d(t,{W:()=>a}),function(e){e.Request="request",e.AutoJoin="auto-join",e.NoRequest="no-request"}(a||(a={}))},99705:(e,t,n)=>{var a,r;n.d(t,{b:()=>r}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(a||(a={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(r||(r={}))},93802:(e,t,n)=>{n.d(t,{y:()=>l});var a=n(75896),r=n(23371);function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t){return!!a.m.findWhere(t,{accessType:e})}function s(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];return e.filter((function(e){return n.some((function(t){return t===e.accessType}))}))}var l={getInitialJoinRequests:function(e){var t=s(e,r.W.Request,r.W.NoRequest);return c(r.W.Request,t)?{selectedOption:"allowed",domains:t}:c(r.W.NoRequest,t)?{selectedOption:"none",domains:[]}:{selectedOption:"any",domains:[]}},getInitialAccessBehaviour:function(e){var t=s(e,r.W.AutoJoin);return c(r.W.AutoJoin,t)?{selectedOption:"allowed",domains:t}:{selectedOption:"none",domains:[]}},formatRequestData:function(e,t,n){var a=t.domains,o=t.selectedOption,c=s(e,r.W.AutoJoin),l=s(e,r.W.Request,r.W.NoRequest);if(n===r.W.Request){var u=[];switch(o){case"none":u=[{accessType:r.W.NoRequest,domain:""}];break;case"allowed":u=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.Request})}))}return[].concat(i(c),i(u))}if(n===r.W.AutoJoin){var m=[];return"allowed"===o&&(m=a.map((function(e){return Object.assign(Object.assign({},e),{accessType:r.W.AutoJoin})}))),[].concat(i(l),i(m))}}}},5859:(e,t,n)=>{function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}n.d(t,{u:()=>i});var r={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},r),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var a=n(32735),r=n(81886),i=n(23481),o=n(49935),c=n(22902),s=n(14070),l=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var d="settings.settingsLayout",p=function(e){var t=(0,c.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var a=r.Q.C$.getCurrentAppLink();return a.application!==l.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===a.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(a.useEffect((function(){n||r.Q.C$.trigger({application:l.O.SETTINGS,action:s.e.Settings.HOME},{replace:!0})}),[n]),!n)return a.createElement(a.Fragment,null);var c,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:l.O.SETTINGS,action:s.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return a.createElement("div",{className:"px-3"},a.createElement("div",{className:"d-flex align-items-center justify-content-between"},a.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),a.createElement("div",{className:"pb-3"},a.createElement(o.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:l.O.SETTINGS,action:s.e.Settings.HOME}}].concat((c=u,function(e){if(Array.isArray(e))return m(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))})),e.description&&a.createElement(a.Fragment,null,a.createElement("p",null,e.description),a.createElement("hr",null)),e.children)}},68598:(e,t,n)=>{n.d(t,{W:()=>s});var a=n(24833),r=n(14070),i=n(97291);function o(e){return o="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},o(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=c(c(c({},a.C.RequestingAccess,{application:i.O.SETTINGS,action:r.e.Settings.REQUESTING_ACCESS}),a.C.TeacherInvites,{application:i.O.SETTINGS,action:r.e.Settings.TEACHER_INVITES}),a.C.AutomaticAccess,{application:i.O.SETTINGS,action:r.e.Settings.AUTOMATIC_ACCESS})},71966:(e,t,n)=>{n.d(t,{B:()=>r});var a=n(99940),r={domains:function(e){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"domains",normalize:!1}},updateDomains:function(e,t){return{url:"{gateway}/v1/customers/".concat(e,"/approved-domains"),key:"update:domains",type:a.k.PUT,data:t,normalize:!1,invalidationKeys:["domains"]}}}},96268:(e,t,n)=>{n.d(t,{W:()=>l});var a=n(32735),r=n(81886),i=n(65858),o=n(37802),c=n(14070),s=n(97291);function l(){var e=(0,o.r)(i.LZ.Settings),t=e.isLoadingSettings,n=e.domainSettings;a.useEffect((function(){t||n||r.Q.C$.trigger({application:s.O.SETTINGS,action:c.e.Settings.HOME},{replace:!0})}),[n,t])}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
2
- //# sourceMappingURL=9226-c236c0eeb1-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/9226-c236c0eeb1-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/utils/validation/DomainSettingsValidationSchema.ts","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/domain-field/DomainField.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-fields/DomainFields.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.scss","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-radio/DomainSettingsRadio.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-form/DomainSettingsForm.tsx","file:///app/packages/libs/shared/src/apps/domain-settings/domain-settings-tabs/DomainSettingsTabs.tsx","file:///app/packages/libs/shared/src/images/components/CloseIcon.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/ClearableInput.tsx","file:///app/packages/libs/shared/src/apps/sign-up/components/general/clear-input/clearable-input.scss","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file:///app/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/AccessSettingsGroup.ts","file:///app/packages/libs/shared/src/enums/AccessType.ts","file:///app/packages/libs/shared/src/enums/SupportArticle.ts","file:///app/packages/libs/shared/src/utils/DomainSettingsFormHelper.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/constants/AccessSettingsAppLinks.ts","file:///app/packages/projects/lite/src/apps/settings/flight-requests/DomainRequests.ts","file:///app/packages/projects/lite/src/apps/settings/hooks/useDomainSettingsSwitch.ts","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["import { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nconst domainRegex = new RegExp(\n /^(?!-)[A-Za-z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Za-z]{2,6}$/\n);\n\nexport const DomainValidation = (values: DomainSettingsModel) => {\n const { domains, selectedOption } = values;\n const errors: { domains: { domain: ApprovedDomainError }[] } = { domains: []};\n\n domains.forEach((domain, index: number) => {\n if (selectedOption !== 'allowed' && !domain.domain)\n return;\n\n if (!domain.domain) {\n errors.domains[index] = { domain: 'domain-empty' };\n return;\n }\n\n const duplicateDomain = domains.find(\n (currentDomain: ApprovedDomain, currentIndex: number) =>\n currentIndex !== index &&\n currentDomain.domain === domain.domain &&\n domain.hasChanged\n );\n if (duplicateDomain) {\n errors.domains[index] = { domain: 'domain-duplicated' };\n return;\n }\n\n if (!domainRegex.test(domain.domain)) {\n errors.domains[index] = { domain: 'domain-invalid' };\n return;\n }\n });\n\n return errors.domains.length ? errors : {};\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"domainFieldContainer\":\"F9EW7\"};","import React from 'react';\nimport { getIn, useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClearableInput } from 'libs/shared/apps/sign-up/components/general/clear-input/ClearableInput';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainError } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\nimport styles from './DomainField.scss';\n\nconst namespace = 'settings.domainField';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype ViewMap = {\n [key in AccessSettingsGroup]?: string;\n}\n\ntype ErrorMessagePhraseMap = {\n [key in ApprovedDomainError]?: string | ViewMap;\n};\n\nconst errorMessagePhraseMap: ErrorMessagePhraseMap = {\n 'domain-duplicated': 'domainDuplicatedErrorMessage',\n 'domain-not-certified': 'domainNotCertifiedErrorMessage',\n 'domain-invalid': 'domainInvalidErrorMessage',\n 'domain-empty': 'domainEmptyErrorMessage',\n 'domain-already-exists': {\n requestingAccess: 'joinRequestsDomainAlreadyExistsErrorMessage',\n automaticAccess: 'accessBehaviourDomainAlreadyExistsErrorMessage'\n }\n};\n\ninterface DomainFieldProps {\n index: number,\n domain: ApprovedDomain,\n view: AccessSettingsGroup\n appLinks: AccessSettingAppLinks\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n}\n\nexport function DomainField(props: DomainFieldProps) {\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { index, domain, view, appLinks, onChangeDomain, removeDomainField } = props;\n \n const actionMap: { [view: string]: string } = {\n [AccessSettingsGroup.RequestingAccess]: appLinks.automaticAccess.action,\n [AccessSettingsGroup.AutomaticAccess]: appLinks.requestingAccess.action\n };\n\n const viewAppLink = {\n application: appLinks[view].application,\n action: actionMap[view],\n args: appLinks[view].args\n };\n \n function getDomainErrorCode(index: number): ApprovedDomainError {\n return getIn(formikProps.errors, `domains.${index}.domain`);\n }\n\n function getDomainErrorMessage(index: number, domain: string): JSX.Element {\n const domainErrorCode = getDomainErrorCode(index);\n switch (domainErrorCode) {\n case 'domain-duplicated':\n case 'domain-invalid':\n case 'domain-not-certified':\n case 'domain-empty':\n return (\n <Text\n namespace={namespace}\n phrase={errorMessagePhraseMap[domainErrorCode] as string}\n options={{ domain }}\n />\n );\n case 'domain-already-exists':\n return (\n <>\n <Text\n namespace={namespace}\n phrase={(errorMessagePhraseMap[domainErrorCode] as ViewMap)[view]}\n options={{ domain }}\n />\n <AppLink\n appLink={viewAppLink}\n className='text-red text-underline'\n >\n <Text namespace={namespace} phrase={'viewLinkText'}/>\n </AppLink>\n <span>.</span>\n </>\n );\n }\n }\n\n function handleChange(e: React.FormEvent<HTMLInputElement>, index: number) {\n e.preventDefault();\n const updatedDomain: ApprovedDomain = { ...domain, domain: e.currentTarget.value, hasChanged: true };\n onChangeDomain(updatedDomain, index);\n }\n\n return (\n <div className={styles.domainFieldContainer}>\n <ClearableInput\n type='text'\n name={`domains.${index}.domain`}\n className={`form-control form-control-lg ${getDomainErrorCode(index) ? 'is-invalid' : ''}`}\n placeholder={getPhrase('domainPlaceholder')}\n value={domain.domain}\n onChange={e => handleChange(e, index)}\n onClickClear={() => removeDomainField(index)}\n autoComplete='off'\n showClearButton={index !== 0 || !!domain.domain}\n />\n {\n getDomainErrorCode(index) &&\n <div className='invalid-feedback d-block'>{getDomainErrorMessage(index, domain.domain)}</div>\n }\n </div>\n );\n}","import React from 'react';\nimport { FieldArray, useFormikContext } from 'formik';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DomainField } from './domain-field/DomainField';\n\nconst namespace = 'settings.domainFields';\n\ninterface DomainFieldsProps {\n errors: ApprovedDomainErrorResponse[],\n view: AccessSettingsGroup,\n appLinks: AccessSettingAppLinks\n addDomainField: () => void,\n onChangeDomain: (domain: ApprovedDomain, index: number) => void,\n removeDomainField: (index: number) => void,\n}\n\nexport function DomainFields(props: DomainFieldsProps) {\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { domains } = formikProps.values;\n const { view, errors, appLinks, addDomainField, onChangeDomain, removeDomainField } = props;\n\n React.useEffect(() => {\n if (errors?.length) {\n errors.forEach(error => {\n const errorIndex = ArrayHelper.findIndex(\n domains,\n domain => domain.hasChanged && domain.domain === error.domain\n );\n formikProps.setFieldError(`domains.${errorIndex}.domain`, error.errorCode);\n });\n }\n }, [errors]);\n\n return (\n <>\n <FieldArray\n name='domains'\n render={() => {\n return (\n <>\n {domains.length > 0 &&\n domains.map((domain: ApprovedDomain, index) => (\n <DomainField\n key={index}\n domain={domain}\n index={index}\n appLinks={appLinks}\n onChangeDomain={onChangeDomain}\n removeDomainField={removeDomainField}\n view={view}\n />\n ))}\n </>\n );\n }}\n />\n <div>\n <IconButton\n svgName={cvSvgLibrary.Plus}\n className={`ms-3 btn btn-link text-info`}\n onClick={addDomainField}\n >\n <Text namespace={namespace} phrase='addButtonLabel' />\n </IconButton>\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"radioDescription\":\"Q4JXA\"};","import React from 'react';\nimport { FormCheck } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nimport styles from './DomainSettingsRadio.scss';\n\nconst namespace = 'settings.domainSettingsRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype RadioPhraseMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: {\n label: string,\n description?: string\n }\n }\n}\n\nconst radioPhraseMap: RadioPhraseMap = {\n automaticAccess: {\n none: {\n label: 'accessBehaviourNoneLabel',\n description: 'accessBehaviorNoneDescription'\n },\n allowed: {\n label: 'accessBehaviourAllowedLabel',\n description: 'accessBehaviourAllowedDescription'\n }\n },\n requestingAccess: {\n none: {\n label: 'joinRequestsNoneLabel',\n description: 'joinRequestsNoneDescription'\n },\n allowed: {\n label: 'joinRequestsAllowedLabel',\n description: 'joinRequestsAllowedDescription'\n },\n any: {\n label: 'joinRequestsAnyLabel',\n description: 'joinRequestsAnyDescription'\n }\n }\n};\n\ninterface DomainSettingsRadioProps {\n option: DomainSettingsOption;\n selectedOption: DomainSettingsOption;\n view: AccessSettingsGroup,\n hasDescription?: boolean;\n url?: string;\n onSelectValue: (option: DomainSettingsOption) => void;\n children?: JSX.Element;\n}\n\nexport function DomainSettingsRadio(props: DomainSettingsRadioProps) {\n const { option, selectedOption, view, hasDescription, url, onSelectValue, children } = props;\n\n return (\n <div className='mb-3'>\n <FormCheck\n type='radio'\n id={option}\n label={getPhrase(radioPhraseMap[view][option].label)}\n className='fw-normal'\n value={option}\n onChange={() => onSelectValue(option)}\n checked={selectedOption === option}\n />\n {selectedOption === option && (\n <>\n {hasDescription && (\n <p className={`${styles.radioDescription} mb-0`}>\n <Text namespace={namespace} phrase={radioPhraseMap[view][option].description} />\n &nbsp;\n {!!url &&\n <a className='text-info' target='_blank' href={url}>\n <Text namespace={namespace} phrase='learnMore' />\n </a>\n }\n </p>\n )}\n {children}\n </>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { Form, FormikErrors, useFormikContext } from 'formik';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { LiteSupportArticle } from 'libs/shared/enums/SupportArticle';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { ApprovedDomain, DomainSettingsModel, DomainSettingsOption } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { ArticleHelper } from 'libs/shared/utils/ArticleHelper';\nimport { DomainValidation } from 'libs/shared/utils/validation/DomainSettingsValidationSchema';\n\nimport { DomainFields } from '../domain-fields/DomainFields';\nimport { DomainSettingsRadio } from '../domain-settings-radio/DomainSettingsRadio';\n\nconst namespace = 'settings.domainSettingsForm';\n\ntype InfoMessageMap = {\n [key in AccessSettingsGroup]?: {\n [key in DomainSettingsOption]?: string;\n }\n}\n\nconst infoMessagePhraseMap: InfoMessageMap = {\n [AccessSettingsGroup.RequestingAccess]: {\n none: 'joinRequestsNoneInfoMessage',\n allowed: 'joinRequestsAllowedInfoMessage',\n any: 'joinRequestsAnyInfoMessage'\n },\n [AccessSettingsGroup.AutomaticAccess]: {\n none: 'accessBehaviourNoneInfoMessage',\n allowed: 'accessBehaviourAllowedInfoMessage'\n }\n};\n\ninterface DomainSettingsFormProps {\n view: AccessSettingsGroup,\n options: DomainSettingsOption[],\n errors: ApprovedDomainErrorResponse[]\n appLinks: AccessSettingAppLinks\n}\n\nfunction DomainSettingsForm(props: DomainSettingsFormProps): JSX.Element {\n const { view, options, errors, appLinks } = props;\n const formikProps = useFormikContext<DomainSettingsModel>();\n const { domains, selectedOption } = formikProps.values;\n\n function onSelectValue(value: DomainSettingsOption): void {\n formikProps.setFieldValue('selectedOption', value);\n formikProps.setErrors({});\n\n if (!domains.length) {\n addDomainField();\n }\n }\n\n function addDomainField() {\n formikProps.setFieldValue('domains', [ ...domains, { domain: '' }]);\n }\n\n function removeDomainField(index: number) {\n if (domains.length > 1) {\n formikProps.setFieldValue('domains', ArrayHelper.removeItemFromIndex(domains, index));\n } else {\n formikProps.setFieldValue('domains', ArrayHelper.cloneAndReplaceAtIdx(domains, index, {\n ...domains[index], domain: '' }));\n }\n clearFieldError(index);\n }\n\n function onChangeDomain(domain: ApprovedDomain, index: number) {\n formikProps.setFieldValue('domains', ArrayHelper.cloneAndReplaceAtIdx(domains, index, domain));\n clearFieldError(index);\n }\n \n function clearFieldError(index: number) {\n if (formikProps.errors.domains) {\n const domainErrors = formikProps.errors.domains as Partial<ApprovedDomain>[];\n const updatedDomainErrors =\n ArrayHelper.removeItemFromIndex<Partial<ApprovedDomain>>(domainErrors, index);\n \n formikProps.setErrors(\n updatedDomainErrors.filter(err => err).length\n ? ({ domains: updatedDomainErrors } as FormikErrors<DomainSettingsModel>)\n : {}\n );\n }\n }\n\n return (\n <Form>\n <div className='col-12 col-md-7 card p-3 mb-3'>\n {options.map(option => (\n <div key={option}>\n {option === 'none' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={selectedOption}\n hasDescription\n view={view}\n onSelectValue={onSelectValue}\n />\n )}\n {option === 'allowed' && (\n <DomainSettingsRadio\n option={option}\n selectedOption={selectedOption}\n view={view}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={onSelectValue}\n >\n <DomainFields\n errors={errors}\n view={view}\n appLinks={appLinks}\n addDomainField={addDomainField}\n onChangeDomain={onChangeDomain}\n removeDomainField={removeDomainField}\n />\n </DomainSettingsRadio>\n )}\n {option === 'any' && (\n <DomainSettingsRadio\n option={option}\n view={view}\n selectedOption={selectedOption}\n hasDescription\n url={ArticleHelper.getLiteArticle(LiteSupportArticle.AccessSettings, 'articles')}\n onSelectValue={onSelectValue}\n />\n )}\n </div>\n ))}\n\n <div className='d-flex'>\n <div className='rounded p-2 bg-light-blue text-info fw-semibold'>\n <Text namespace={namespace} phrase={infoMessagePhraseMap[view][selectedOption]} />\n </div>\n </div>\n </div>\n <FormButtons<DomainSettingsModel> isNew={false} variant='dark'/>\n </Form>\n );\n}\n\ninterface DomainSettingsProps {\n initialValues: DomainSettingsModel,\n view: AccessSettingsGroup,\n options: DomainSettingsOption[],\n errors?: ApprovedDomainErrorResponse[],\n appLinks: AccessSettingAppLinks\n onSaveChanges: (\n values: DomainSettingsModel,\n onDone: (options?: FormSubmissionOptions<DomainSettingsModel>) => void\n ) => void,\n}\n\nexport function DomainSettingsFormWrapper(props: DomainSettingsProps) {\n const { initialValues, view, options, errors, appLinks, onSaveChanges } = props;\n\n return (\n <FormWrapper<DomainSettingsModel>\n initialValues={initialValues}\n validate={DomainValidation}\n validateOnChange={false}\n validateOnBlur={false}\n onSubmit={onSaveChanges}\n >\n <DomainSettingsForm view={view} options={options} errors={errors} appLinks={appLinks}></DomainSettingsForm>\n </FormWrapper>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\n\nconst namespace = 'settings.domainSettingsTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface DomainSettingsTabsProps {\n active: 'requesting-access' | 'teacher-invites' | 'automatic-access',\n appLinks: AccessSettingAppLinks\n}\n\nexport function DomainSettingsTabs(props: DomainSettingsTabsProps): JSX.Element {\n const { active, appLinks } = props;\n \n return (\n <div className='mb-3'>\n <PillTabSelector\n tabs={[{\n name: getPhrase('requestingAccess'),\n appLink: appLinks.requestingAccess,\n active: active === 'requesting-access',\n analyticsData: {\n name: getPhrase('requestingAccess'),\n url: Core.AppLinkHelper.getHref(appLinks.requestingAccess)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('teacherInvites'),\n appLink: appLinks.teacherInvites,\n active: active === 'teacher-invites',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'teacherInvites'),\n url: Core.AppLinkHelper.getHref(appLinks.teacherInvites)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('automaticAccess'),\n appLink: appLinks.automaticAccess,\n active: active === 'automatic-access',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'automaticAccess'),\n url: Core.AppLinkHelper.getHref(appLinks.automaticAccess)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }]}\n />\n </div>\n );\n}","import React from 'react';\n\nexport function CloseIcon(): JSX.Element {\n return (\n <svg viewBox='0 0 24 24'>\n <path d='M11.959 10.641l4.402-4.296a.964.964 0 0 1 1.358 0 .951.951 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.951.951 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .951.951 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.951.951 0 0 1 0-1.35.964.964 0 0 1 1.358 0l4.32 4.361z'/>\n </svg>\n );\n}","import React from 'react';\n\nimport { CloseIcon } from 'libs/shared/images/components/CloseIcon';\n\nimport styles from './clearable-input.scss';\n\ninterface ClearInputProps extends React.HTMLProps<HTMLInputElement> {\n showClearButton?: boolean;\n onClickClear: () => void;\n}\n\nexport const ClearableInput = React.forwardRef((\n props: ClearInputProps,\n ref: React.ForwardedRef<HTMLInputElement>\n) => {\n const { onClickClear, showClearButton, ...inputProps } = props;\n\n return (\n <div className='position-relative'>\n <input\n {...inputProps}\n ref={ref}\n className={`${props.className} ${styles.clearableInput}`}\n />\n {(!!props.value || showClearButton) &&\n <span\n className={`${styles.clearInput} position-absolute cursor-pointer text-secondary`}\n role='button'\n onClick={onClickClear}\n >\n <div className='d-inline-block svg-container md'>\n <CloseIcon />\n </div>\n </span>\n }\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"clearInput\":\"ygMgF\",\"clearableInput\":\"aYpO7\"};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import * as React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\n\nconst namespace = 'shared.formButtons';\n\ninterface FormButtonsProps {\n isNew?: boolean;\n submitText?: string;\n variant?: ButtonProps['variant'];\n size?: FormSize;\n className?: string;\n}\n\nexport function FormButtons<Values extends HashObject>(props: FormButtonsProps): JSX.Element {\n const formikProps = useFormikContext<Values>();\n\n const canSubmit = useCanSubmitForm(formikProps);\n\n return (\n <SpinnerButton\n variant={props.variant || 'primary'}\n type='submit'\n disabled={!canSubmit}\n size={props.size}\n className={props.className ? props.className : ''}\n showSpinner={formikProps.isSubmitting}\n >\n {props.submitText\n ? <>{props.submitText}</>\n : <Text namespace={namespace} phrase={props.isNew ? 'create' : 'save'} />}\n </SpinnerButton>\n );\n}\n","import * as React from 'react';\nimport { Formik, FormikConfig, FormikContextType, FormikErrors, FormikHelpers, FormikProps, FormikValues, useFormikContext } from 'formik';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n/**\n * Note: This currently doesn't support arrays, but the need for arrays as initial\n * form data has not yet come up\n */\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\n if (!initialValues)\n return {} as Values;\n\n const values = ObjectHelper.deepClone(initialValues);\n\n function omitChildValues(child: Values): void {\n Object.keys(values).forEach((key: keyof Values) => {\n if (!values.hasOwnProperty(key))\n return;\n \n if (ObjectHelper.isObject(child[key]))\n omitChildValues(child[key]);\n else if (values[key] === null)\n delete values[key];\n });\n }\n\n omitChildValues(values);\n return values;\n}\n\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\n\ninterface InitialStatus {\n allowInitialSubmit: boolean;\n}\n\nexport type FormSubmissionOptions<FormValues = FormikValues> = {\n reset?: boolean;\n errors?: FormikErrors<FormValues>;\n};\n\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\n initialValues: Partial<FormValues | ApiValues>;\n onSubmit: (data: FormValues, onDone: (options?: FormSubmissionOptions<FormValues>) => void) => void;\n castInitialValues?: boolean; // cast to validationSchema\n castValuesOnSubmit?: boolean; // cast to validationSchema\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\n}\n\nFormWrapper.defaultProps = {\n castInitialValues: true,\n castValuesOnSubmit: true\n};\n\nexport function FormWrapper<\n FormValues extends FormikValues = FormikValues,\n ApiValues extends FormikValues = FormValues,\n ExtraProps = HashObject\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, ...formikProps } = props;\n\n /**\n * If castInitialValues is true, cast initialValues to the validationSchema.\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\n */\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\n : initialValues;\n\n const onSubmitHandler = (\n values: FormValues,\n { setSubmitting, resetForm, setFieldError }: FormikHelpers<FormValues>\n ) => {\n /**\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\n * This is useful for trimming inputs:\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\n */\n const formattedData = castValuesOnSubmit && props.validationSchema\n ? props.validationSchema.cast(values)\n : values;\n\n onSubmit(formattedData, (options: FormSubmissionOptions<FormValues> = {}) => {\n options.reset && resetForm();\n\n if (options.errors) {\n for (const [ key, value ] of Object.entries(options.errors)) {\n setFieldError(key, value);\n }\n }\n\n setSubmitting(false);\n });\n };\n\n const initialStatus: InitialStatus = {\n allowInitialSubmit: props.allowInitialSubmit\n };\n\n return (\n <Formik<FormValues, ExtraProps>\n enableReinitialize\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\n initialValues={formattedInitialValues}\n onSubmit={onSubmitHandler}\n initialStatus={initialStatus}\n >\n {FunctionHelper.isFunction(props.children)\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\n : React.Children.count(props.children) ? props.children : null\n }\n </Formik>\n );\n}\n\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\n return useFormikContext<T>();\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","export enum AccessSettingsGroup {\n RequestingAccess = 'requestingAccess',\n TeacherInvites = 'teacherInvites',\n AutomaticAccess = 'automaticAccess'\n}","export enum AccessType {\n Request = 'request',\n AutoJoin = 'auto-join',\n NoRequest = 'no-request'\n}","// Article name mapped to article ID on support site. Used by `ArticleHelper`\n\nexport enum OnlineSupportArticle {\n AddToPlaylist = '115005679748',\n EditSsoAccounts = '8202508040345',\n\n // LE\n LibraryEditor = '360001974533',\n VideoAccess = '360000153947',\n AddFromOnline = '360011718234',\n UploadToLibraryEditor = '360012069334',\n PBTErrorCodes = '360012421153',\n ManuelReview = '360020004534',\n LibraryReview = '360000163788',\n}\n\nexport enum LiteSupportArticle {\n Integrations = '4407268725529',\n Classrooms = '4405362551833',\n MakeInteractive = '4405370510873',\n EditSsoAccounts = '8202605666073',\n UploadToLibraryEditor = '10672936659865',\n AddFromLite = '10671345281561',\n ManageSsoYearGroups = '14691130889241',\n ContentReview = '18525199576601',\n ContentPermissions = '14692125209497',\n AccessSettings = '22110291468057',\n ContentGuidelines = '24133696186009',\n FoxtelFaq = '24133519542169',\n ViviIntegration = '23826297956377',\n AppleTvIntegration = '25832373739929',\n RssFeed = '32567445635097'\n}\n","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AccessType } from 'libs/shared/enums/AccessType';\nimport { ApprovedDomain, DomainSettingsModel } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nfunction has(accessType: AccessType, domains: ApprovedDomain[]): boolean {\n return !!ArrayHelper.findWhere(domains, { accessType });\n}\n\nfunction getFilteredDomains(domains: ApprovedDomain[], ...accessTypes: AccessType[]): ApprovedDomain[] {\n return domains.filter(domain => accessTypes.some(accessType => accessType === domain.accessType));\n}\n\nexport const DomainSettingsFormHelper = {\n getInitialJoinRequests(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = getFilteredDomains(domains, AccessType.Request, AccessType.NoRequest);\n \n if (has(AccessType.Request, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n if (has(AccessType.NoRequest, filteredDomains))\n return { selectedOption: 'none', domains: []};\n \n return { selectedOption: 'any', domains: []};\n },\n getInitialAccessBehaviour(domains: ApprovedDomain[]): DomainSettingsModel {\n const filteredDomains = getFilteredDomains(domains, AccessType.AutoJoin);\n\n if (has(AccessType.AutoJoin, filteredDomains))\n return { selectedOption: 'allowed', domains: filteredDomains };\n\n return { selectedOption: 'none', domains: []};\n },\n formatRequestData(\n prevDomains: ApprovedDomain[],\n values: DomainSettingsModel,\n accessType: AccessType\n ): ApprovedDomain[] {\n const { domains, selectedOption } = values;\n const prevAutoJoinDomains = getFilteredDomains(prevDomains, AccessType.AutoJoin);\n const prevRequestDomains = getFilteredDomains(prevDomains, AccessType.Request, AccessType.NoRequest);\n\n if (accessType === AccessType.Request) {\n let requestDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'none':\n requestDomains = [{ accessType: AccessType.NoRequest, domain: '' }];\n break;\n case 'allowed':\n requestDomains = domains.map(domain => ({ ...domain, accessType: AccessType.Request }));\n break;\n case 'any':\n }\n return [ ...prevAutoJoinDomains, ...requestDomains ];\n }\n\n if (accessType === AccessType.AutoJoin) {\n let autoJoinDomains: ApprovedDomain[] = [];\n switch (selectedOption) {\n case 'allowed':\n autoJoinDomains = domains.map(domain => ({ ...domain, accessType: AccessType.AutoJoin }));\n break;\n case 'none':\n }\n return [ ...prevRequestDomains, ...autoJoinDomains ];\n }\n }\n};\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","import { Core } from 'libs/common/backbone/index';\n\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const AccessSettingsAppLinks: { [key in AccessSettingsGroup]: Core.AppLink } = {\n [AccessSettingsGroup.RequestingAccess]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.REQUESTING_ACCESS\n },\n [AccessSettingsGroup.TeacherInvites]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.TEACHER_INVITES\n },\n [AccessSettingsGroup.AutomaticAccess]: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.AUTOMATIC_ACCESS\n }\n};\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nimport { ApprovedDomain } from 'libs/shared/interfaces/domains/ApprovedDomain';\n\nexport const DomainRequests = {\n domains(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'domains',\n normalize: false\n };\n },\n updateDomains(\n customerId: string,\n data: ApprovedDomain[]\n ): Flight.Request {\n return {\n url: `{gateway}/v1/customers/${customerId}/approved-domains`,\n key: 'update:domains',\n type: HttpVerbs.PUT,\n data,\n normalize: false,\n invalidationKeys: ['domains']\n };\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function useDomainSettingsSwitch() {\n const { isLoadingSettings, domainSettings } = useSettings(LocationContext.Settings);\n\n React.useEffect(() => {\n if (isLoadingSettings)\n return;\n\n if (!domainSettings) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [ domainSettings, isLoadingSettings ]);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["domainRegex","RegExp","DomainValidation","values","domains","selectedOption","errors","forEach","domain","index","find","currentDomain","currentIndex","hasChanged","test","length","namespace","getPhrase","LanguageService","errorMessagePhraseMap","requestingAccess","automaticAccess","props","formikProps","view","appLinks","onChangeDomain","removeDomainField","actionMap","AccessSettingsGroup","action","viewAppLink","application","args","getDomainErrorCode","className","ClearableInput","type","name","placeholder","value","onChange","e","preventDefault","updatedDomain","currentTarget","handleChange","onClickClear","autoComplete","showClearButton","domainErrorCode","Text","phrase","options","AppLink","appLink","getDomainErrorMessage","DomainFields","addDomainField","error","errorIndex","ArrayHelper","setFieldError","errorCode","render","map","key","IconButton","svgName","onClick","radioPhraseMap","none","label","description","allowed","any","option","hasDescription","url","onSelectValue","children","FormCheck","id","checked","target","href","infoMessagePhraseMap","DomainSettingsForm","setFieldValue","setErrors","clearFieldError","domainErrors","updatedDomainErrors","filter","err","ArticleHelper","FormButtons","isNew","variant","DomainSettingsFormWrapper","initialValues","onSaveChanges","FormWrapper","validate","validateOnChange","validateOnBlur","onSubmit","DomainSettingsTabs","active","tabs","analyticsData","analyticsOptions","actionType","entity","location","teacherInvites","CloseIcon","viewBox","d","ref","inputProps","role","BreadcrumbItem","breadcrumb","withBackIcon","size","S","Breadcrumbs","breadcrumbs","isMobile","b","idx","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","canSubmit","disabled","showSpinner","isSubmitting","submitText","castInitialValues","castValuesOnSubmit","formattedInitialValues","validationSchema","cast","omitChildValues","child","Object","keys","hasOwnProperty","omitNullInitialValues","initialStatus","allowInitialSubmit","enableReinitialize","setSubmitting","resetForm","formattedData","reset","entries","f","useFormikContextWrapper","defaultProps","TabContents","tab","count","data","PillTabSelector","containerRef","borderRadius","listClassName","onSelect","onSelectTab","AccessType","OnlineSupportArticle","LiteSupportArticle","has","accessType","getFilteredDomains","accessTypes","some","DomainSettingsFormHelper","getInitialJoinRequests","filteredDomains","getInitialAccessBehaviour","formatRequestData","prevDomains","prevAutoJoinDomains","prevRequestDomains","requestDomains","autoJoinDomains","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","group","modules","settingsModule","SettingsLayout","canAccess","replace","i","heading","headingButton","AccessSettingsAppLinks","DomainRequests","customerId","normalize","updateDomains","invalidationKeys","useDomainSettingsSwitch","isLoadingSettings","domainSettings"],"sourceRoot":""}
@@ -1,3 +0,0 @@
1
- /*! For license information please see 9230-6dee40b1fb-lite.chunk.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9230],{83657:(e,t,n)=>{n.d(t,{e:()=>s});var r=n(32735),a=n(91967),o=n(10874),i=n(76177),c=n(42735),l=n(86509);function s(e){var t=r.useMemo((function(){return e.actions.sort((function(e,t){return e.order-t.order}))}),[e.actions]),n=[],s=[];t.forEach((function(e){e.button?n.push(e):s.push(e)}));var u="d-flex";return e.className&&(u+=" ".concat(e.className)),n.length||s.length?r.createElement("div",{className:u},n.length?n.map((function(t,n){return r.createElement(r.Fragment,{key:n},function(){if(t.label){var n=a.q.isFunction(t.label)?t.label:function(){return r.createElement(r.Fragment,null,t.label)};return r.createElement(c.K,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,svgSize:e.dropdownToggleSvgSize,className:t.className,tooltip:t.tooltip,showSpinner:t.showSpinner,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled},n())}var l=r.createElement(o.h,{appLink:t.appLink,href:t.href,onClick:t.onClick,svgName:t.svgName,className:t.className,analyticsData:t.analyticsData,analyticsOptions:t.analyticsOptions,openInNewTab:t.openInNewTab,disabled:t.disabled,showBorder:t.showBorder,customSize:e.customSize});return t.tooltip?r.createElement(i.u,{title:t.tooltip,spanHack:!0},l):l}())})):r.createElement(r.Fragment,null),e.sortComponent&&e.sortComponent,s.length?r.createElement(l.m,{actions:s,dropdownToggleClassName:e.actionsDropdownClassName,dropdownToggleSvgSize:e.dropdownToggleSvgSize,fetchMore:e.fetchMore}):r.createElement(r.Fragment,null)):r.createElement(r.Fragment,null)}},86509:(e,t,n)=>{n.d(t,{m:()=>h});var r=n(32735),a=n(91967),o=n(81886),i=n(45157),c=n(49985),l=n(36848),s=n(83914),u=n(76177),m=n(35223);const d={dropdownToggle:"UCAnJ"};function p(){return r.createElement(r.Fragment,null,r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})),r.createElement("div",{style:{padding:"0.53125rem 1rem"}},r.createElement("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})))}function f(e){var t="dropdown-item";return e&&(t+=" ".concat(e)),t}function v(e){var t=a.q.isFunction(e.action.label)?e.action.label:function(){return r.createElement(r.Fragment,null,e.action.label)};if(e.action.appLink)return r.createElement(l.F,{appLink:e.action.appLink,onClick:e.action.onClick,className:f(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions,openInNewTab:e.action.openInNewTab,disabled:e.action.disabled},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t()));function n(t){t.preventDefault(),e.action.analyticsData&&e.action.analyticsOptions&&c.k.logUserAction(e.action.analyticsData,e.action.analyticsOptions),a.q.isFunction(e.action.onClick)&&e.action.onClick(),e.action.href&&o.Q.Ab.PageLoad(e.action.href,e.action.openInNewTab)}return e.action.href?r.createElement("a",{className:f(e.action.className),onClick:n,href:e.action.href},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2 align-middle"}),r.createElement("span",{className:"align-middle"},t())):r.createElement("span",{className:"cursor-pointer ".concat(f(e.action.className)),onClick:n,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&n(e)}},e.action.svgName&&r.createElement(s.x,{svgName:e.action.svgName,className:"d-inline-block svg-container me-2"}),t())}function h(e){if(!e.actions||!e.actions.length)return r.createElement(r.Fragment,null);var t=e.actions.some((function(e){return e.lazyPlaceholder})),n="dropdown";e.className&&(n+=" ".concat(e.className));var a,o="actions-dropdown-".concat(i.Y.getRandomInt()),c="dropdown-toggle px-0 ".concat(d.dropdownToggle);return e.dropdownToggleClassName&&(c+=" ".concat(e.dropdownToggleClassName)),r.createElement("div",{className:n},r.createElement("button",{className:c,type:"button",id:o,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"More actions dropdown",onClick:t?e.fetchMore:null},r.createElement(s.x,{svgName:m.vn.More,size:e.dropdownToggleSvgSize})),r.createElement("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":o},t?r.createElement(p,null):e.actions.map((function(e,t){var n=void 0!==a&&a!==e.group;return a=e.group,e.tooltip?r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(u.u,{title:e.tooltip,spanHack:!0},r.createElement(v,{action:e}))):r.createElement("li",{key:t},n&&r.createElement("hr",{className:"dropdown-divider",role:"separator"}),r.createElement(v,{action:e}))}))))}h.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:s.S.Small}},49935:(e,t,n)=>{n.d(t,{Oo:()=>m,b2:()=>d});var r=n(32735),a=n(36848),o=n(86764),i=n(3747),c=n(5859),l=n(35223),s=n(83914),u=function(e){var t=e.breadcrumb,n=t.name,o=t.appLink,i=t.active,c=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(i?" active":"")},i?r.createElement("strong",null,n):r.createElement(a.F,{appLink:o},c&&r.createElement(s.x,{svgName:l.vn.ChevronLeft,size:s.S.Small}),r.createElement("span",{className:c?"ms-2":""},n)))},m=function(e){var t=e.breadcrumbs,n=(0,i.a)(o.r.XS),a=null==t?void 0:t.length;return!a||n&&a<2?r.createElement(r.Fragment,null):n?r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},r.createElement(u,{breadcrumb:t[a-2],withBackIcon:!0}))):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return r.createElement(u,{key:t,breadcrumb:e})}))))},d=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,i.a)(o.r.XS)?r.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},c.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return r.createElement("li",{key:t,className:"breadcrumb-item"},r.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},61254:(e,t,n)=>{n.d(t,{s:()=>c});var r=n(32735),a=n(42648);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,c=[],l=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw a}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(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)?i(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 i(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 c=r.forwardRef((function(e,t){var n=o(r.useState(e.containerHeight||0),2),i=n[0],c=n[1],l=o(r.useState(0),2),s=l[0],u=l[1],m=r.useRef(null);r.useEffect((function(){var t,n;e.containerHeight||c(null!==(n=null===(t=m.current)||void 0===t?void 0:t.clientHeight)&&void 0!==n?n:0)}),[m.current]);var d,p,f,v=e.items.length,h=Math.ceil(i/e.rowHeight),g=e.rowHeight*v,y=Math.max(0,Math.floor(s/e.rowHeight)-h),b=Math.min(v,y+3*h);return r.createElement("div",{style:(f=null!==(p=null===(d=m.current)||void 0===d?void 0:d.getBoundingClientRect().top)&&void 0!==p?p:0,{height:e.containerHeight||"calc(100vh - ".concat(window.pageYOffset+f+30,"px)"),minHeight:"".concat(5*e.rowHeight,"px"),overflow:"auto"}),ref:m},r.createElement(a.$B,{onScroll:function(e){u(e.currentTarget.scrollTop)},autoHeightMin:g,autoHeightMax:g,ref:t},r.createElement("div",{style:{height:g,paddingTop:y*e.rowHeight}},r.createElement("ul",{className:"w-100 position-relative d-table striped-list list-unstyled no-full-width"},!!e.staticComponentAboveRows&&e.staticComponentAboveRows,function(){for(var t=[],n=y;n<b;){var r=e.items[n];r&&t.push(e.getComponent(r,n)),n++}return t}(),!!e.staticComponentBelowRows&&e.staticComponentBelowRows))))}))},99705:(e,t,n)=>{var r,a;n.d(t,{b:()=>a}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(r||(r={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(a||(a={}))},5859:(e,t,n)=>{function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{u:()=>o});var a={numItems:5,minWidth:50,maxWidth:100},o={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},a),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}},81803:(e,t,n)=>{n.d(t,{d:()=>f});var r=n(32735),a=n(81886),o=n(23481),i=n(49935),c=n(22902),l=n(14070),s=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var d="settings.settingsLayout",p=function(e){var t=(0,c.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var r=a.Q.C$.getCurrentAppLink();return r.application!==s.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===r.action}))}))};function f(e){var t,n=p(e.requiredPermissions);if(r.useEffect((function(){n||a.Q.C$.trigger({application:s.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[n]),!n)return r.createElement(r.Fragment,null);var c,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),r.createElement("div",{className:"pb-3"},r.createElement(i.Oo,{breadcrumbs:[{name:o.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME}}].concat((c=u,function(e){if(Array.isArray(e))return m(e)}(c)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(c)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(c)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))})),e.description&&r.createElement(r.Fragment,null,r.createElement("p",null,e.description),r.createElement("hr",null)),e.children)}},28611:(e,t,n)=>{n.d(t,{i:()=>o});var r=n(32735);const a={numberContainer:"JBRDi"};function o(e){var t=e.number,n=e.children,o=e.className,i=void 0===o?"":o;return r.createElement("div",{className:"d-flex align-items-center mb-3 ".concat(i)},r.createElement("div",{className:"d-flex align-items-center justify-content-center bg-dark rounded-circle ".concat(a.numberContainer)},r.createElement("span",{className:"text-light"},t)),r.createElement("div",{className:"ms-2"},n))}},65271:(e,t,n)=>{n.r(t),n.d(t,{AppleTvSettingsView:()=>ne});var r=n(32735),a=n(23481),o=n(61254),i=n(16714),c=n(69883),l=n(83657),s=n(86509),u=n(83914),m=n(35223),d=n(12399);const p={indicator:"xidrU"};function f(e){return f="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},f(e)}function v(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=f(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==f(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=a.T.encloseNamespace("settings.deviceListItem");function g(e){var t=e.status,n=e.name,a=e.onUnpair,o=e.onRename;return r.createElement("li",{className:"d-flex align-items-center p-2 justify-content-between"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement(u.x,{svgName:m.vn.AppleTv,className:"svg-container me-2"}),r.createElement("div",null,n)),r.createElement("div",{className:"d-flex align-items-center"},r.createElement(E,{status:t}),o&&r.createElement(l.e,{actions:[{svgName:m.vn.Edit,className:"btn btn-link svg-container",onClick:o,button:!0,disabled:t!==d.L.Available}]}),r.createElement(s.m,{actions:[{label:h("unpairActionButton"),onClick:a}],dropdownToggleClassName:"btn ms-3"})))}var y=v(v(v({},d.L.Available,"bg-success"),d.L.Busy,"bg-warning"),d.L.Offline,"bg-gray-500"),b=v(v(v({},d.L.Available,h("availableStatusLabel")),d.L.Busy,h("busyStatusLabel")),d.L.Offline,h("offlineStatusLabel"));function E(e){var t,n,a=null!==(t=y[e.status])&&void 0!==t?t:"",o=null!==(n=b[e.status])&&void 0!==n?n:"";return r.createElement("div",{className:"d-flex align-items-center me-4"},r.createElement("div",{className:"".concat(p.indicator," ").concat(a," me-2")}),r.createElement("span",null,o))}var w=n(81803),N=n(20354),S=n(1666),x=n(2744),k=n(31949),A=n(86086);function T(e,t){if(e){if("string"==typeof e)return L(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?L(e,t):void 0}}function L(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 C=n(89725),I=n(11607),O=n(86794),j=n(83345),P=n(99705),F=n(12778),M=n(99742),_=n(28611);const B={deviceInput:"hkziS",pinInput:"_oWnE",image:"s5WWG",inputWrapper:"BTvzv"};var D="settings.appleTv.pairDeviceView",H=a.T.encloseNamespace(D);function R(e){var t=e.deviceName,n=e.pin,a=e.onDeviceNameChange,o=e.onPinChange,i=e.onActivate;return r.createElement("div",{className:"rounded-3 px-4 py-3 mt-3 bg-light-blue d-flex flex-row justify-content-between"},r.createElement("div",null,r.createElement("p",{className:"fw-bold"},r.createElement(j.x,{namespace:D,phrase:"instructionsHeading"})),r.createElement(_.i,{number:1},r.createElement("div",{className:"d-flex align-items-center flex-wrap"},r.createElement(j.x,{namespace:D,phrase:"instructionsStep1Fragment1"}),r.createElement(O.b,{className:"mx-1",size:u.S.Small},r.createElement(C.F,null)),r.createElement(j.x,{namespace:D,phrase:"instructionsStep1Fragment2"}),r.createElement(u.x,{svgName:m.vn.AppleTv,size:u.S.Small}),r.createElement(j.x,{namespace:D,phrase:"instructionsStep1Fragment3"}))),r.createElement(_.i,{number:2},r.createElement(j.x,{namespace:D,phrase:"instructionsStep2"})),r.createElement("div",{className:"".concat(B.inputWrapper," d-flex align-items-end form-group flex-wrap")},r.createElement("div",{className:"d-flex flex-column me-2 mb-3"},r.createElement("label",{className:"fw-bold mb-1",htmlFor:"create"},r.createElement(j.x,{namespace:D,phrase:"deviceNameInputLabel"})),r.createElement("input",{id:"device",className:"form-control form-control-md ".concat(B.deviceInput),value:t,onChange:function(e){return a(e.target.value)},autoComplete:"off",placeholder:H("deviceNameInputPlaceholder")})),r.createElement("div",{className:"d-flex flex-column me-2 mb-3"},r.createElement("label",{className:"fw-bold mb-1",htmlFor:"create"},r.createElement(j.x,{namespace:D,phrase:"pinInputLabel"})),r.createElement("input",{id:"pin",className:"form-control form-control-md ".concat(B.pinInput),value:n,onChange:function(e){return o(e.target.value)},autoComplete:"off",placeholder:"1234"})),r.createElement(I.L,{onClick:i,className:"btn btn-dark mb-3"},r.createElement(j.x,{namespace:D,phrase:"activateButton"}))),r.createElement(_.i,{number:3},r.createElement(j.x,{namespace:D,phrase:"instructionsStep3Fragment1"}),r.createElement(u.x,{svgName:m.vn.Cast,size:u.S.Small}),r.createElement(j.x,{namespace:D,phrase:"instructionsStep3Fragment2"})),r.createElement("a",{href:F.o.getLiteArticle(P.b.AppleTvIntegration),target:"_blank",className:"text-info mt-2"},r.createElement(j.x,{namespace:D,phrase:"learnMore"}))),r.createElement("div",{className:"ms-2 d-flex align-items-center"},r.createElement("img",{className:B.image,role:"presentation",src:M.W.Devices.APPLE_TV})))}var z=n(9111),G=n(13876);function U(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 W="settings.appleTvSettings.renameDevicePopup",$=a.T.encloseNamespace(W);function q(e){var t,n,a=(t=r.useState(e.name),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,c=[],l=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw a}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?U(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=a[0],i=a[1],c=o.trim();return r.createElement(z.G,{title:$("title"),closePopup:e.closePopup},r.createElement("div",{className:"form-group"},r.createElement("label",{className:"fw-bold mb-2",htmlFor:"edit"},r.createElement(j.x,{namespace:W,phrase:"inputLabel"})),r.createElement("input",{value:o,onChange:function(e){return i(e.target.value)},className:"form-control form-control-md mb-4",autoFocus:!0,placeholder:$("inputPlaceholder")})),r.createElement(G.u,null,r.createElement(G.u.Cancel,{onClick:e.closePopup}),r.createElement(G.u.Submit,{disabled:!c,variant:"dark",text:$("saveButton"),onClick:function(){return e.onRename(c)},showSpinner:e.showSpinner})))}var V="settings.appleTvSettings.unpairDevicePopup",Y=a.T.encloseNamespace(V);function Q(e){var t=e.closePopup,n=e.showSpinner,a=e.deviceName,o=e.onUnpair;return r.createElement(z.G,{title:Y("title"),closePopup:t},r.createElement("p",null,r.createElement(j.x,{namespace:V,phrase:"warning",options:{name:a}})),r.createElement("p",null,r.createElement(j.x,{namespace:V,phrase:"subWarning"})),r.createElement(G.u,null,r.createElement(G.u.Cancel,{onClick:t}),r.createElement(G.u.Submit,{variant:"danger",text:Y("unpairButton"),onClick:o,showSpinner:n})))}function J(e){return J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J(e)}function K(){K=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",l=o.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 o=t&&t.prototype instanceof g?t:g,i=Object.create(o.prototype),c=new I(r||[]);return a(i,"_invoke",{value:A(e,n,c)}),i}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",p="suspendedYield",f="executing",v="completed",h={};function g(){}function y(){}function b(){}var E={};s(E,i,(function(){return this}));var w=Object.getPrototypeOf,N=w&&w(w(O([])));N&&N!==n&&r.call(N,i)&&(E=N);var S=b.prototype=g.prototype=Object.create(E);function x(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function n(a,o,i,c){var l=m(e[a],e,o);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==J(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,c)}),(function(e){n("throw",e,i,c)})):t.resolve(u).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,c)}))}c(l.arg)}var o;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return o=o?o.then(a,a):a()}})}function A(t,n,r){var a=d;return function(o,i){if(a===f)throw Error("Generator is already running");if(a===v){if("throw"===o)throw i;return{value:e,done:!0}}for(r.method=o,r.arg=i;;){var c=r.delegate;if(c){var l=T(c,r);if(l){if(l===h)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===d)throw a=v,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=f;var s=m(t,n,r);if("normal"===s.type){if(a=r.done?v:p,s.arg===h)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(a=v,r.method="throw",r.arg=s.arg)}}}function T(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=m(a,t.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var i=o.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function L(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 C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function I(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function O(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,o=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 o.next=o}}throw new TypeError(J(t)+" is not iterable")}return y.prototype=b,a(S,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=s(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s(e,l,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(k.prototype),s(k.prototype,c,(function(){return this})),t.AsyncIterator=k,t.async=function(e,n,r,a,o){void 0===o&&(o=Promise);var i=new k(u(e,n,r,a),o);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},x(S),s(S,l,"Generator"),s(S,i,(function(){return this})),s(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,I.prototype={constructor:I,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(C),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return c.type="throw",c.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.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 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,h):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),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;C(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),h}},t}function X(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,o,i,c=[],l=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw a}}return c}}(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 ee=function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{l(r.next(e))}catch(e){o(e)}}function c(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}l((r=r.apply(e,t||[])).next())}))},te=a.T.encloseNamespace("settings.appleTv");function ne(){var e=function(){var e,t,n,a,o=(n=r.useState([]),a=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,o,i,c=[],l=!0,s=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw a}}return c}}(n,a)||T(n,a)||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.")}()),i=o[0],c=o[1],l=r.useRef(),s=N.a.useGetFetchAsync(),u=N.a.useBasicFetch(k.N.currentUser()),m=N.a.useBasicFetch((null===(e=u.data)||void 0===e?void 0:e.isAuthenticated)&&S.h.customer(u.data.customerId));return r.useEffect((function(){var e,t,n;if((null===(e=u.data)||void 0===e?void 0:e.isAuthenticated)&&m.hasCompleted)return l.current=new A.w({fetchAccessToken:function(){return s(x.z.getAppleTvAccessToken())},userId:parseInt(null===(t=u.data)||void 0===t?void 0:t.id)}),null===(n=l.current)||void 0===n||n.on("deviceschange",(function(){var e;c(function(e){return function(e){if(Array.isArray(e))return L(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(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.")}()}(null===(e=l.current)||void 0===e?void 0:e.getDevices()))})),function(){var e;return null===(e=l.current)||void 0===e?void 0:e.dispose()}}),[null===(t=u.data)||void 0===t?void 0:t.isAuthenticated,m.hasCompleted]),{devices:i,pair:function(e){var t,n;return null===(t=l.current)||void 0===t?void 0:t.pair(Object.assign(Object.assign({},e),{crmId:parseInt(null===(n=m.data)||void 0===n?void 0:n.crmId)}))},unpair:function(e){var t;return null===(t=l.current)||void 0===t?void 0:t.unpair(e)},rename:function(e){return null==l?void 0:l.current.renameDevice(e)}}}(),t=e.devices,n=e.pair,a=e.unpair,l=e.rename,s=X(r.useState(""),2),u=s[0],m=s[1],d=X(r.useState(""),2),p=d[0],f=d[1],v=X(r.useState(),2),h=v[0],y=v[1],b=X(r.useState(),2),E=b[0],C=b[1],I=X(r.useState(!1),2),O=I[0],j=I[1],P=(0,c.Z)();return r.createElement(w.d,{heading:te("heading"),breadcrumbs:[te("heading")],requiredPermissions:i.C.ManageIntegrations},h&&r.createElement(q,{name:h.name,showSpinner:O,onRename:function(e){return function(e,t){return ee(this,void 0,void 0,K().mark((function n(){return K().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,j(!0),n.next=4,l({deviceId:e,deviceName:t});case 4:y(void 0),P.success(te("deviceRenamingSuccessMessage")),n.next=12;break;case 8:n.prev=8,n.t0=n.catch(0),console.error(n.t0),P.error(te("deviceRenamingErrorMessage"));case 12:return n.prev=12,j(!1),n.finish(12);case 15:case"end":return n.stop()}}),n,null,[[0,8,12,15]])})))}(h.id,e)},closePopup:function(){return y(void 0)}}),E&&r.createElement(Q,{showSpinner:O,deviceName:E.name,onUnpair:function(){return function(e){return ee(this,void 0,void 0,K().mark((function t(){return K().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,j(!0),t.next=4,a(e);case 4:C(void 0),P.success(te("deviceUnpairingSuccessMessage")),t.next=12;break;case 8:t.prev=8,t.t0=t.catch(0),console.error(t.t0),P.error(te("deviceUnpairingErrorMessage"));case 12:return t.prev=12,j(!1),t.finish(12);case 15:case"end":return t.stop()}}),t,null,[[0,8,12,15]])})))}(E.id)},closePopup:function(){return C(void 0)}}),r.createElement(R,{deviceName:u,pin:p,onDeviceNameChange:m,onPinChange:f,onActivate:function(){return ee(this,void 0,void 0,K().mark((function e(){var t,r;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,t=u.trim(),r=p.trim(),t){e.next=5;break}return e.abrupt("return");case 5:if(r){e.next=7;break}return e.abrupt("return");case 7:return e.next=9,n({deviceName:t,pin:r});case 9:m(""),f(""),P.success(te("devicePairingSuccessMessage")),e.next=18;break;case 14:e.prev=14,e.t0=e.catch(0),console.error(e.t0),P.error(te("devicePairingErrorMessage"));case 18:case"end":return e.stop()}}),e,null,[[0,14]])})))}}),t.length?r.createElement("h2",{className:"h5 mt-4"},te("activatedListHeading")):null,r.createElement(o.s,{items:t,rowHeight:55,getComponent:function(e){return r.createElement(g,{key:e.id,name:e.name,status:e.status,onUnpair:function(){return C(e)}})}}))}},95569:(e,t,n)=>{n.d(t,{Ds:()=>a,P2:()=>r});var r=function(e,t){var n=window.performance.now();return function(){var r=window.performance.now();r-n>=t&&(e.apply(void 0,arguments),n=r)}},a=function(e,t,n){var r,a=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:window,i=function(){for(var i=arguments.length,c=new Array(i),l=0;l<i;l++)c[l]=arguments[l];var s=!1,u=function(){r=null,u=null,e.apply(this,c)};return!r&&n&&(e.apply(a,c),s=!0),o.clearTimeout(r),r=o.setTimeout(u,t),s};return i.cancel=function(){o.clearTimeout(r),r=null},i}}}]);
3
- //# sourceMappingURL=9230-6dee40b1fb-lite.chunk.js.map