@clickview/lite 0.50.0 → 0.50.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{6846-lite-db93efd058.chunk.css → 1850-lite-dca6b9e86d.chunk.css} +1 -0
  3. package/dist/css/{2137-lite-6d16d5d7c2.chunk.css → 2137-lite-7045732fc8.chunk.css} +2 -2
  4. package/dist/css/{2795-lite-1e800fdd04.chunk.css → 2795-lite-1641e6fbf9.chunk.css} +2 -2
  5. package/dist/css/{458-lite-ecaf4729d3.chunk.css → 3515-lite-c8a3139b8b.chunk.css} +2 -2
  6. package/dist/css/{8960-lite-a80ad92ea7.chunk.css → 4489-lite-7d5d204d0c.chunk.css} +8 -7
  7. package/dist/css/{3515-lite-ecaf4729d3.chunk.css → 458-lite-c8a3139b8b.chunk.css} +2 -2
  8. package/dist/css/{5242-lite-512783e2fb.chunk.css → 5242-lite-58cdcd1ec4.chunk.css} +2 -2
  9. package/dist/css/{5446-lite-b68e159c6c.chunk.css → 5446-lite-ae2395342f.chunk.css} +2 -2
  10. package/dist/css/6102-lite-6e94a699ed.chunk.css +39 -0
  11. package/dist/css/{1437-lite-b847c9e2b6.chunk.css → 6415-lite-707657102b.chunk.css} +1 -1
  12. package/dist/css/{9839-lite-53b02845a4.chunk.css → 6850-lite-769c93cb9e.chunk.css} +16 -16
  13. package/dist/css/{7987-lite-7006eb4ded.chunk.css → 7987-lite-94679244a2.chunk.css} +2 -2
  14. package/dist/css/{355-lite-e474c8ddce.chunk.css → 8192-lite-8721e2ed68.chunk.css} +8 -7
  15. package/dist/css/{8316-lite-f60e236048.chunk.css → 8316-lite-9083a6565c.chunk.css} +2 -2
  16. package/dist/css/{9417-lite-f60e236048.chunk.css → 9417-lite-9083a6565c.chunk.css} +2 -2
  17. package/dist/css/{9620-lite-b202aa1d5c.chunk.css → 9620-lite-d77e9ad59b.chunk.css} +1 -1
  18. package/dist/css/{7187-lite-db93efd058.chunk.css → 9818-lite-dca6b9e86d.chunk.css} +1 -0
  19. package/dist/css/{8139-lite-5511af77bf.chunk.css → 986-lite-3bf6e93049.chunk.css} +1 -0
  20. package/dist/css/{lite-app-cf9b57ee91.css → lite-app-28b7b96628.css} +8 -6
  21. package/dist/languages/en.json +1 -1
  22. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js → 1080-362271a654-lite.chunk.js} +2 -2
  23. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js.map → 1080-362271a654-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/1169-3df974a8eb-lite.chunk.js +2 -0
  25. package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js → 1285-818f4ed377-lite.chunk.js} +1 -1
  27. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js.map → 1285-818f4ed377-lite.chunk.js.map} +1 -1
  28. package/dist/scripts/1313-455608bc46-lite.chunk.js +2 -0
  29. package/dist/scripts/1313-455608bc46-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js → 1379-3a1ba4b4d9-lite.chunk.js} +3 -3
  31. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.map → 1379-3a1ba4b4d9-lite.chunk.js.map} +1 -1
  32. package/dist/scripts/{1518-be314d1248-lite.chunk.js → 1518-b808d8043f-lite.chunk.js} +2 -2
  33. package/dist/scripts/1518-b808d8043f-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js → 1617-e1735deb2a-lite.chunk.js} +1 -1
  35. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js.map → 1617-e1735deb2a-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/1672-672f298d82-lite.chunk.js +3 -0
  37. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +1 -0
  38. package/dist/scripts/1750-a525866169-lite.chunk.js +2 -0
  39. package/dist/scripts/1750-a525866169-lite.chunk.js.map +1 -0
  40. package/dist/scripts/1818-74a3d26afd-lite.chunk.js +2 -0
  41. package/dist/scripts/1818-74a3d26afd-lite.chunk.js.map +1 -0
  42. package/dist/scripts/1820-68114ca994-lite.chunk.js +2 -0
  43. package/dist/scripts/1820-68114ca994-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js → 1863-618c9bd7af-lite.chunk.js} +1 -1
  45. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js.map → 1863-618c9bd7af-lite.chunk.js.map} +1 -1
  46. package/dist/scripts/1905-af9a8f8824-lite.chunk.js +2 -0
  47. package/dist/scripts/1905-af9a8f8824-lite.chunk.js.map +1 -0
  48. package/dist/scripts/2004-4e2d98041c-lite.chunk.js +3 -0
  49. package/dist/scripts/2004-4e2d98041c-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{209-148abe2aa1-lite.chunk.js → 209-4a54845452-lite.chunk.js} +2 -2
  51. package/dist/scripts/209-4a54845452-lite.chunk.js.map +1 -0
  52. package/dist/scripts/2137-093f479ff9-lite.chunk.js +2 -0
  53. package/dist/scripts/2137-093f479ff9-lite.chunk.js.map +1 -0
  54. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js +2 -0
  55. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js.map +1 -0
  56. package/dist/scripts/2703-64f709f0d0-lite.chunk.js +2 -0
  57. package/dist/scripts/2703-64f709f0d0-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js → 2795-0616748349-lite.chunk.js} +1 -1
  59. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js.map → 2795-0616748349-lite.chunk.js.map} +1 -1
  60. package/dist/scripts/2877-40bb796d59-lite.chunk.js +2 -0
  61. package/dist/scripts/2877-40bb796d59-lite.chunk.js.map +1 -0
  62. package/dist/scripts/3020-2b9042238c-lite.chunk.js +2 -0
  63. package/dist/scripts/3020-2b9042238c-lite.chunk.js.map +1 -0
  64. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js → 3070-fb8eb47716-lite.chunk.js} +1 -1
  65. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js.map → 3070-fb8eb47716-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/3231-65bbddef35-lite.chunk.js +2 -0
  67. package/dist/scripts/3231-65bbddef35-lite.chunk.js.map +1 -0
  68. package/dist/scripts/3403-12c460d3f6-lite.chunk.js +2 -0
  69. package/dist/scripts/3403-12c460d3f6-lite.chunk.js.map +1 -0
  70. package/dist/scripts/3515-4de2fd7070-lite.chunk.js +2 -0
  71. package/dist/scripts/3515-4de2fd7070-lite.chunk.js.map +1 -0
  72. package/dist/scripts/3645-72ca9f63df-lite.chunk.js +3 -0
  73. package/dist/scripts/3645-72ca9f63df-lite.chunk.js.map +1 -0
  74. package/dist/scripts/3895-a54621a8c4-lite.chunk.js +2 -0
  75. package/dist/scripts/3895-a54621a8c4-lite.chunk.js.map +1 -0
  76. package/dist/scripts/458-35c635a2ce-lite.chunk.js +2 -0
  77. package/dist/scripts/458-35c635a2ce-lite.chunk.js.map +1 -0
  78. package/dist/scripts/4690-d77e912b9b-lite.chunk.js +2 -0
  79. package/dist/scripts/4690-d77e912b9b-lite.chunk.js.map +1 -0
  80. package/dist/scripts/{4718-6df54d3039-lite.chunk.js → 4718-2b58aa560d-lite.chunk.js} +1 -1
  81. package/dist/scripts/{4718-6df54d3039-lite.chunk.js.map → 4718-2b58aa560d-lite.chunk.js.map} +1 -1
  82. package/dist/scripts/5143-b6896dad98-lite.chunk.js +2 -0
  83. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +1 -0
  84. package/dist/scripts/5229-036b4d7a22-lite.chunk.js +2 -0
  85. package/dist/scripts/5229-036b4d7a22-lite.chunk.js.map +1 -0
  86. package/dist/scripts/{5242-e8f004818c-lite.chunk.js → 5242-2d752ff85e-lite.chunk.js} +1 -1
  87. package/dist/scripts/{5242-e8f004818c-lite.chunk.js.map → 5242-2d752ff85e-lite.chunk.js.map} +1 -1
  88. package/dist/scripts/5385-57d7021be7-lite.chunk.js +2 -0
  89. package/dist/scripts/5385-57d7021be7-lite.chunk.js.map +1 -0
  90. package/dist/scripts/{5446-de55c3df38-lite.chunk.js → 5446-1ef1639ef6-lite.chunk.js} +1 -1
  91. package/dist/scripts/{5446-de55c3df38-lite.chunk.js.map → 5446-1ef1639ef6-lite.chunk.js.map} +1 -1
  92. package/dist/scripts/5595-f33ed220ce-lite.chunk.js +2 -0
  93. package/dist/scripts/5595-f33ed220ce-lite.chunk.js.map +1 -0
  94. package/dist/scripts/{5936-4cac311002-lite.chunk.js → 5936-1d99b03e7b-lite.chunk.js} +2 -2
  95. package/dist/scripts/5936-1d99b03e7b-lite.chunk.js.map +1 -0
  96. package/dist/scripts/5940-511beff2ee-lite.chunk.js +2 -0
  97. package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +1 -0
  98. package/dist/scripts/{610-27e5444f01-lite.chunk.js → 610-6dbeb5cd21-lite.chunk.js} +2 -2
  99. package/dist/scripts/610-6dbeb5cd21-lite.chunk.js.map +1 -0
  100. package/dist/scripts/6102-f1851eca08-lite.chunk.js +3 -0
  101. package/dist/scripts/6102-f1851eca08-lite.chunk.js.map +1 -0
  102. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js +2 -0
  103. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js.map +1 -0
  104. package/dist/scripts/{624-010454cb12-lite.chunk.js → 624-7df7efd486-lite.chunk.js} +3 -3
  105. package/dist/scripts/{624-010454cb12-lite.chunk.js.map → 624-7df7efd486-lite.chunk.js.map} +1 -1
  106. package/dist/scripts/6263-d74b5b3529-lite.chunk.js +2 -0
  107. package/dist/scripts/6263-d74b5b3529-lite.chunk.js.map +1 -0
  108. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js → 6274-15e61b83dc-lite.chunk.js} +1 -1
  109. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js.map → 6274-15e61b83dc-lite.chunk.js.map} +1 -1
  110. package/dist/scripts/6415-9d8b88c713-lite.chunk.js +2 -0
  111. package/dist/scripts/6415-9d8b88c713-lite.chunk.js.map +1 -0
  112. package/dist/scripts/{6433-fe9efef305-lite.chunk.js → 6433-8dd152d999-lite.chunk.js} +2 -2
  113. package/dist/scripts/{6433-fe9efef305-lite.chunk.js.map → 6433-8dd152d999-lite.chunk.js.map} +1 -1
  114. package/dist/scripts/6470-6216086d63-lite.chunk.js +2 -0
  115. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +1 -0
  116. package/dist/scripts/6531-597262a181-lite.chunk.js +2 -0
  117. package/dist/scripts/6531-597262a181-lite.chunk.js.map +1 -0
  118. package/dist/scripts/6572-4dda098022-lite.chunk.js +2 -0
  119. package/dist/scripts/6572-4dda098022-lite.chunk.js.map +1 -0
  120. package/dist/scripts/6587-08d5d85b71-lite.chunk.js +2 -0
  121. package/dist/scripts/6587-08d5d85b71-lite.chunk.js.map +1 -0
  122. package/dist/scripts/671-36d34edbf3-lite.chunk.js +2 -0
  123. package/dist/scripts/671-36d34edbf3-lite.chunk.js.map +1 -0
  124. package/dist/scripts/{6725-23b09d47ae-lite.chunk.js → 6725-20b1e8b1d2-lite.chunk.js} +2 -2
  125. package/dist/scripts/6725-20b1e8b1d2-lite.chunk.js.map +1 -0
  126. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js +3 -0
  127. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js.map +1 -0
  128. package/dist/scripts/6752-1a9837a40f-lite.chunk.js +2 -0
  129. package/dist/scripts/6752-1a9837a40f-lite.chunk.js.map +1 -0
  130. package/dist/scripts/6850-8770bfeefb-lite.chunk.js +3 -0
  131. package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +1 -0
  132. package/dist/scripts/{6863-f04753549c-lite.chunk.js → 6863-b606b8b1e7-lite.chunk.js} +2 -2
  133. package/dist/scripts/{6863-f04753549c-lite.chunk.js.map → 6863-b606b8b1e7-lite.chunk.js.map} +1 -1
  134. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js → 6930-1a681d42fd-lite.chunk.js} +1 -1
  135. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js.map → 6930-1a681d42fd-lite.chunk.js.map} +1 -1
  136. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js +2 -0
  137. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +1 -0
  138. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js +2 -0
  139. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js.map +1 -0
  140. package/dist/scripts/714-9ab1608522-lite.chunk.js +2 -0
  141. package/dist/scripts/714-9ab1608522-lite.chunk.js.map +1 -0
  142. package/dist/scripts/7533-e079b2af18-lite.chunk.js +2 -0
  143. package/dist/scripts/7533-e079b2af18-lite.chunk.js.map +1 -0
  144. package/dist/scripts/7715-2146591c84-lite.chunk.js +2 -0
  145. package/dist/scripts/7715-2146591c84-lite.chunk.js.map +1 -0
  146. package/dist/scripts/7855-92e790c403-lite.chunk.js +2 -0
  147. package/dist/scripts/7855-92e790c403-lite.chunk.js.map +1 -0
  148. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js → 7987-db0037709c-lite.chunk.js} +1 -1
  149. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js.map → 7987-db0037709c-lite.chunk.js.map} +1 -1
  150. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js → 8046-836d3b8e04-lite.chunk.js} +1 -1
  151. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js.map → 8046-836d3b8e04-lite.chunk.js.map} +1 -1
  152. package/dist/scripts/{2877-db49c758e9-lite.chunk.js → 8157-521ad0f974-lite.chunk.js} +2 -2
  153. package/dist/scripts/{2877-db49c758e9-lite.chunk.js.map → 8157-521ad0f974-lite.chunk.js.map} +1 -1
  154. package/dist/scripts/8192-ec320614d9-lite.chunk.js +2 -0
  155. package/dist/scripts/8192-ec320614d9-lite.chunk.js.map +1 -0
  156. package/dist/scripts/8218-f3b81c7287-lite.chunk.js +2 -0
  157. package/dist/scripts/8218-f3b81c7287-lite.chunk.js.map +1 -0
  158. package/dist/scripts/8316-dad1824a5f-lite.chunk.js +2 -0
  159. package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +1 -0
  160. package/dist/scripts/8354-e30261b594-lite.chunk.js +2 -0
  161. package/dist/scripts/8354-e30261b594-lite.chunk.js.map +1 -0
  162. package/dist/scripts/8772-42c022effc-lite.chunk.js +2 -0
  163. package/dist/scripts/8772-42c022effc-lite.chunk.js.map +1 -0
  164. package/dist/scripts/8800-c88fefeace-lite.chunk.js +2 -0
  165. package/dist/scripts/8800-c88fefeace-lite.chunk.js.map +1 -0
  166. package/dist/scripts/8830-452a71751f-lite.chunk.js +2 -0
  167. package/dist/scripts/8830-452a71751f-lite.chunk.js.map +1 -0
  168. package/dist/scripts/8987-32190552fa-lite.chunk.js +2 -0
  169. package/dist/scripts/8987-32190552fa-lite.chunk.js.map +1 -0
  170. package/dist/scripts/9016-c359251f82-lite.chunk.js +3 -0
  171. package/dist/scripts/9016-c359251f82-lite.chunk.js.map +1 -0
  172. package/dist/scripts/{9226-4cff4347a9-lite.chunk.js → 9226-c236c0eeb1-lite.chunk.js} +2 -2
  173. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +1 -0
  174. package/dist/scripts/9230-d731020b59-lite.chunk.js +3 -0
  175. package/dist/scripts/9230-d731020b59-lite.chunk.js.map +1 -0
  176. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js → 9395-9175b9efcc-lite.chunk.js} +3 -3
  177. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.map → 9395-9175b9efcc-lite.chunk.js.map} +1 -1
  178. package/dist/scripts/9417-70c6489c67-lite.chunk.js +2 -0
  179. package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +1 -0
  180. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js → 9478-9b168ddc36-lite.chunk.js} +3 -3
  181. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.map → 9478-9b168ddc36-lite.chunk.js.map} +1 -1
  182. package/dist/scripts/{953-b56e03bb19-lite.chunk.js → 953-85fc5f8dbf-lite.chunk.js} +3 -3
  183. package/dist/scripts/{953-b56e03bb19-lite.chunk.js.map → 953-85fc5f8dbf-lite.chunk.js.map} +1 -1
  184. package/dist/scripts/9620-630f9e6344-lite.chunk.js +3 -0
  185. package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +1 -0
  186. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js +2 -0
  187. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js.map +1 -0
  188. package/dist/scripts/9829-097052a2c6-lite.chunk.js +2 -0
  189. package/dist/scripts/9829-097052a2c6-lite.chunk.js.map +1 -0
  190. package/dist/scripts/{9843-a3fe640adb-lite.chunk.js → 9843-ec032b6388-lite.chunk.js} +2 -2
  191. package/dist/scripts/9843-ec032b6388-lite.chunk.js.map +1 -0
  192. package/dist/scripts/986-ea6d103647-lite.chunk.js +3 -0
  193. package/dist/scripts/986-ea6d103647-lite.chunk.js.map +1 -0
  194. package/dist/scripts/bundle-d20cb66d1a.min.js +3 -0
  195. package/dist/scripts/bundle-d20cb66d1a.min.js.map +1 -0
  196. package/package.json +1 -1
  197. package/dist/css/6102-lite-4c795e86b6.chunk.css +0 -39
  198. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js +0 -2
  199. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js.map +0 -1
  200. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js +0 -2
  201. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js.map +0 -1
  202. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js +0 -2
  203. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js.map +0 -1
  204. package/dist/scripts/1518-be314d1248-lite.chunk.js.map +0 -1
  205. package/dist/scripts/1672-e792631d8e-lite.chunk.js +0 -3
  206. package/dist/scripts/1672-e792631d8e-lite.chunk.js.map +0 -1
  207. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js +0 -2
  208. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js.map +0 -1
  209. package/dist/scripts/1818-ca1e552c00-lite.chunk.js +0 -2
  210. package/dist/scripts/1818-ca1e552c00-lite.chunk.js.map +0 -1
  211. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js +0 -2
  212. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js.map +0 -1
  213. package/dist/scripts/1905-a01549439f-lite.chunk.js +0 -2
  214. package/dist/scripts/1905-a01549439f-lite.chunk.js.map +0 -1
  215. package/dist/scripts/209-148abe2aa1-lite.chunk.js.map +0 -1
  216. package/dist/scripts/2137-a993d13a9a-lite.chunk.js +0 -2
  217. package/dist/scripts/2137-a993d13a9a-lite.chunk.js.map +0 -1
  218. package/dist/scripts/2199-22d8809e5e-lite.chunk.js +0 -2
  219. package/dist/scripts/2199-22d8809e5e-lite.chunk.js.map +0 -1
  220. package/dist/scripts/2703-aebc378d71-lite.chunk.js +0 -2
  221. package/dist/scripts/2703-aebc378d71-lite.chunk.js.map +0 -1
  222. package/dist/scripts/3020-9f647705a0-lite.chunk.js +0 -2
  223. package/dist/scripts/3020-9f647705a0-lite.chunk.js.map +0 -1
  224. package/dist/scripts/3231-7e9965499c-lite.chunk.js +0 -2
  225. package/dist/scripts/3231-7e9965499c-lite.chunk.js.map +0 -1
  226. package/dist/scripts/3355-e65e88adaa-lite.chunk.js +0 -2
  227. package/dist/scripts/3355-e65e88adaa-lite.chunk.js.map +0 -1
  228. package/dist/scripts/3403-a2111c4df8-lite.chunk.js +0 -2
  229. package/dist/scripts/3403-a2111c4df8-lite.chunk.js.map +0 -1
  230. package/dist/scripts/3515-925a7caeac-lite.chunk.js +0 -2
  231. package/dist/scripts/3515-925a7caeac-lite.chunk.js.map +0 -1
  232. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js +0 -2
  233. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js.map +0 -1
  234. package/dist/scripts/3645-720267b321-lite.chunk.js +0 -3
  235. package/dist/scripts/3645-720267b321-lite.chunk.js.map +0 -1
  236. package/dist/scripts/3895-f7f4926229-lite.chunk.js +0 -2
  237. package/dist/scripts/3895-f7f4926229-lite.chunk.js.map +0 -1
  238. package/dist/scripts/458-b99f17e0a1-lite.chunk.js +0 -2
  239. package/dist/scripts/458-b99f17e0a1-lite.chunk.js.map +0 -1
  240. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js +0 -2
  241. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js.map +0 -1
  242. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js +0 -2
  243. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js.map +0 -1
  244. package/dist/scripts/5229-f683f705ab-lite.chunk.js +0 -2
  245. package/dist/scripts/5229-f683f705ab-lite.chunk.js.map +0 -1
  246. package/dist/scripts/5385-50d4828b70-lite.chunk.js +0 -2
  247. package/dist/scripts/5385-50d4828b70-lite.chunk.js.map +0 -1
  248. package/dist/scripts/5595-c622318cd2-lite.chunk.js +0 -2
  249. package/dist/scripts/5595-c622318cd2-lite.chunk.js.map +0 -1
  250. package/dist/scripts/5936-4cac311002-lite.chunk.js.map +0 -1
  251. package/dist/scripts/5940-d841fd31d8-lite.chunk.js +0 -2
  252. package/dist/scripts/5940-d841fd31d8-lite.chunk.js.map +0 -1
  253. package/dist/scripts/610-27e5444f01-lite.chunk.js.map +0 -1
  254. package/dist/scripts/6102-30960404a9-lite.chunk.js +0 -3
  255. package/dist/scripts/6102-30960404a9-lite.chunk.js.map +0 -1
  256. package/dist/scripts/6189-13009e2ba9-lite.chunk.js +0 -2
  257. package/dist/scripts/6189-13009e2ba9-lite.chunk.js.map +0 -1
  258. package/dist/scripts/6263-82ae071643-lite.chunk.js +0 -2
  259. package/dist/scripts/6263-82ae071643-lite.chunk.js.map +0 -1
  260. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js +0 -2
  261. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js.map +0 -1
  262. package/dist/scripts/6531-835c743f1b-lite.chunk.js +0 -2
  263. package/dist/scripts/6531-835c743f1b-lite.chunk.js.map +0 -1
  264. package/dist/scripts/6572-0aa0696621-lite.chunk.js +0 -2
  265. package/dist/scripts/6572-0aa0696621-lite.chunk.js.map +0 -1
  266. package/dist/scripts/671-300e93ac50-lite.chunk.js +0 -2
  267. package/dist/scripts/671-300e93ac50-lite.chunk.js.map +0 -1
  268. package/dist/scripts/6725-23b09d47ae-lite.chunk.js.map +0 -1
  269. package/dist/scripts/6741-937ae1865f-lite.chunk.js +0 -3
  270. package/dist/scripts/6741-937ae1865f-lite.chunk.js.map +0 -1
  271. package/dist/scripts/6846-08b00decd8-lite.chunk.js +0 -2
  272. package/dist/scripts/6846-08b00decd8-lite.chunk.js.map +0 -1
  273. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js +0 -2
  274. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js.map +0 -1
  275. package/dist/scripts/7052-4c36846f80-lite.chunk.js +0 -3
  276. package/dist/scripts/7052-4c36846f80-lite.chunk.js.map +0 -1
  277. package/dist/scripts/7097-af8c032133-lite.chunk.js +0 -2
  278. package/dist/scripts/7097-af8c032133-lite.chunk.js.map +0 -1
  279. package/dist/scripts/714-2e52398bb7-lite.chunk.js +0 -2
  280. package/dist/scripts/714-2e52398bb7-lite.chunk.js.map +0 -1
  281. package/dist/scripts/7187-414ac79d42-lite.chunk.js +0 -2
  282. package/dist/scripts/7187-414ac79d42-lite.chunk.js.map +0 -1
  283. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js +0 -2
  284. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js.map +0 -1
  285. package/dist/scripts/7630-72099a7a26-lite.chunk.js +0 -2
  286. package/dist/scripts/7630-72099a7a26-lite.chunk.js.map +0 -1
  287. package/dist/scripts/7715-255bbe16ef-lite.chunk.js +0 -2
  288. package/dist/scripts/7715-255bbe16ef-lite.chunk.js.map +0 -1
  289. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js +0 -2
  290. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js.map +0 -1
  291. package/dist/scripts/8085-cde67e66df-lite.chunk.js +0 -2
  292. package/dist/scripts/8085-cde67e66df-lite.chunk.js.map +0 -1
  293. package/dist/scripts/8139-01ccbc0539-lite.chunk.js +0 -3
  294. package/dist/scripts/8139-01ccbc0539-lite.chunk.js.map +0 -1
  295. package/dist/scripts/8218-70b601169b-lite.chunk.js +0 -2
  296. package/dist/scripts/8218-70b601169b-lite.chunk.js.map +0 -1
  297. package/dist/scripts/8316-7ab8f108de-lite.chunk.js +0 -2
  298. package/dist/scripts/8316-7ab8f108de-lite.chunk.js.map +0 -1
  299. package/dist/scripts/8354-a03785518e-lite.chunk.js +0 -2
  300. package/dist/scripts/8354-a03785518e-lite.chunk.js.map +0 -1
  301. package/dist/scripts/8772-05879c5e99-lite.chunk.js +0 -2
  302. package/dist/scripts/8772-05879c5e99-lite.chunk.js.map +0 -1
  303. package/dist/scripts/8830-0d2766a50f-lite.chunk.js +0 -2
  304. package/dist/scripts/8830-0d2766a50f-lite.chunk.js.map +0 -1
  305. package/dist/scripts/8987-12841dd69c-lite.chunk.js +0 -2
  306. package/dist/scripts/8987-12841dd69c-lite.chunk.js.map +0 -1
  307. package/dist/scripts/9016-df37abbca9-lite.chunk.js +0 -3
  308. package/dist/scripts/9016-df37abbca9-lite.chunk.js.map +0 -1
  309. package/dist/scripts/9226-4cff4347a9-lite.chunk.js.map +0 -1
  310. package/dist/scripts/9230-c79353d3ee-lite.chunk.js +0 -3
  311. package/dist/scripts/9230-c79353d3ee-lite.chunk.js.map +0 -1
  312. package/dist/scripts/9417-7313907916-lite.chunk.js +0 -2
  313. package/dist/scripts/9417-7313907916-lite.chunk.js.map +0 -1
  314. package/dist/scripts/9620-8814c74837-lite.chunk.js +0 -3
  315. package/dist/scripts/9620-8814c74837-lite.chunk.js.map +0 -1
  316. package/dist/scripts/9839-5befd54d51-lite.chunk.js +0 -3
  317. package/dist/scripts/9839-5befd54d51-lite.chunk.js.map +0 -1
  318. package/dist/scripts/9843-a3fe640adb-lite.chunk.js.map +0 -1
  319. package/dist/scripts/bundle-48ad415564.min.js +0 -3
  320. package/dist/scripts/bundle-48ad415564.min.js.map +0 -1
  321. package/dist/css/{7422-lite-22ea72f8e3.chunk.css → 7422-lite-c999db664b.chunk.css} +1 -1
  322. /package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.LICENSE.txt → 1379-3a1ba4b4d9-lite.chunk.js.LICENSE.txt} +0 -0
  323. /package/dist/scripts/{1672-e792631d8e-lite.chunk.js.LICENSE.txt → 1672-672f298d82-lite.chunk.js.LICENSE.txt} +0 -0
  324. /package/dist/scripts/{3645-720267b321-lite.chunk.js.LICENSE.txt → 2004-4e2d98041c-lite.chunk.js.LICENSE.txt} +0 -0
  325. /package/dist/scripts/{6102-30960404a9-lite.chunk.js.LICENSE.txt → 3645-72ca9f63df-lite.chunk.js.LICENSE.txt} +0 -0
  326. /package/dist/scripts/{624-010454cb12-lite.chunk.js.LICENSE.txt → 6102-f1851eca08-lite.chunk.js.LICENSE.txt} +0 -0
  327. /package/dist/scripts/{6433-fe9efef305-lite.chunk.js.LICENSE.txt → 624-7df7efd486-lite.chunk.js.LICENSE.txt} +0 -0
  328. /package/dist/scripts/{6741-937ae1865f-lite.chunk.js.LICENSE.txt → 6433-8dd152d999-lite.chunk.js.LICENSE.txt} +0 -0
  329. /package/dist/scripts/{7052-4c36846f80-lite.chunk.js.LICENSE.txt → 6741-ff3e4a33a5-lite.chunk.js.LICENSE.txt} +0 -0
  330. /package/dist/scripts/{8139-01ccbc0539-lite.chunk.js.LICENSE.txt → 6850-8770bfeefb-lite.chunk.js.LICENSE.txt} +0 -0
  331. /package/dist/scripts/{9016-df37abbca9-lite.chunk.js.LICENSE.txt → 9016-c359251f82-lite.chunk.js.LICENSE.txt} +0 -0
  332. /package/dist/scripts/{9230-c79353d3ee-lite.chunk.js.LICENSE.txt → 9230-d731020b59-lite.chunk.js.LICENSE.txt} +0 -0
  333. /package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.LICENSE.txt → 9395-9175b9efcc-lite.chunk.js.LICENSE.txt} +0 -0
  334. /package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.LICENSE.txt → 9478-9b168ddc36-lite.chunk.js.LICENSE.txt} +0 -0
  335. /package/dist/scripts/{953-b56e03bb19-lite.chunk.js.LICENSE.txt → 953-85fc5f8dbf-lite.chunk.js.LICENSE.txt} +0 -0
  336. /package/dist/scripts/{9620-8814c74837-lite.chunk.js.LICENSE.txt → 9620-630f9e6344-lite.chunk.js.LICENSE.txt} +0 -0
  337. /package/dist/scripts/{9839-5befd54d51-lite.chunk.js.LICENSE.txt → 986-ea6d103647-lite.chunk.js.LICENSE.txt} +0 -0
  338. /package/dist/scripts/{bundle-48ad415564.min.js.LICENSE.txt → bundle-d20cb66d1a.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6863],{9826:(e,t,n)=>{n.d(t,{e:()=>f});var r=n(32735),a=n(91967),c=n(86764),l=n(81514),i=n(10038);const o={stickyFooter:"rIUL4",nonStickyFooter:"PuC_F"};function s(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 u=50;function d(e){var t="justify-content-".concat(e.justify);return r.createElement("div",{className:"py-3 bg-white ".concat(o.stickyFooter)},r.createElement("div",{className:"w-75 mx-auto d-flex ".concat(t)},e.children))}function m(e){var t=(0,l.V)(),n=t===c.r.SM||t===c.r.XS?"w-100":"w-75",a="justify-content-".concat(e.justify);return r.createElement("div",{className:"".concat(n," ").concat(a," ").concat(o.nonStickyFooter," d-flex px-3")},e.children)}function f(e){var t,n,c=function(){return window.innerHeight+window.scrollY>=document.body.offsetHeight-u},l=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,c,l,i=[],o=!0,s=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=c.call(n)).done)&&(i.push(r.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(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=l[0],f=l[1];r.useEffect((function(){return f(!c())}),[]);var p=a.q.throttle((function(){var e=!c();!o||e?!o&&e&&f(!0):f(!1)}),100);return r.useEffect((function(){return window.addEventListener("scroll",p),function(){return window.removeEventListener("scroll",p)}}),[o,f]),(0,i.H)(p,p,[o,f]),o?r.createElement(d,Object.assign({},e),e.children):r.createElement(m,Object.assign({},e),e.children)}f.defaultProps={justify:"between"}},32697:(e,t,n)=>{n.d(t,{ed:()=>r.e,cQ:()=>f.c,i:()=>m,RP:()=>h});var r=n(9826),a=n(32735);n(36848);var c=n(75896),l=n(70154),i=n(86764),o=n(81514),s=n(92875),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function d(e){var t=a.useContext(l.x),n=t.expandedSubject,r=t.selectedSubjects;return a.createElement(a.Fragment,null,e.subjects.map((function(t){var c=function(e,t){return!(!t||e.id===t.id||t.children.find((function(t){return t.id===e.id})))}(t,n),l=e.onSelect;return t.isExpandableOption&&(l=e.onExpand),c&&(l=e.onCollapse),e.hasSelectedBulk&&(l=function(){}),a.createElement(h,{key:t.id,subject:t,selected:!e.hasSelectedBulk&&r.includes(t.id),disabled:e.hasSelectedBulk||c,onClick:function(){return l(t)},hasSelectedBulk:e.hasSelectedBulk})})))}function m(e){var t=e.subjects,n=e.hasSelectedBulk,r=u(e,["subjects","hasSelectedBulk"]),f=a.useContext(l.x).expandedSubject,p=function(){switch((0,o.V)()){case i.r.LG:default:return 5;case i.r.MD:return 4;case i.r.SM:return 3;case i.r.XS:return 2}}(),v=t.reduce((function(e,t,n){return n%p==0?e.push([t]):c.m.last(e).push(t),e}),[]);return a.createElement("ul",{className:s.Z.grid},v.map((function(e,t){var c=f&&!!e.find((function(e){return f.id===e.id&&e.isExpandableOption}));return a.createElement(a.Fragment,{key:t},a.createElement(d,Object.assign({subjects:e,hasSelectedBulk:n},r)),c&&a.createElement("li",{className:"".concat(s.Z.subgrid," m-0")},a.createElement(m,Object.assign({subjects:f.children,hasSelectedBulk:n},r))))})))}var f=n(386),p=n(76177),v=n(54610),b=n(67453);function h(e){var t,n,r=a.useContext(l.x),c=e.subject.cover?b.j.createUrl(e.subject.cover.url,{size:v.h2.Small}):"",i=e.subject.isExpandableOption?e.subject.children.map((function(e){return e.id})):[],o=e.hasSelectedBulk?0:null===(t=null==r?void 0:r.selectedSubjects)||void 0===t?void 0:t.filter((function(e){return i.includes(e)})).length,s=a.createElement(f.c,{name:e.subject.name,imageUrl:c,onClick:e.onClick,isSelected:e.selected,isDisabled:e.disabled,isExpandable:e.subject.isExpandableOption,expand:(null===(n=null==r?void 0:r.expandedSubject)||void 0===n?void 0:n.id)===e.subject.id,selectedChildCount:o,extraClasses:e.extraClasses,hideStatus:e.hideStatus});return e.disabled?a.createElement("span",null,s):a.createElement(p.u,{title:e.subject.name},a.createElement("span",null,s))}},386:(e,t,n)=>{n.d(t,{c:()=>s});var r=n(32735),a=n(83914),c=n(35223);const l={preferenceItem:"PSWHa",expandCaret:"CCsqs",up:"w7N1R",down:"mO0Kn",disabled:"Oyw2x",selected:"Czk2N",noBorder:"_e7oe",textBox:"pfksF",itemStatus:"H4u81",unchecked:"iYkPv",green:"w5g0e"};var i=function(e){return e.selectedChildrenCount?r.createElement("div",{className:"".concat(l.itemStatus," ").concat(l.green)},e.selectedChildrenCount):r.createElement(r.Fragment,null)},o=function(e){var t;return t=e.selected?r.createElement(a.x,{svgName:c.vn.Check}):e.radioButton?r.createElement(r.Fragment,null," "):r.createElement(a.x,{svgName:c.vn.Plus}),r.createElement("div",{className:"".concat(l.itemStatus," ").concat(e.selected?l.green:l.unchecked)},t)};function s(e){var t,n="".concat(l.expandCaret," ").concat(e.expand?l.up:l.down);return r.createElement("li",{className:(t="rounded-3 ".concat(l.preferenceItem),e.extraClasses&&(t+=" "+e.extraClasses),e.isDisabled&&(t+=" "+l.disabled),e.isSelected&&!e.isExpandable&&(t+=" "+l.selected),e.hideStatus&&(t+=" "+l.noBorder),t),onClick:e.onClick,"aria-checked":e.isSelected,"aria-haspopup":e.isExpandable,role:e.isExpandable?"button":"checkbox",style:{backgroundImage:"url(".concat(e.imageUrl,")")},tabIndex:0,title:e.name},r.createElement("div",{className:"".concat(l.textBox," p-2")},r.createElement("p",{className:"text-truncate mb-0"},e.name,r.createElement("span",{className:e.isExpandable?n:""})),!e.hideStatus&&r.createElement(r.Fragment,null,e.isExpandable?r.createElement(i,{selectedChildrenCount:e.selectedChildCount}):r.createElement(o,{selected:e.isSelected,radioButton:e.radioButton}))))}},70154:(e,t,n)=>{n.d(t,{x:()=>r});var r=(0,n(32735).createContext)(void 0)},81514:(e,t,n)=>{n.d(t,{V:()=>c});var r=n(86764),a=n(3747);function c(){var e=(0,a.a)(r.r.XS),t=(0,a.a)(r.r.SM),n=(0,a.a)(r.r.MD),c=(0,a.a)(r.r.LG),l=(0,a.a)(r.r.XL),i=(0,a.a)(r.r.XXL),o=r.r.LG;return e&&(o=r.r.XS),t&&(o=r.r.SM),n&&(o=r.r.MD),c&&(o=r.r.LG),l&&(o=r.r.XL),i&&(o=r.r.XXL),o}},56863:(e,t,n)=>{n.r(t),n.d(t,{SchoolLevelSelectorPopupView:()=>N});var r=n(32735),a=n(23481),c=n(57900),l=n(81886),i=n(2948),o=n(49985),s=n(65858),u=n(32697),d=n(9111),m=n(13876),f=n(83345),p=n(38143),v=n(52641),b=n(54610),h=n(25925),S=n(69883),E=n(75795),y=n(67453),g=n(14070),x=n(97291),C=n(86698);const j={preferenceList:"tLO8p",preferenceItem:"TOmGl",largePopup:"_9d72P",selectPresentation:"rVRaW",switchPresentation:"Q15YD"};function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,c,l,i=[],o=!0,s=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=c.call(n)).done)&&(i.push(r.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return O(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var w="settings.schoolLevelSelectorPopup",P=a.T.encloseNamespace(w),I=function(e){return"".concat(e.application,":").concat(e.action)},L=new Set([I({application:x.O.SUBJECT,action:g.e.Subjects.CLASSIFICATION}),I({application:x.O.SUBJECT,action:g.e.Subjects.CLASSIFICATION_TOPICS})]);function N(e){var t=k(r.useState(),2),n=t[0],O=t[1],N=(0,S.Z)(),A=k((0,i.D)(p.g.AUDIENCE_FILTER,void 0,{storage:c.Z1.SessionStorage}),2)[1],B=(0,C.y)(),T=B.activePresentation,F=B.preferredPresentation,_=B.availablePresentations,U=B.setPresentation,D=B.hasPresentationsLoaded;function M(){o.k.logUserAction({id:null==F?void 0:F.id,targetId:n.id},{actionType:s.Vw.EditAssoc,entity:s.py.Presentation,location:s.LZ.Popup,workflowPhase:s.eu.Complete,eventVersion:s.eq.V3});var t=E.O.getCurrentRoute().appLink;L.has(I(t))?l.Q.C$.trigger({application:x.O.DASHBOARD,action:g.e.Dashboard.HOME}):l.Q.C$.trigger(t),N.success(P("success")),e.closePopup()}function H(){N.error(a.T.getPhrase(w,"error")),e.closePopup()}function R(){A(null),U(n,"activeAndPreferred").then(M).catch(H)}r.useEffect((function(){(null==T?void 0:T.id)&&O(T)}),[null==T?void 0:T.id]);var X=(null==_?void 0:_.length)>v._.MULTI_PRESENTATION_THRESHOLD?"lg":void 0,V=(null==_?void 0:_.length)>v._.MULTI_PRESENTATION_THRESHOLD?"largePopup":"";return r.createElement(d.G,{title:P("title"),closePopup:e.closePopup,showLoadingSpinner:!D,size:X},r.createElement((function(){return r.createElement("div",{className:"".concat(j.selectPresentation," ").concat(V)},r.createElement("p",null,r.createElement(f.x,{namespace:w,phrase:"info"})),r.createElement("div",{className:"mt-3"},r.createElement("div",{className:"position-relative"},r.createElement("ul",{className:"list-unstyled d-flex ".concat(j.preferenceList)},null==_?void 0:_.map((function(e){var t;return e.type!==h.R.Subject?r.createElement(r.Fragment,{key:e.id}):r.createElement(u.cQ,{key:e.id,name:e.name,imageUrl:y.j.createUrl(null===(t=e.cover)||void 0===t?void 0:t.url,{size:b.h2.Medium})||"",onClick:function(){return function(e){O(e)}(e)},isSelected:(null==n?void 0:n.id)===e.id,extraClasses:"".concat(j.preferenceItem," m-2"),radioButton:!0})})))),r.createElement(m.u,null,r.createElement(m.u.Cancel,{onClick:e.closePopup}),r.createElement(m.u.Submit,{variant:"dark",onClick:R,text:P("save")}))))}),null))}},92875:(e,t,n)=>{n.d(t,{Z:()=>r});const r={grid:"X9r1Y",subgrid:"TgYhp"}}}]);
2
- //# sourceMappingURL=6863-f04753549c-lite.chunk.js.map
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6863],{9826:(e,t,n)=>{n.d(t,{e:()=>f});var r=n(32735),a=n(91967),c=n(86764),l=n(81514),i=n(10038);const o={stickyFooter:"rIUL4",nonStickyFooter:"PuC_F"};function s(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 u=50;function d(e){var t="justify-content-".concat(e.justify);return r.createElement("div",{className:"py-3 bg-white ".concat(o.stickyFooter)},r.createElement("div",{className:"w-75 mx-auto d-flex ".concat(t)},e.children))}function m(e){var t=(0,l.V)(),n=t===c.r.SM||t===c.r.XS?"w-100":"w-75",a="justify-content-".concat(e.justify);return r.createElement("div",{className:"".concat(n," ").concat(a," ").concat(o.nonStickyFooter," d-flex px-3")},e.children)}function f(e){var t,n,c=function(){return window.innerHeight+window.scrollY>=document.body.offsetHeight-u},l=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,c,l,i=[],o=!0,s=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=c.call(n)).done)&&(i.push(r.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(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=l[0],f=l[1];r.useEffect((function(){return f(!c())}),[]);var p=a.q.throttle((function(){var e=!c();!o||e?!o&&e&&f(!0):f(!1)}),100);return r.useEffect((function(){return window.addEventListener("scroll",p),function(){return window.removeEventListener("scroll",p)}}),[o,f]),(0,i.H)(p,p,[o,f]),o?r.createElement(d,Object.assign({},e),e.children):r.createElement(m,Object.assign({},e),e.children)}f.defaultProps={justify:"between"}},32697:(e,t,n)=>{n.d(t,{ed:()=>r.e,cQ:()=>f.c,i:()=>m,RP:()=>h});var r=n(9826),a=n(32735);n(36848);var c=n(75896),l=n(70154),i=n(86764),o=n(81514),s=n(92875),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};function d(e){var t=a.useContext(l.x),n=t.expandedSubject,r=t.selectedSubjects;return a.createElement(a.Fragment,null,e.subjects.map((function(t){var c=function(e,t){return!(!t||e.id===t.id||t.children.find((function(t){return t.id===e.id})))}(t,n),l=e.onSelect;return t.isExpandableOption&&(l=e.onExpand),c&&(l=e.onCollapse),e.hasSelectedBulk&&(l=function(){}),a.createElement(h,{key:t.id,subject:t,selected:!e.hasSelectedBulk&&r.includes(t.id),disabled:e.hasSelectedBulk||c,onClick:function(){return l(t)},hasSelectedBulk:e.hasSelectedBulk})})))}function m(e){var t=e.subjects,n=e.hasSelectedBulk,r=u(e,["subjects","hasSelectedBulk"]),f=a.useContext(l.x).expandedSubject,p=function(){switch((0,o.V)()){case i.r.LG:default:return 5;case i.r.MD:return 4;case i.r.SM:return 3;case i.r.XS:return 2}}(),v=t.reduce((function(e,t,n){return n%p==0?e.push([t]):c.m.last(e).push(t),e}),[]);return a.createElement("ul",{className:s.Z.grid},v.map((function(e,t){var c=f&&!!e.find((function(e){return f.id===e.id&&e.isExpandableOption}));return a.createElement(a.Fragment,{key:t},a.createElement(d,Object.assign({subjects:e,hasSelectedBulk:n},r)),c&&a.createElement("li",{className:"".concat(s.Z.subgrid," m-0")},a.createElement(m,Object.assign({subjects:f.children,hasSelectedBulk:n},r))))})))}var f=n(386),p=n(76177),v=n(54610),b=n(67453);function h(e){var t,n,r=a.useContext(l.x),c=e.subject.cover?b.j.createUrl(e.subject.cover.url,{size:v.h2.Small}):"",i=e.subject.isExpandableOption?e.subject.children.map((function(e){return e.id})):[],o=e.hasSelectedBulk?0:null===(t=null==r?void 0:r.selectedSubjects)||void 0===t?void 0:t.filter((function(e){return i.includes(e)})).length,s=a.createElement(f.c,{name:e.subject.name,imageUrl:c,onClick:e.onClick,isSelected:e.selected,isDisabled:e.disabled,isExpandable:e.subject.isExpandableOption,expand:(null===(n=null==r?void 0:r.expandedSubject)||void 0===n?void 0:n.id)===e.subject.id,selectedChildCount:o,extraClasses:e.extraClasses,hideStatus:e.hideStatus});return e.disabled?a.createElement("span",null,s):a.createElement(p.u,{title:e.subject.name},a.createElement("span",null,s))}},386:(e,t,n)=>{n.d(t,{c:()=>s});var r=n(32735),a=n(83914),c=n(35223);const l={preferenceItem:"PSWHa",expandCaret:"CCsqs",up:"w7N1R",down:"mO0Kn",disabled:"Oyw2x",selected:"Czk2N",noBorder:"_e7oe",textBox:"pfksF",itemStatus:"H4u81",unchecked:"iYkPv",green:"w5g0e"};var i=function(e){return e.selectedChildrenCount?r.createElement("div",{className:"".concat(l.itemStatus," ").concat(l.green)},e.selectedChildrenCount):r.createElement(r.Fragment,null)},o=function(e){var t;return t=e.selected?r.createElement(a.x,{svgName:c.vn.Check}):e.radioButton?r.createElement(r.Fragment,null," "):r.createElement(a.x,{svgName:c.vn.Plus}),r.createElement("div",{className:"".concat(l.itemStatus," ").concat(e.selected?l.green:l.unchecked)},t)};function s(e){var t,n="".concat(l.expandCaret," ").concat(e.expand?l.up:l.down);return r.createElement("li",{className:(t="rounded-3 ".concat(l.preferenceItem),e.extraClasses&&(t+=" "+e.extraClasses),e.isDisabled&&(t+=" "+l.disabled),e.isSelected&&!e.isExpandable&&(t+=" "+l.selected),e.hideStatus&&(t+=" "+l.noBorder),t),onClick:e.onClick,"aria-checked":e.isSelected,"aria-haspopup":e.isExpandable,role:e.isExpandable?"button":"checkbox",style:{backgroundImage:"url(".concat(e.imageUrl,")")},tabIndex:0,title:e.name},r.createElement("div",{className:"".concat(l.textBox," p-2")},r.createElement("p",{className:"text-truncate mb-0"},e.name,r.createElement("span",{className:e.isExpandable?n:""})),!e.hideStatus&&r.createElement(r.Fragment,null,e.isExpandable?r.createElement(i,{selectedChildrenCount:e.selectedChildCount}):r.createElement(o,{selected:e.isSelected,radioButton:e.radioButton}))))}},70154:(e,t,n)=>{n.d(t,{x:()=>r});var r=(0,n(32735).createContext)(void 0)},81514:(e,t,n)=>{n.d(t,{V:()=>c});var r=n(86764),a=n(3747);function c(){var e=(0,a.a)(r.r.XS),t=(0,a.a)(r.r.SM),n=(0,a.a)(r.r.MD),c=(0,a.a)(r.r.LG),l=(0,a.a)(r.r.XL),i=(0,a.a)(r.r.XXL),o=r.r.LG;return e&&(o=r.r.XS),t&&(o=r.r.SM),n&&(o=r.r.MD),c&&(o=r.r.LG),l&&(o=r.r.XL),i&&(o=r.r.XXL),o}},56863:(e,t,n)=>{n.r(t),n.d(t,{SchoolLevelSelectorPopupView:()=>N});var r=n(32735),a=n(23481),c=n(57900),l=n(81886),i=n(2948),o=n(49985),s=n(65858),u=n(32697),d=n(9111),m=n(13876),f=n(83345),p=n(38143),v=n(52641),b=n(54610),h=n(25925),S=n(69883),E=n(75795),y=n(67453),g=n(14070),x=n(97291),C=n(86698);const j={preferenceList:"tLO8p",preferenceItem:"TOmGl",largePopup:"_9d72P",selectPresentation:"rVRaW",switchPresentation:"Q15YD"};function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,c,l,i=[],o=!0,s=!1;try{if(c=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(r=c.call(n)).done)&&(i.push(r.value),i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{if(!o&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(s)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return O(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var w="settings.schoolLevelSelectorPopup",P=a.T.encloseNamespace(w),I=function(e){return"".concat(e.application,":").concat(e.action)},L=new Set([I({application:x.O.SUBJECT,action:g.e.Subjects.CLASSIFICATION}),I({application:x.O.SUBJECT,action:g.e.Subjects.CLASSIFICATION_DIRECTORY})]);function N(e){var t=k(r.useState(),2),n=t[0],O=t[1],N=(0,S.Z)(),A=k((0,i.D)(p.g.AUDIENCE_FILTER,void 0,{storage:c.Z1.SessionStorage}),2)[1],B=(0,C.y)(),T=B.activePresentation,F=B.preferredPresentation,_=B.availablePresentations,D=B.setPresentation,U=B.hasPresentationsLoaded;function M(){o.k.logUserAction({id:null==F?void 0:F.id,targetId:n.id},{actionType:s.Vw.EditAssoc,entity:s.py.Presentation,location:s.LZ.Popup,workflowPhase:s.eu.Complete,eventVersion:s.eq.V3});var t=E.O.getCurrentRoute().appLink;L.has(I(t))?l.Q.C$.trigger({application:x.O.DASHBOARD,action:g.e.Dashboard.HOME}):l.Q.C$.trigger(t),N.success(P("success")),e.closePopup()}function R(){N.error(a.T.getPhrase(w,"error")),e.closePopup()}function H(){A(null),D(n,"activeAndPreferred").then(M).catch(R)}r.useEffect((function(){(null==T?void 0:T.id)&&O(T)}),[null==T?void 0:T.id]);var X=(null==_?void 0:_.length)>v._.MULTI_PRESENTATION_THRESHOLD?"lg":void 0,V=(null==_?void 0:_.length)>v._.MULTI_PRESENTATION_THRESHOLD?"largePopup":"";return r.createElement(d.G,{title:P("title"),closePopup:e.closePopup,showLoadingSpinner:!U,size:X},r.createElement((function(){return r.createElement("div",{className:"".concat(j.selectPresentation," ").concat(V)},r.createElement("p",null,r.createElement(f.x,{namespace:w,phrase:"info"})),r.createElement("div",{className:"mt-3"},r.createElement("div",{className:"position-relative"},r.createElement("ul",{className:"list-unstyled d-flex ".concat(j.preferenceList)},null==_?void 0:_.map((function(e){var t;return e.type!==h.R.Subject?r.createElement(r.Fragment,{key:e.id}):r.createElement(u.cQ,{key:e.id,name:e.name,imageUrl:y.j.createUrl(null===(t=e.cover)||void 0===t?void 0:t.url,{size:b.h2.Medium})||"",onClick:function(){return function(e){O(e)}(e)},isSelected:(null==n?void 0:n.id)===e.id,extraClasses:"".concat(j.preferenceItem," m-2"),radioButton:!0})})))),r.createElement(m.u,null,r.createElement(m.u.Cancel,{onClick:e.closePopup}),r.createElement(m.u.Submit,{variant:"dark",onClick:H,text:P("save")}))))}),null))}},92875:(e,t,n)=>{n.d(t,{Z:()=>r});const r={grid:"X9r1Y",subgrid:"TgYhp"}}}]);
2
+ //# sourceMappingURL=6863-b606b8b1e7-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/6863-f04753549c-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/apps/subjects/components/preferences/topic-preferences/subject-preference-grid/SubjectPreferenceGrid.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/topic-preferences/subject-preference-item/SubjectPreferenceItem.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/preference-item.scss","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItemStatus.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.tsx","file:///app/packages/libs/shared/src/apps/subjects/contexts/TopicPreferencesContext.ts","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/projects/lite/src/shared/views/school-level-popup/school-level-selector-popup.scss","file:///app/packages/projects/lite/src/shared/views/school-level-popup/SchoolLevelSelectorPopupView.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/topic-preferences/subject-preference-grid/subject-preference-grid.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}","import * as React from 'react';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SubjectPreferenceItem } from 'libs/shared/apps/subjects/components/preferences';\nimport { TopicPreferencesContext } from 'libs/shared/apps/subjects/contexts/TopicPreferencesContext';\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport styles from './subject-preference-grid.scss';\n\nfunction useGetRowItemCapacity(): number {\n const viewportWidth = useGetMediaQueryString();\n\n switch (viewportWidth) {\n case MediaQueryStrings.LG:\n default:\n return 5;\n\n case MediaQueryStrings.MD:\n return 4;\n\n case MediaQueryStrings.SM:\n return 3;\n\n case MediaQueryStrings.XS:\n return 2;\n }\n}\n\nfunction isDisabled(subject: ClassificationPreference, expandedSubject: ClassificationPreference): boolean {\n if (!expandedSubject || subject.id === expandedSubject.id)\n return false;\n\n if (expandedSubject.children.find(child => child.id === subject.id))\n return false;\n\n return true;\n}\n\ninterface SubjectPreferenceGridRowProps extends SubjectPreferenceGridProps {}\n\nfunction SubjectPreferenceGridRow(props: SubjectPreferenceGridRowProps): JSX.Element {\n const { expandedSubject, selectedSubjects: selections } = React.useContext(TopicPreferencesContext);\n\n return (\n <>\n {props.subjects.map(subject => {\n const itemDisabled = isDisabled(subject, expandedSubject);\n\n let clickHandler = props.onSelect;\n\n if (subject.isExpandableOption)\n clickHandler = props.onExpand;\n\n if (itemDisabled)\n clickHandler = props.onCollapse;\n\n if (props.hasSelectedBulk)\n clickHandler = () => {};\n\n return (\n <SubjectPreferenceItem\n key={subject.id}\n subject={subject}\n selected={!props.hasSelectedBulk && selections.includes(subject.id)}\n disabled={props.hasSelectedBulk || itemDisabled}\n onClick={() => clickHandler(subject)}\n hasSelectedBulk={props.hasSelectedBulk}\n />\n );\n })}\n </>\n );\n}\n\ninterface SubjectPreferenceGridProps {\n subjects: ClassificationPreference[];\n onSelect: (subject: Classification) => void;\n onExpand: (subject: Classification) => void;\n onCollapse: (subject: Classification) => void;\n hasSelectedBulk?: boolean;\n}\n\nexport function SubjectPreferenceGrid(props: SubjectPreferenceGridProps): JSX.Element {\n const { subjects, hasSelectedBulk, ...eventHandlers } = props;\n const { expandedSubject } = React.useContext(TopicPreferencesContext);\n\n const itemsPerRow = useGetRowItemCapacity();\n\n /**\n * This is an array of arrays, where each sub-array is a row of classifications.\n * We do this to make sure any sub-grid's of child preference options get rendered in the row\n * directly beneath their parent's row.\n */\n const subjectRows = subjects.reduce((\n acc: ClassificationPreference[][],\n subject: ClassificationPreference,\n index: number\n ) => {\n index % itemsPerRow === 0\n ? acc.push([subject]) // Start a new row\n : ArrayHelper.last(acc).push(subject); // Fill up an existing row\n\n return acc;\n }, []);\n\n return (\n <ul className={styles.grid}>\n {subjectRows.map((row, i) => {\n const isExpanded = expandedSubject && !!row.find(subject => {\n return expandedSubject.id === subject.id && subject.isExpandableOption;\n });\n\n return (\n <React.Fragment key={i}>\n <SubjectPreferenceGridRow\n subjects={row}\n hasSelectedBulk={hasSelectedBulk}\n {...eventHandlers}\n />\n\n {isExpanded && (\n <li className={`${styles.subgrid} m-0`}>\n <SubjectPreferenceGrid\n subjects={expandedSubject.children as ClassificationPreference[]}\n hasSelectedBulk={hasSelectedBulk}\n {...eventHandlers}\n />\n </li>\n )}\n </React.Fragment>\n );\n })}\n </ul>\n );\n}","import * as React from 'react';\n\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences/preference-item/PreferenceItem';\nimport { TopicPreferencesContext } from 'libs/shared/apps/subjects/contexts/TopicPreferencesContext';\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\ninterface SubjectPreferenceItemProps {\n subject: ClassificationPreference;\n selected: boolean;\n disabled?: boolean;\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\n extraClasses?: string;\n hideStatus?: boolean;\n hasSelectedBulk?: boolean;\n}\n\nexport function SubjectPreferenceItem(props: SubjectPreferenceItemProps): JSX.Element {\n const context = React.useContext(TopicPreferencesContext);\n\n const coverUrl = props.subject.cover ? ImageHelper.createUrl(props.subject.cover.url, { size: ImageSize.Small }) : '';\n\n const childIds = props.subject.isExpandableOption ? props.subject.children.map(child => child.id) : [];\n const selectedChildCount = !props.hasSelectedBulk\n ? context?.selectedSubjects?.filter(selection => childIds.includes(selection)).length\n : 0;\n\n const component = (\n <PreferenceItem\n name={props.subject.name}\n imageUrl={coverUrl}\n onClick={props.onClick}\n isSelected={props.selected}\n isDisabled={props.disabled}\n isExpandable={props.subject.isExpandableOption}\n expand={context?.expandedSubject?.id === props.subject.id}\n selectedChildCount={selectedChildCount}\n extraClasses={props.extraClasses}\n hideStatus={props.hideStatus}\n />\n );\n\n return props.disabled\n ? <span>{component}</span>\n : <Tooltip title={props.subject.name}><span>{component}</span></Tooltip>;\n}","// extracted by mini-css-extract-plugin\nexport default {\"preferenceItem\":\"PSWHa\",\"expandCaret\":\"CCsqs\",\"up\":\"w7N1R\",\"down\":\"mO0Kn\",\"disabled\":\"Oyw2x\",\"selected\":\"Czk2N\",\"noBorder\":\"_e7oe\",\"textBox\":\"pfksF\",\"itemStatus\":\"H4u81\",\"unchecked\":\"iYkPv\",\"green\":\"w5g0e\"};","import * as React from 'react';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './preference-item.scss';\n\ninterface ExpandableItemStatusProps {\n selectedChildrenCount: number;\n}\n\nexport const ExpandableItemStatus = (props: ExpandableItemStatusProps): JSX.Element => {\n if (!props.selectedChildrenCount)\n return <></>;\n\n return (\n <div className={`${styles.itemStatus} ${styles.green}`}>\n {props.selectedChildrenCount}\n </div>\n );\n};\n\ninterface SelectableItemStatusProps {\n selected: boolean;\n radioButton?: boolean;\n}\n\nexport const SelectableItemStatus = (props: SelectableItemStatusProps): JSX.Element => {\n let svg;\n\n if (props.selected)\n svg = <SvgContainer svgName={cvSvgLibrary.Check} />;\n else if (!props.radioButton)\n svg = <SvgContainer svgName={cvSvgLibrary.Plus} />;\n else\n svg = <>&nbsp;</>;\n\n return (\n <div className={`${styles.itemStatus} ${props.selected ? styles.green : styles.unchecked}`}>\n {svg}\n </div>\n );\n};\n","import React from 'react';\n\nimport { ExpandableItemStatus, SelectableItemStatus } from './PreferenceItemStatus';\n\nimport styles from './preference-item.scss';\n\ninterface PreferenceItemProps {\n name: string;\n imageUrl: string;\n\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\n isDisabled?: boolean;\n isSelected: boolean;\n hideStatus?: boolean;\n radioButton?: boolean;\n\n isExpandable?: boolean;\n expand?: boolean;\n selectedChildCount?: number;\n\n extraClasses?: string;\n}\n\nexport function PreferenceItem(props: PreferenceItemProps): JSX.Element {\n function getContainerClass(): string {\n let baseClass = `rounded-3 ${styles.preferenceItem}`;\n\n if (props.extraClasses)\n baseClass += ' ' + props.extraClasses;\n\n if (props.isDisabled)\n baseClass += ' ' + styles.disabled;\n\n if (props.isSelected && !props.isExpandable)\n baseClass += ' ' + styles.selected;\n\n if (props.hideStatus)\n baseClass += ' ' + styles.noBorder;\n\n return baseClass;\n }\n\n const caretClass = `${styles.expandCaret} ${props.expand ? styles.up : styles.down}`;\n\n return (\n <li\n className={getContainerClass()}\n onClick={props.onClick}\n aria-checked={props.isSelected}\n aria-haspopup={props.isExpandable}\n role={props.isExpandable ? 'button' : 'checkbox'}\n style={{ backgroundImage: `url(${props.imageUrl})` }}\n tabIndex={0}\n title={props.name}\n >\n <div className={`${styles.textBox} p-2`}>\n <p className='text-truncate mb-0'>\n {props.name}\n <span className={props.isExpandable ? caretClass : ''} />\n </p>\n\n {!props.hideStatus && (\n <>{props.isExpandable\n ? <ExpandableItemStatus selectedChildrenCount={props.selectedChildCount} />\n : <SelectableItemStatus selected={props.isSelected} radioButton={props.radioButton} />\n }</>\n )}\n </div>\n </li>\n );\n}","import { createContext } from 'react';\n\nimport { ClassificationPreference } from '../interfaces/ClassificationPreference';\n\ninterface TopicPreferencesContextFields {\n selectedSubjects: string[];\n expandedSubject: ClassificationPreference;\n}\n\nexport const TopicPreferencesContext = createContext<TopicPreferencesContextFields>(undefined);","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}","// extracted by mini-css-extract-plugin\nexport default {\"preferenceList\":\"tLO8p\",\"preferenceItem\":\"TOmGl\",\"largePopup\":\"_9d72P\",\"selectPresentation\":\"rVRaW\",\"switchPresentation\":\"Q15YD\"};","import React from 'react';\n\nimport { AppLink } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, EventVersion, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { TopicsConstants } from 'libs/shared/constants/TopicsConstants';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport styles from './school-level-selector-popup.scss';\n\nconst namespace = 'settings.schoolLevelSelectorPopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getAppLinkKey = (appLink: AppLink) => `${appLink.application}:${appLink.action}`;\n\n// The applinks below currently can't be mapped to routes between\n// 2 presentations. This means if the user is on one of these when\n// they switch presentations, they will be redirected to discover\n// instead of staying on the page they're on.\nconst UnmappedAppLinks = new Set([\n getAppLinkKey({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION\n }),\n getAppLinkKey({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION_TOPICS\n })\n]);\n\ninterface SchoolLevelSelectorPopupViewProps {\n closePopup: () => void;\n}\n\nexport function SchoolLevelSelectorPopupView(props: SchoolLevelSelectorPopupViewProps): JSX.Element {\n const [ selectedPresentation, setSelectedPresentation ] = React.useState<Presentation>();\n const alerts = useAlerts();\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const {\n activePresentation,\n preferredPresentation,\n availablePresentations,\n setPresentation,\n hasPresentationsLoaded\n } = usePresentation();\n\n React.useEffect(() => {\n if (!activePresentation?.id)\n return;\n\n setSelectedPresentation(activePresentation);\n }, [activePresentation?.id]);\n\n\n function onSelect(presentation: Presentation) {\n setSelectedPresentation(presentation);\n }\n\n function onSuccess(): void {\n AnalyticsHelper.logUserAction(\n {\n id: preferredPresentation?.id,\n targetId: selectedPresentation.id\n },\n {\n actionType: UserAction.EditAssoc,\n entity: EntityType.Presentation,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n eventVersion: EventVersion.V3\n }\n );\n\n const currentAppLink = ContextService.getCurrentRoute().appLink;\n\n if (UnmappedAppLinks.has(getAppLinkKey(currentAppLink))) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n });\n } else {\n Core.AppLinkHelper.trigger(currentAppLink);\n }\n\n alerts.success(getPhrase('success'));\n props.closePopup();\n }\n\n function onError(): void {\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n props.closePopup();\n }\n\n function onSave(): void {\n // reset audiences filter on switching presentation\n setActiveAudiences(null);\n startUpdate();\n }\n\n function startUpdate(): void {\n setPresentation(selectedPresentation, 'activeAndPreferred')\n .then(onSuccess)\n .catch(onError);\n }\n\n const popupSize = availablePresentations?.length > TopicsConstants.MULTI_PRESENTATION_THRESHOLD ? 'lg' : undefined;\n const popupSizeClassName = availablePresentations?.length > TopicsConstants.MULTI_PRESENTATION_THRESHOLD ? 'largePopup' : '';\n\n const SelectPresentation = (): JSX.Element => (\n <div className={`${styles.selectPresentation} ${popupSizeClassName}`}>\n <p><Text namespace={namespace} phrase='info' /></p>\n <div className='mt-3'>\n <div className='position-relative'>\n <ul className={`list-unstyled d-flex ${styles.preferenceList}`}>\n {availablePresentations?.map(presentation => {\n if (presentation.type !== PresentationType.Subject)\n return <React.Fragment key={presentation.id}></React.Fragment>;\n\n return (\n <PreferenceItem\n key={presentation.id}\n name={presentation.name}\n imageUrl={ImageHelper.createUrl(presentation.cover?.url, { size: ImageSize.Medium }) || ''}\n onClick={() => onSelect(presentation)}\n isSelected={selectedPresentation?.id === presentation.id}\n extraClasses={`${styles.preferenceItem} m-2`}\n radioButton\n />\n );\n })}\n </ul>\n </div>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onSave}\n text={getPhrase('save')}\n />\n </PopupButtons>\n </div>\n </div>\n );\n \n return (\n <Popup title={getPhrase('title')} closePopup={props.closePopup} showLoadingSpinner={!hasPresentationsLoaded} size={popupSize}>\n <SelectPresentation />\n </Popup>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"grid\":\"X9r1Y\",\"subgrid\":\"TgYhp\"};"],"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","SubjectPreferenceGridRow","TopicPreferencesContext","expandedSubject","selections","selectedSubjects","subjects","map","subject","itemDisabled","id","find","child","isDisabled","clickHandler","onSelect","isExpandableOption","onExpand","onCollapse","hasSelectedBulk","SubjectPreferenceItem","key","selected","includes","disabled","onClick","SubjectPreferenceGrid","eventHandlers","itemsPerRow","useGetRowItemCapacity","subjectRows","reduce","acc","index","push","ArrayHelper","row","i","isExpanded","context","coverUrl","cover","ImageHelper","url","size","childIds","selectedChildCount","filter","selection","length","component","PreferenceItem","name","imageUrl","isSelected","isExpandable","expand","extraClasses","hideStatus","Tooltip","title","ExpandableItemStatus","selectedChildrenCount","SelectableItemStatus","svg","SvgContainer","svgName","radioButton","baseClass","caretClass","role","style","backgroundImage","tabIndex","createContext","undefined","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","namespace","getPhrase","LanguageService","getAppLinkKey","appLink","application","action","UnmappedAppLinks","Set","SchoolLevelSelectorPopupView","selectedPresentation","setSelectedPresentation","alerts","setActiveAudiences","SharedViewModelKeys","storage","usePresentation","activePresentation","preferredPresentation","availablePresentations","setPresentation","hasPresentationsLoaded","onSuccess","AnalyticsHelper","targetId","actionType","entity","location","workflowPhase","eventVersion","currentAppLink","ContextService","has","success","closePopup","onError","error","onSave","then","popupSize","TopicsConstants","popupSizeClassName","Popup","showLoadingSpinner","Text","phrase","presentation","type","PresentationType","PopupButtons","variant","text"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/6863-b606b8b1e7-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/apps/subjects/components/preferences/topic-preferences/subject-preference-grid/SubjectPreferenceGrid.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/topic-preferences/subject-preference-item/SubjectPreferenceItem.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/preference-item.scss","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItemStatus.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/preference-item/PreferenceItem.tsx","file:///app/packages/libs/shared/src/apps/subjects/contexts/TopicPreferencesContext.ts","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/projects/lite/src/shared/views/school-level-popup/school-level-selector-popup.scss","file:///app/packages/projects/lite/src/shared/views/school-level-popup/SchoolLevelSelectorPopupView.tsx","file:///app/packages/libs/shared/src/apps/subjects/components/preferences/topic-preferences/subject-preference-grid/subject-preference-grid.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}","import * as React from 'react';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SubjectPreferenceItem } from 'libs/shared/apps/subjects/components/preferences';\nimport { TopicPreferencesContext } from 'libs/shared/apps/subjects/contexts/TopicPreferencesContext';\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\nimport { Classification } from 'libs/shared/interfaces';\n\nimport styles from './subject-preference-grid.scss';\n\nfunction useGetRowItemCapacity(): number {\n const viewportWidth = useGetMediaQueryString();\n\n switch (viewportWidth) {\n case MediaQueryStrings.LG:\n default:\n return 5;\n\n case MediaQueryStrings.MD:\n return 4;\n\n case MediaQueryStrings.SM:\n return 3;\n\n case MediaQueryStrings.XS:\n return 2;\n }\n}\n\nfunction isDisabled(subject: ClassificationPreference, expandedSubject: ClassificationPreference): boolean {\n if (!expandedSubject || subject.id === expandedSubject.id)\n return false;\n\n if (expandedSubject.children.find(child => child.id === subject.id))\n return false;\n\n return true;\n}\n\ninterface SubjectPreferenceGridRowProps extends SubjectPreferenceGridProps {}\n\nfunction SubjectPreferenceGridRow(props: SubjectPreferenceGridRowProps): JSX.Element {\n const { expandedSubject, selectedSubjects: selections } = React.useContext(TopicPreferencesContext);\n\n return (\n <>\n {props.subjects.map(subject => {\n const itemDisabled = isDisabled(subject, expandedSubject);\n\n let clickHandler = props.onSelect;\n\n if (subject.isExpandableOption)\n clickHandler = props.onExpand;\n\n if (itemDisabled)\n clickHandler = props.onCollapse;\n\n if (props.hasSelectedBulk)\n clickHandler = () => {};\n\n return (\n <SubjectPreferenceItem\n key={subject.id}\n subject={subject}\n selected={!props.hasSelectedBulk && selections.includes(subject.id)}\n disabled={props.hasSelectedBulk || itemDisabled}\n onClick={() => clickHandler(subject)}\n hasSelectedBulk={props.hasSelectedBulk}\n />\n );\n })}\n </>\n );\n}\n\ninterface SubjectPreferenceGridProps {\n subjects: ClassificationPreference[];\n onSelect: (subject: Classification) => void;\n onExpand: (subject: Classification) => void;\n onCollapse: (subject: Classification) => void;\n hasSelectedBulk?: boolean;\n}\n\nexport function SubjectPreferenceGrid(props: SubjectPreferenceGridProps): JSX.Element {\n const { subjects, hasSelectedBulk, ...eventHandlers } = props;\n const { expandedSubject } = React.useContext(TopicPreferencesContext);\n\n const itemsPerRow = useGetRowItemCapacity();\n\n /**\n * This is an array of arrays, where each sub-array is a row of classifications.\n * We do this to make sure any sub-grid's of child preference options get rendered in the row\n * directly beneath their parent's row.\n */\n const subjectRows = subjects.reduce((\n acc: ClassificationPreference[][],\n subject: ClassificationPreference,\n index: number\n ) => {\n index % itemsPerRow === 0\n ? acc.push([subject]) // Start a new row\n : ArrayHelper.last(acc).push(subject); // Fill up an existing row\n\n return acc;\n }, []);\n\n return (\n <ul className={styles.grid}>\n {subjectRows.map((row, i) => {\n const isExpanded = expandedSubject && !!row.find(subject => {\n return expandedSubject.id === subject.id && subject.isExpandableOption;\n });\n\n return (\n <React.Fragment key={i}>\n <SubjectPreferenceGridRow\n subjects={row}\n hasSelectedBulk={hasSelectedBulk}\n {...eventHandlers}\n />\n\n {isExpanded && (\n <li className={`${styles.subgrid} m-0`}>\n <SubjectPreferenceGrid\n subjects={expandedSubject.children as ClassificationPreference[]}\n hasSelectedBulk={hasSelectedBulk}\n {...eventHandlers}\n />\n </li>\n )}\n </React.Fragment>\n );\n })}\n </ul>\n );\n}","import * as React from 'react';\n\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences/preference-item/PreferenceItem';\nimport { TopicPreferencesContext } from 'libs/shared/apps/subjects/contexts/TopicPreferencesContext';\nimport { ClassificationPreference } from 'libs/shared/apps/subjects/interfaces/ClassificationPreference';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\ninterface SubjectPreferenceItemProps {\n subject: ClassificationPreference;\n selected: boolean;\n disabled?: boolean;\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\n extraClasses?: string;\n hideStatus?: boolean;\n hasSelectedBulk?: boolean;\n}\n\nexport function SubjectPreferenceItem(props: SubjectPreferenceItemProps): JSX.Element {\n const context = React.useContext(TopicPreferencesContext);\n\n const coverUrl = props.subject.cover ? ImageHelper.createUrl(props.subject.cover.url, { size: ImageSize.Small }) : '';\n\n const childIds = props.subject.isExpandableOption ? props.subject.children.map(child => child.id) : [];\n const selectedChildCount = !props.hasSelectedBulk\n ? context?.selectedSubjects?.filter(selection => childIds.includes(selection)).length\n : 0;\n\n const component = (\n <PreferenceItem\n name={props.subject.name}\n imageUrl={coverUrl}\n onClick={props.onClick}\n isSelected={props.selected}\n isDisabled={props.disabled}\n isExpandable={props.subject.isExpandableOption}\n expand={context?.expandedSubject?.id === props.subject.id}\n selectedChildCount={selectedChildCount}\n extraClasses={props.extraClasses}\n hideStatus={props.hideStatus}\n />\n );\n\n return props.disabled\n ? <span>{component}</span>\n : <Tooltip title={props.subject.name}><span>{component}</span></Tooltip>;\n}","// extracted by mini-css-extract-plugin\nexport default {\"preferenceItem\":\"PSWHa\",\"expandCaret\":\"CCsqs\",\"up\":\"w7N1R\",\"down\":\"mO0Kn\",\"disabled\":\"Oyw2x\",\"selected\":\"Czk2N\",\"noBorder\":\"_e7oe\",\"textBox\":\"pfksF\",\"itemStatus\":\"H4u81\",\"unchecked\":\"iYkPv\",\"green\":\"w5g0e\"};","import * as React from 'react';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './preference-item.scss';\n\ninterface ExpandableItemStatusProps {\n selectedChildrenCount: number;\n}\n\nexport const ExpandableItemStatus = (props: ExpandableItemStatusProps): JSX.Element => {\n if (!props.selectedChildrenCount)\n return <></>;\n\n return (\n <div className={`${styles.itemStatus} ${styles.green}`}>\n {props.selectedChildrenCount}\n </div>\n );\n};\n\ninterface SelectableItemStatusProps {\n selected: boolean;\n radioButton?: boolean;\n}\n\nexport const SelectableItemStatus = (props: SelectableItemStatusProps): JSX.Element => {\n let svg;\n\n if (props.selected)\n svg = <SvgContainer svgName={cvSvgLibrary.Check} />;\n else if (!props.radioButton)\n svg = <SvgContainer svgName={cvSvgLibrary.Plus} />;\n else\n svg = <>&nbsp;</>;\n\n return (\n <div className={`${styles.itemStatus} ${props.selected ? styles.green : styles.unchecked}`}>\n {svg}\n </div>\n );\n};\n","import React from 'react';\n\nimport { ExpandableItemStatus, SelectableItemStatus } from './PreferenceItemStatus';\n\nimport styles from './preference-item.scss';\n\ninterface PreferenceItemProps {\n name: string;\n imageUrl: string;\n\n onClick?: (event: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;\n isDisabled?: boolean;\n isSelected: boolean;\n hideStatus?: boolean;\n radioButton?: boolean;\n\n isExpandable?: boolean;\n expand?: boolean;\n selectedChildCount?: number;\n\n extraClasses?: string;\n}\n\nexport function PreferenceItem(props: PreferenceItemProps): JSX.Element {\n function getContainerClass(): string {\n let baseClass = `rounded-3 ${styles.preferenceItem}`;\n\n if (props.extraClasses)\n baseClass += ' ' + props.extraClasses;\n\n if (props.isDisabled)\n baseClass += ' ' + styles.disabled;\n\n if (props.isSelected && !props.isExpandable)\n baseClass += ' ' + styles.selected;\n\n if (props.hideStatus)\n baseClass += ' ' + styles.noBorder;\n\n return baseClass;\n }\n\n const caretClass = `${styles.expandCaret} ${props.expand ? styles.up : styles.down}`;\n\n return (\n <li\n className={getContainerClass()}\n onClick={props.onClick}\n aria-checked={props.isSelected}\n aria-haspopup={props.isExpandable}\n role={props.isExpandable ? 'button' : 'checkbox'}\n style={{ backgroundImage: `url(${props.imageUrl})` }}\n tabIndex={0}\n title={props.name}\n >\n <div className={`${styles.textBox} p-2`}>\n <p className='text-truncate mb-0'>\n {props.name}\n <span className={props.isExpandable ? caretClass : ''} />\n </p>\n\n {!props.hideStatus && (\n <>{props.isExpandable\n ? <ExpandableItemStatus selectedChildrenCount={props.selectedChildCount} />\n : <SelectableItemStatus selected={props.isSelected} radioButton={props.radioButton} />\n }</>\n )}\n </div>\n </li>\n );\n}","import { createContext } from 'react';\n\nimport { ClassificationPreference } from '../interfaces/ClassificationPreference';\n\ninterface TopicPreferencesContextFields {\n selectedSubjects: string[];\n expandedSubject: ClassificationPreference;\n}\n\nexport const TopicPreferencesContext = createContext<TopicPreferencesContextFields>(undefined);","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}","// extracted by mini-css-extract-plugin\nexport default {\"preferenceList\":\"tLO8p\",\"preferenceItem\":\"TOmGl\",\"largePopup\":\"_9d72P\",\"selectPresentation\":\"rVRaW\",\"switchPresentation\":\"Q15YD\"};","import React from 'react';\n\nimport { AppLink } from 'libs/common/backbone/core';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, EventVersion, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { PreferenceItem } from 'libs/shared/apps/subjects/components/preferences';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { TopicsConstants } from 'libs/shared/constants/TopicsConstants';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nimport styles from './school-level-selector-popup.scss';\n\nconst namespace = 'settings.schoolLevelSelectorPopup';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getAppLinkKey = (appLink: AppLink) => `${appLink.application}:${appLink.action}`;\n\n// The applinks below currently can't be mapped to routes between\n// 2 presentations. This means if the user is on one of these when\n// they switch presentations, they will be redirected to discover\n// instead of staying on the page they're on.\nconst UnmappedAppLinks = new Set([\n getAppLinkKey({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION\n }),\n getAppLinkKey({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION_DIRECTORY\n })\n]);\n\ninterface SchoolLevelSelectorPopupViewProps {\n closePopup: () => void;\n}\n\nexport function SchoolLevelSelectorPopupView(props: SchoolLevelSelectorPopupViewProps): JSX.Element {\n const [ selectedPresentation, setSelectedPresentation ] = React.useState<Presentation>();\n const alerts = useAlerts();\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const {\n activePresentation,\n preferredPresentation,\n availablePresentations,\n setPresentation,\n hasPresentationsLoaded\n } = usePresentation();\n\n React.useEffect(() => {\n if (!activePresentation?.id)\n return;\n\n setSelectedPresentation(activePresentation);\n }, [activePresentation?.id]);\n\n\n function onSelect(presentation: Presentation) {\n setSelectedPresentation(presentation);\n }\n\n function onSuccess(): void {\n AnalyticsHelper.logUserAction(\n {\n id: preferredPresentation?.id,\n targetId: selectedPresentation.id\n },\n {\n actionType: UserAction.EditAssoc,\n entity: EntityType.Presentation,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete,\n eventVersion: EventVersion.V3\n }\n );\n\n const currentAppLink = ContextService.getCurrentRoute().appLink;\n\n if (UnmappedAppLinks.has(getAppLinkKey(currentAppLink))) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n });\n } else {\n Core.AppLinkHelper.trigger(currentAppLink);\n }\n\n alerts.success(getPhrase('success'));\n props.closePopup();\n }\n\n function onError(): void {\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n props.closePopup();\n }\n\n function onSave(): void {\n // reset audiences filter on switching presentation\n setActiveAudiences(null);\n startUpdate();\n }\n\n function startUpdate(): void {\n setPresentation(selectedPresentation, 'activeAndPreferred')\n .then(onSuccess)\n .catch(onError);\n }\n\n const popupSize = availablePresentations?.length > TopicsConstants.MULTI_PRESENTATION_THRESHOLD ? 'lg' : undefined;\n const popupSizeClassName = availablePresentations?.length > TopicsConstants.MULTI_PRESENTATION_THRESHOLD ? 'largePopup' : '';\n\n const SelectPresentation = (): JSX.Element => (\n <div className={`${styles.selectPresentation} ${popupSizeClassName}`}>\n <p><Text namespace={namespace} phrase='info' /></p>\n <div className='mt-3'>\n <div className='position-relative'>\n <ul className={`list-unstyled d-flex ${styles.preferenceList}`}>\n {availablePresentations?.map(presentation => {\n if (presentation.type !== PresentationType.Subject)\n return <React.Fragment key={presentation.id}></React.Fragment>;\n\n return (\n <PreferenceItem\n key={presentation.id}\n name={presentation.name}\n imageUrl={ImageHelper.createUrl(presentation.cover?.url, { size: ImageSize.Medium }) || ''}\n onClick={() => onSelect(presentation)}\n isSelected={selectedPresentation?.id === presentation.id}\n extraClasses={`${styles.preferenceItem} m-2`}\n radioButton\n />\n );\n })}\n </ul>\n </div>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n variant='dark'\n onClick={onSave}\n text={getPhrase('save')}\n />\n </PopupButtons>\n </div>\n </div>\n );\n \n return (\n <Popup title={getPhrase('title')} closePopup={props.closePopup} showLoadingSpinner={!hasPresentationsLoaded} size={popupSize}>\n <SelectPresentation />\n </Popup>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"grid\":\"X9r1Y\",\"subgrid\":\"TgYhp\"};"],"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","SubjectPreferenceGridRow","TopicPreferencesContext","expandedSubject","selections","selectedSubjects","subjects","map","subject","itemDisabled","id","find","child","isDisabled","clickHandler","onSelect","isExpandableOption","onExpand","onCollapse","hasSelectedBulk","SubjectPreferenceItem","key","selected","includes","disabled","onClick","SubjectPreferenceGrid","eventHandlers","itemsPerRow","useGetRowItemCapacity","subjectRows","reduce","acc","index","push","ArrayHelper","row","i","isExpanded","context","coverUrl","cover","ImageHelper","url","size","childIds","selectedChildCount","filter","selection","length","component","PreferenceItem","name","imageUrl","isSelected","isExpandable","expand","extraClasses","hideStatus","Tooltip","title","ExpandableItemStatus","selectedChildrenCount","SelectableItemStatus","svg","SvgContainer","svgName","radioButton","baseClass","caretClass","role","style","backgroundImage","tabIndex","createContext","undefined","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","namespace","getPhrase","LanguageService","getAppLinkKey","appLink","application","action","UnmappedAppLinks","Set","SchoolLevelSelectorPopupView","selectedPresentation","setSelectedPresentation","alerts","setActiveAudiences","SharedViewModelKeys","storage","usePresentation","activePresentation","preferredPresentation","availablePresentations","setPresentation","hasPresentationsLoaded","onSuccess","AnalyticsHelper","targetId","actionType","entity","location","workflowPhase","eventVersion","currentAppLink","ContextService","has","success","closePopup","onError","error","onSave","then","popupSize","TopicsConstants","popupSizeClassName","Popup","showLoadingSpinner","Text","phrase","presentation","type","PresentationType","PopupButtons","variant","text"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6930],{36511:(e,a,t)=>{t.d(a,{I:()=>l});var o=t(40424);function l(e){switch(e){case o.R.Pink:return"pink";case o.R.Orange:return"orange";case o.R.Green:return"green";case o.R.Blue:return"blue";case o.R.Purple:return"purple";case o.R.Indigo:return"indigo";default:return"pink"}}},97944:(e,a,t)=>{t.r(a),t.d(a,{ClassroomGroupsView:()=>V});var o=t(32735),l=t(70680),n=t(23481),r=t(20354),c=t(39151),s=t(31949),i=t(79612),m=t(23232),u=t(83345),d=t(35223),p=t(99742),g=t(14070),v=t(97291),E="classrooms.manageClassroomGroupsEmptyState";function N(e){return o.createElement(u.D.Provider,{value:E},o.createElement(m.u,null,o.createElement(m.u.Image,{src:p.W.EmptyStates.Classrooms.GROUPS}),o.createElement(m.u.Heading,null,o.createElement(u.x,{phrase:"heading"})),o.createElement(m.u.Info,null,o.createElement(u.x,{phrase:"info"})),o.createElement(m.u.Cta,{text:n.T.getPhrase(E,"addGroups"),icon:d.vn.Plus,appLink:{application:v.O.CLASSROOMS,action:g.e.Classrooms.NEW_GROUP,args:[e.classroomId]}})))}var C=t(49985),k=t(65858),h=t(10874),f=t(86764),b=t(3747),G=t(81886),w=t(11607),y=t(60376),S=t(83914),P=t(36511);const I={colourColumn:"B2Gwz",groupContainer:"RXaVm"};var L=n.T.encloseNamespace("classrooms.manageClassroomGroupItem");function O(e){var a;return o.createElement(o.Fragment,null,o.createElement("div",{className:"d-flex align-items-center px-3 py-1"},o.createElement("div",{className:"".concat(I.colourColumn," me-2")},o.createElement("div",{className:"".concat(I.groupContainer)},o.createElement(y.f,{svgName:d.vn.Group,variant:(0,P.I)(null===(a=e.group.metadata)||void 0===a?void 0:a.colour)}))),o.createElement("p",{className:"mb-0 me-auto"},e.group.name),o.createElement(w.L,{className:"me-2",onClick:function(){C.k.logUserAction({id:e.group.id},{entity:k.py.ClassroomGroup,workflowPhase:k.eu.Start,actionType:k.Vw.Edit,location:k.LZ.ManageClassroomGroupListItem}),G.Q.C$.trigger({application:v.O.CLASSROOMS,action:g.e.Classrooms.EDIT_GROUP,args:[e.classroom.id,e.group.id]})}},o.createElement(S.x,{svgName:d.vn.Edit,title:L("editGroup"),tooltipPlacement:"top",tooltipSpanHack:!0})),o.createElement(w.L,{onClick:function(){C.k.logUserAction({id:e.group.id},{entity:k.py.ClassroomGroup,workflowPhase:k.eu.Start,actionType:k.Vw.Delete,location:k.LZ.ManageClassroomGroupListItem}),G.Q.C$.trigger({application:v.O.CLASSROOMS,action:g.e.Classrooms.DELETE_GROUP,args:[e.classroom.id,e.group.id]})}},o.createElement(S.x,{svgName:d.vn.Delete,title:L("deleteGroup"),tooltipPlacement:"top",tooltipSpanHack:!0}))))}const R={colourColumn:"TpyUA"};var x="classrooms.manageClassroomGroups",T=function(e){return{application:v.O.CLASSROOMS,action:g.e.Classrooms.NEW_GROUP,args:[e]}};function F(e){var a,t,l=(0,b.a)(f.r.XLDown);return(null===(a=e.groups)||void 0===a?void 0:a.length)?o.createElement(u.D.Provider,{value:x},o.createElement("div",{className:"py-2"},o.createElement("div",{className:"d-flex align-items-center mb-2 ".concat(l?"":"ps-3")},o.createElement("h2",{className:"h6 mb-0 me-2 ".concat(R.colourColumn)},o.createElement(u.x,{phrase:"colour"})),o.createElement("h2",{className:"h6 mb-0"},o.createElement(u.x,{phrase:"groupName"})),o.createElement(h.h,{appLink:T(e.classroom.id),onClick:function(){C.k.logUserAction({classroomId:e.classroom.id},{workflowPhase:k.eu.Start,entity:k.py.ClassroomGroup,actionType:k.Vw.Create,location:k.LZ.ManageClassroomGroups})},className:"btn btn-outline-dark ms-auto",svgName:d.vn.Plus},o.createElement(u.x,{phrase:"createNew"}))),o.createElement("ul",{className:"striped-list list-unstyled"},!!(null===(t=e.groups)||void 0===t?void 0:t.length)&&e.groups.map((function(a){return o.createElement("li",{key:a.id},o.createElement(O,{classroom:e.classroom,group:a}))}))))):o.createElement(N,{classroomId:e.classroom.id})}var U=t(49935),A=t(5062);const _={heading:"bhtoZ",nameHeading:"vytHM",colourHeading:"yLWgp",newGroup:"r5cCZ",group:"ED2Tj",colourPicker:"AYLSY",actionIcon:"BX3vN"};function M(){return o.createElement("div",{className:"px-3"},o.createElement("div",{className:"mb-1 partial-loading-background ".concat(_.heading)}),o.createElement("div",{className:"pb-3"},o.createElement(U.b2,{numItems:2})),o.createElement("div",{className:"pb-2"},o.createElement(A.Z,null)),o.createElement("div",{className:"py-2"},o.createElement("div",{className:"d-flex align-items-center"},o.createElement("div",{className:"w-25 mb-2"},o.createElement("div",{className:"partial-loading-background ".concat(_.nameHeading)})),o.createElement("div",{className:"w-25 mb-2"},o.createElement("div",{className:"partial-loading-background ".concat(_.colourHeading)})),o.createElement("div",{className:"partial-loading-background ms-auto ".concat(_.newGroup)})),o.createElement("ul",{className:"list-unstyled"},Array(8).fill(null).map((function(e,a){return o.createElement("li",{key:a,className:"mb-2"},o.createElement("div",{className:"d-flex align-items-center"},o.createElement("div",{className:"w-25"},o.createElement("div",{className:"partial-loading-background ".concat(_.group)})),o.createElement("div",{className:"d-inline-block me-4"},o.createElement("div",{className:"partial-loading-background ".concat(_.colourPicker)})),o.createElement("div",{className:"partial-loading-background me-2 ".concat(_.actionIcon)}),o.createElement("div",{className:"partial-loading-background ".concat(_.actionIcon)})))})))))}var B=t(88630),D=t(31491),H=t(5289),Z=n.T.encloseNamespace("classrooms.classroomGroups");function V(e){var a,t,n,m,u,d,p,g=r.a.useBasicFetch(s.N.currentUser()),v=r.a.useBasicFetch(g.data&&B.F.getClassroom(e.id,g.data.id)),E=r.a.useBasicFetch(B.F.getClassroomStudents(e.id)),C=r.a.useBasicFetch(B.F.getClassroomGroups(e.id)),k=r.a.useBasicFetch(c.L.config()),h=(0,l.I0)();(0,i.M)({title:Z("pageTitle",{classroomName:null===(a=v.data)||void 0===a?void 0:a.name})}),(0,D._)(v);var f=null===(n=null===(t=v.data)||void 0===t?void 0:t._integrations)||void 0===n?void 0:n.rostered;return v.data&&(null===(m=E.data)||void 0===m?void 0:m.data)&&(null===(u=C.data)||void 0===u?void 0:u.data)&&k.data?o.createElement(H.R,{classroom:v.data,currentUser:g.data,onTogglePin:function(e,a,t){if(!f){var o=e?B.F.pinClassroom:B.F.unpinClassroom;r.a.fetch(h,o(v.data,a,t))}},activeTab:"groups",isRostered:f},(null===(p=null===(d=C.data)||void 0===d?void 0:d.data)||void 0===p?void 0:p.length)?o.createElement(F,{classroom:v.data,groups:C.data.data}):o.createElement(N,{classroomId:v.data.id})):o.createElement(M,null)}}}]);
2
- //# sourceMappingURL=6930-0a5d94f8b5-lite.chunk.js.map
2
+ //# sourceMappingURL=6930-1a681d42fd-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/6930-0a5d94f8b5-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/utils/GroupHelper.ts","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/empty-state/ManageClassroomGroupsEmptyState.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-group-item/manage-classroom-group-item.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/manage-classroom-groups.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/partial-loading/partial-manage-classrooms-groups.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups.tsx","file:///app/packages/projects/lite/src/apps/classrooms/views/classroom-groups/ClassroomGroupsView.tsx"],"sourcesContent":["import { ButtonProps } from 'react-bootstrap';\n\nimport { ClassroomGroupColour } from 'libs/shared/interfaces';\n\nexport function mapColourToBsVariant(groupColour: ClassroomGroupColour): ButtonProps['variant'] {\n switch (groupColour) {\n case ClassroomGroupColour.Pink:\n return 'pink';\n case ClassroomGroupColour.Orange:\n return 'orange';\n case ClassroomGroupColour.Green:\n return 'green';\n case ClassroomGroupColour.Blue:\n return 'blue';\n case ClassroomGroupColour.Purple:\n return 'purple';\n case ClassroomGroupColour.Indigo:\n return 'indigo';\n default:\n return 'pink';\n }\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'classrooms.manageClassroomGroupsEmptyState';\n\ninterface ManageClassroomGroupsEmptyStateProps {\n classroomId: string;\n}\n\nexport function RosteredClassroomGroupsEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Classrooms.GROUPS} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info className='mb-2'><Text phrase='info' /></EmptyState.Info>\n\n {/* todo add kb link */}\n <a className='btn btn-link info-link font-semibold' href={''} target='_blank'>\n {LanguageService.getPhrase(namespace, 'rosteringCta')}\n </a>\n \n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\nexport function ManageClassroomGroupsEmptyState(props: ManageClassroomGroupsEmptyStateProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Classrooms.GROUPS} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'addGroups')}\n icon={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.NEW_GROUP,\n args: [props.classroomId]\n }}\n />\n\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"colourColumn\":\"B2Gwz\",\"groupContainer\":\"RXaVm\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClassroomGroup } from 'libs/shared/interfaces';\nimport { Classroom } from 'libs/shared/interfaces';\nimport { mapColourToBsVariant } from 'libs/shared/utils/GroupHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport styles from './manage-classroom-group-item.scss';\n\nconst getPhrase = LanguageService.encloseNamespace('classrooms.manageClassroomGroupItem');\n\ninterface ManageClassroomGroupItemProps {\n classroom: Classroom;\n group: ClassroomGroup;\n}\n\nexport function ManageClassroomGroupItem(props: ManageClassroomGroupItemProps): JSX.Element {\n function onClickEdit(): void {\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\n entity: EntityType.ClassroomGroup,\n workflowPhase: WorkflowPhase.Start,\n actionType: UserAction.Edit,\n location: LocationContext.ManageClassroomGroupListItem\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.EDIT_GROUP,\n args: [ props.classroom.id, props.group.id ]\n });\n }\n\n function onClickDelete(): void {\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\n entity: EntityType.ClassroomGroup,\n workflowPhase: WorkflowPhase.Start,\n actionType: UserAction.Delete,\n location: LocationContext.ManageClassroomGroupListItem\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.DELETE_GROUP,\n args: [ props.classroom.id, props.group.id ]\n });\n }\n\n return (\n <>\n <div className='d-flex align-items-center px-3 py-1'>\n <div className={`${styles.colourColumn} me-2`}>\n <div className={`${styles.groupContainer}`}>\n <IconCircle svgName={cvSvgLibrary.Group} variant={mapColourToBsVariant(props.group.metadata?.colour)} />\n </div>\n </div>\n\n <p className='mb-0 me-auto'>{props.group.name}</p>\n\n <DivButton className='me-2' onClick={onClickEdit}>\n <SvgContainer\n svgName={cvSvgLibrary.Edit}\n title={getPhrase('editGroup')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n\n <DivButton onClick={onClickDelete}>\n <SvgContainer\n svgName={cvSvgLibrary.Delete}\n title={getPhrase('deleteGroup')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"colourColumn\":\"TpyUA\"};","import * as React from 'react';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { Classroom, ClassroomGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ManageClassroomGroupItem } from 'apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem';\n\nimport { ManageClassroomGroupsEmptyState } from './empty-state/ManageClassroomGroupsEmptyState';\n\nimport styles from './manage-classroom-groups.scss';\n\nconst namespace = 'classrooms.manageClassroomGroups';\n\nconst getCreateGroupAppLink = (id: string) => ({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.NEW_GROUP,\n args: [id]\n});\n\ninterface ManageClassroomGroupsProps {\n classroom: Classroom;\n groups: ClassroomGroup[];\n}\n\nexport function ManageClassroomGroups(props: ManageClassroomGroupsProps): JSX.Element {\n function onClickCreateGroup(): void {\n AnalyticsHelper.logUserAction({ classroomId: props.classroom.id }, {\n workflowPhase: WorkflowPhase.Start,\n entity: EntityType.ClassroomGroup,\n actionType: UserAction.Create,\n location: LocationContext.ManageClassroomGroups\n });\n }\n\n const isSmallScreen = useMediaQuery(MediaQueryStrings.XLDown);\n\n if (!props.groups?.length)\n return <ManageClassroomGroupsEmptyState classroomId={props.classroom.id} />;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='py-2'>\n <div className={`d-flex align-items-center mb-2 ${!isSmallScreen ? 'ps-3' : ''}`}>\n <h2 className={`h6 mb-0 me-2 ${styles.colourColumn}`}><Text phrase='colour' /></h2>\n <h2 className='h6 mb-0'><Text phrase='groupName' /></h2>\n <IconButton\n appLink={getCreateGroupAppLink(props.classroom.id)}\n onClick={onClickCreateGroup}\n className='btn btn-outline-dark ms-auto'\n svgName={cvSvgLibrary.Plus}\n >\n <Text phrase='createNew' />\n </IconButton>\n </div>\n\n <ul className='striped-list list-unstyled'>\n {!!props.groups?.length && props.groups.map(group => (\n <li key={group.id}>\n <ManageClassroomGroupItem classroom={props.classroom} group={group} />\n </li>\n ))}\n </ul>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"bhtoZ\",\"nameHeading\":\"vytHM\",\"colourHeading\":\"yLWgp\",\"newGroup\":\"r5cCZ\",\"group\":\"ED2Tj\",\"colourPicker\":\"AYLSY\",\"actionIcon\":\"BX3vN\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialPillTabSelector } from 'libs/shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector';\n\nimport styles from './partial-manage-classrooms-groups.scss';\n\nexport function PartialManageClassroomGroups(): JSX.Element {\n return (\n <div className='px-3'>\n {/* Heading */}\n <div className={`mb-1 partial-loading-background ${styles.heading}`} />\n\n {/* Breadcrumbs */}\n <div className='pb-3'>\n <PartialBreadcrumbs numItems={2} />\n </div>\n\n {/* Pill tab selector */}\n <div className='pb-2'>\n <PartialPillTabSelector />\n </div>\n\n <div className='py-2'>\n <div className='d-flex align-items-center'>\n {/* Name heading */}\n <div className='w-25 mb-2'>\n <div className={`partial-loading-background ${styles.nameHeading}`} />\n </div>\n {/* Colour heading */}\n <div className='w-25 mb-2'>\n <div className={`partial-loading-background ${styles.colourHeading}`} />\n </div>\n\n {/* New group button */}\n <div className={`partial-loading-background ms-auto ${styles.newGroup}`} />\n </div>\n\n {/* List of partial group items */}\n <ul className='list-unstyled'>\n {Array(8).fill(null).map((group, i) => (\n <li key={i} className='mb-2'>\n <div className='d-flex align-items-center'>\n {/* Group name */}\n <div className='w-25'>\n <div className={`partial-loading-background ${styles.group}`} />\n </div>\n\n {/* Colour picker */}\n <div className='d-inline-block me-4'>\n <div className={`partial-loading-background ${styles.colourPicker}`} />\n </div>\n\n {/* Edit action */}\n <div className={`partial-loading-background me-2 ${styles.actionIcon}`} />\n {/* Delete action */}\n <div className={`partial-loading-background ${styles.actionIcon}`} />\n </div>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, ClassroomGroupCollection, Config, CurrentUser, UserCollection } from 'libs/shared/interfaces';\n\nimport { ManageClassroomGroupsEmptyState } from 'apps/classrooms/components/manage-classroom-groups/empty-state/ManageClassroomGroupsEmptyState';\nimport { ManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups';\nimport { PartialManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups';\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { useHandleClassroomErrors } from 'apps/classrooms/hooks/useHandleClassroomErrors';\nimport { ClassroomLayout } from 'apps/classrooms/layouts/ClassroomLayout';\n\nconst namespace = 'classrooms.classroomGroups';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomGroupsViewProps {\n id: string;\n}\n\nexport function ClassroomGroupsView(props: ClassroomGroupsViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const classroom = Flight.useBasicFetch<Classroom>(currentUser.data &&\n ClassroomRequests.getClassroom(props.id, currentUser.data.id));\n const students = Flight.useBasicFetch<UserCollection>(ClassroomRequests.getClassroomStudents(props.id));\n const groups = Flight.useBasicFetch<ClassroomGroupCollection>(ClassroomRequests.getClassroomGroups(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const dispatch = useDispatch();\n\n useSetPageMetadata({\n title: getPhrase('pageTitle', { classroomName: classroom.data?.name })\n });\n useHandleClassroomErrors(classroom);\n\n const isRostered = classroom.data?._integrations?.rostered;\n\n function onTogglePin(shouldPin: boolean, onSuccess: () => void, onError: () => void): void {\n if (isRostered)\n return;\n const request = shouldPin\n ? ClassroomRequests.pinClassroom\n : ClassroomRequests.unpinClassroom;\n\n Flight.fetch(dispatch, request(classroom.data, onSuccess, onError));\n }\n\n if (!classroom.data || !students.data?.data || !groups.data?.data || !config.data)\n return <PartialManageClassroomGroups />;\n\n return (\n <ClassroomLayout\n classroom={classroom.data}\n currentUser={currentUser.data}\n onTogglePin={onTogglePin}\n activeTab='groups'\n isRostered={isRostered}\n >\n {groups.data?.data?.length\n ? (\n <ManageClassroomGroups\n classroom={classroom.data}\n groups={groups.data.data}\n />\n ) : (\n <ManageClassroomGroupsEmptyState classroomId={classroom.data.id} />\n )\n }\n </ClassroomLayout>\n );\n}\n"],"names":["mapColourToBsVariant","groupColour","namespace","ManageClassroomGroupsEmptyState","props","value","src","phrase","text","icon","appLink","application","action","args","classroomId","getPhrase","ManageClassroomGroupItem","className","IconCircle","svgName","variant","group","metadata","colour","name","DivButton","onClick","AnalyticsHelper","id","entity","workflowPhase","actionType","location","classroom","SvgContainer","title","tooltipPlacement","tooltipSpanHack","getCreateGroupAppLink","ManageClassroomGroups","isSmallScreen","groups","length","IconButton","map","key","PartialManageClassroomGroups","numItems","PartialPillTabSelector","Array","fill","i","ClassroomGroupsView","currentUser","UserRequests","data","ClassroomRequests","students","config","ConfigRequests","dispatch","useSetPageMetadata","classroomName","useHandleClassroomErrors","isRostered","_integrations","rostered","ClassroomLayout","onTogglePin","shouldPin","onSuccess","onError","request","activeTab"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/6930-1a681d42fd-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/utils/GroupHelper.ts","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/empty-state/ManageClassroomGroupsEmptyState.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-group-item/manage-classroom-group-item.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/manage-classroom-groups.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups.tsx","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/partial-loading/partial-manage-classrooms-groups.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups.tsx","file:///app/packages/projects/lite/src/apps/classrooms/views/classroom-groups/ClassroomGroupsView.tsx"],"sourcesContent":["import { ButtonProps } from 'react-bootstrap';\n\nimport { ClassroomGroupColour } from 'libs/shared/interfaces';\n\nexport function mapColourToBsVariant(groupColour: ClassroomGroupColour): ButtonProps['variant'] {\n switch (groupColour) {\n case ClassroomGroupColour.Pink:\n return 'pink';\n case ClassroomGroupColour.Orange:\n return 'orange';\n case ClassroomGroupColour.Green:\n return 'green';\n case ClassroomGroupColour.Blue:\n return 'blue';\n case ClassroomGroupColour.Purple:\n return 'purple';\n case ClassroomGroupColour.Indigo:\n return 'indigo';\n default:\n return 'pink';\n }\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'classrooms.manageClassroomGroupsEmptyState';\n\ninterface ManageClassroomGroupsEmptyStateProps {\n classroomId: string;\n}\n\nexport function RosteredClassroomGroupsEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Classrooms.GROUPS} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info className='mb-2'><Text phrase='info' /></EmptyState.Info>\n\n {/* todo add kb link */}\n <a className='btn btn-link info-link font-semibold' href={''} target='_blank'>\n {LanguageService.getPhrase(namespace, 'rosteringCta')}\n </a>\n \n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}\n\nexport function ManageClassroomGroupsEmptyState(props: ManageClassroomGroupsEmptyStateProps): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Classrooms.GROUPS} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'addGroups')}\n icon={cvSvgLibrary.Plus}\n appLink={{\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.NEW_GROUP,\n args: [props.classroomId]\n }}\n />\n\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"colourColumn\":\"B2Gwz\",\"groupContainer\":\"RXaVm\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClassroomGroup } from 'libs/shared/interfaces';\nimport { Classroom } from 'libs/shared/interfaces';\nimport { mapColourToBsVariant } from 'libs/shared/utils/GroupHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport styles from './manage-classroom-group-item.scss';\n\nconst getPhrase = LanguageService.encloseNamespace('classrooms.manageClassroomGroupItem');\n\ninterface ManageClassroomGroupItemProps {\n classroom: Classroom;\n group: ClassroomGroup;\n}\n\nexport function ManageClassroomGroupItem(props: ManageClassroomGroupItemProps): JSX.Element {\n function onClickEdit(): void {\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\n entity: EntityType.ClassroomGroup,\n workflowPhase: WorkflowPhase.Start,\n actionType: UserAction.Edit,\n location: LocationContext.ManageClassroomGroupListItem\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.EDIT_GROUP,\n args: [ props.classroom.id, props.group.id ]\n });\n }\n\n function onClickDelete(): void {\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\n entity: EntityType.ClassroomGroup,\n workflowPhase: WorkflowPhase.Start,\n actionType: UserAction.Delete,\n location: LocationContext.ManageClassroomGroupListItem\n });\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.DELETE_GROUP,\n args: [ props.classroom.id, props.group.id ]\n });\n }\n\n return (\n <>\n <div className='d-flex align-items-center px-3 py-1'>\n <div className={`${styles.colourColumn} me-2`}>\n <div className={`${styles.groupContainer}`}>\n <IconCircle svgName={cvSvgLibrary.Group} variant={mapColourToBsVariant(props.group.metadata?.colour)} />\n </div>\n </div>\n\n <p className='mb-0 me-auto'>{props.group.name}</p>\n\n <DivButton className='me-2' onClick={onClickEdit}>\n <SvgContainer\n svgName={cvSvgLibrary.Edit}\n title={getPhrase('editGroup')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n\n <DivButton onClick={onClickDelete}>\n <SvgContainer\n svgName={cvSvgLibrary.Delete}\n title={getPhrase('deleteGroup')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"colourColumn\":\"TpyUA\"};","import * as React from 'react';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { Classroom, ClassroomGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { ManageClassroomGroupItem } from 'apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem';\n\nimport { ManageClassroomGroupsEmptyState } from './empty-state/ManageClassroomGroupsEmptyState';\n\nimport styles from './manage-classroom-groups.scss';\n\nconst namespace = 'classrooms.manageClassroomGroups';\n\nconst getCreateGroupAppLink = (id: string) => ({\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.NEW_GROUP,\n args: [id]\n});\n\ninterface ManageClassroomGroupsProps {\n classroom: Classroom;\n groups: ClassroomGroup[];\n}\n\nexport function ManageClassroomGroups(props: ManageClassroomGroupsProps): JSX.Element {\n function onClickCreateGroup(): void {\n AnalyticsHelper.logUserAction({ classroomId: props.classroom.id }, {\n workflowPhase: WorkflowPhase.Start,\n entity: EntityType.ClassroomGroup,\n actionType: UserAction.Create,\n location: LocationContext.ManageClassroomGroups\n });\n }\n\n const isSmallScreen = useMediaQuery(MediaQueryStrings.XLDown);\n\n if (!props.groups?.length)\n return <ManageClassroomGroupsEmptyState classroomId={props.classroom.id} />;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='py-2'>\n <div className={`d-flex align-items-center mb-2 ${!isSmallScreen ? 'ps-3' : ''}`}>\n <h2 className={`h6 mb-0 me-2 ${styles.colourColumn}`}><Text phrase='colour' /></h2>\n <h2 className='h6 mb-0'><Text phrase='groupName' /></h2>\n <IconButton\n appLink={getCreateGroupAppLink(props.classroom.id)}\n onClick={onClickCreateGroup}\n className='btn btn-outline-dark ms-auto'\n svgName={cvSvgLibrary.Plus}\n >\n <Text phrase='createNew' />\n </IconButton>\n </div>\n\n <ul className='striped-list list-unstyled'>\n {!!props.groups?.length && props.groups.map(group => (\n <li key={group.id}>\n <ManageClassroomGroupItem classroom={props.classroom} group={group} />\n </li>\n ))}\n </ul>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"heading\":\"bhtoZ\",\"nameHeading\":\"vytHM\",\"colourHeading\":\"yLWgp\",\"newGroup\":\"r5cCZ\",\"group\":\"ED2Tj\",\"colourPicker\":\"AYLSY\",\"actionIcon\":\"BX3vN\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialPillTabSelector } from 'libs/shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector';\n\nimport styles from './partial-manage-classrooms-groups.scss';\n\nexport function PartialManageClassroomGroups(): JSX.Element {\n return (\n <div className='px-3'>\n {/* Heading */}\n <div className={`mb-1 partial-loading-background ${styles.heading}`} />\n\n {/* Breadcrumbs */}\n <div className='pb-3'>\n <PartialBreadcrumbs numItems={2} />\n </div>\n\n {/* Pill tab selector */}\n <div className='pb-2'>\n <PartialPillTabSelector />\n </div>\n\n <div className='py-2'>\n <div className='d-flex align-items-center'>\n {/* Name heading */}\n <div className='w-25 mb-2'>\n <div className={`partial-loading-background ${styles.nameHeading}`} />\n </div>\n {/* Colour heading */}\n <div className='w-25 mb-2'>\n <div className={`partial-loading-background ${styles.colourHeading}`} />\n </div>\n\n {/* New group button */}\n <div className={`partial-loading-background ms-auto ${styles.newGroup}`} />\n </div>\n\n {/* List of partial group items */}\n <ul className='list-unstyled'>\n {Array(8).fill(null).map((group, i) => (\n <li key={i} className='mb-2'>\n <div className='d-flex align-items-center'>\n {/* Group name */}\n <div className='w-25'>\n <div className={`partial-loading-background ${styles.group}`} />\n </div>\n\n {/* Colour picker */}\n <div className='d-inline-block me-4'>\n <div className={`partial-loading-background ${styles.colourPicker}`} />\n </div>\n\n {/* Edit action */}\n <div className={`partial-loading-background me-2 ${styles.actionIcon}`} />\n {/* Delete action */}\n <div className={`partial-loading-background ${styles.actionIcon}`} />\n </div>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classroom, ClassroomGroupCollection, Config, CurrentUser, UserCollection } from 'libs/shared/interfaces';\n\nimport { ManageClassroomGroupsEmptyState } from 'apps/classrooms/components/manage-classroom-groups/empty-state/ManageClassroomGroupsEmptyState';\nimport { ManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups';\nimport { PartialManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups';\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\nimport { useHandleClassroomErrors } from 'apps/classrooms/hooks/useHandleClassroomErrors';\nimport { ClassroomLayout } from 'apps/classrooms/layouts/ClassroomLayout';\n\nconst namespace = 'classrooms.classroomGroups';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomGroupsViewProps {\n id: string;\n}\n\nexport function ClassroomGroupsView(props: ClassroomGroupsViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const classroom = Flight.useBasicFetch<Classroom>(currentUser.data &&\n ClassroomRequests.getClassroom(props.id, currentUser.data.id));\n const students = Flight.useBasicFetch<UserCollection>(ClassroomRequests.getClassroomStudents(props.id));\n const groups = Flight.useBasicFetch<ClassroomGroupCollection>(ClassroomRequests.getClassroomGroups(props.id));\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const dispatch = useDispatch();\n\n useSetPageMetadata({\n title: getPhrase('pageTitle', { classroomName: classroom.data?.name })\n });\n useHandleClassroomErrors(classroom);\n\n const isRostered = classroom.data?._integrations?.rostered;\n\n function onTogglePin(shouldPin: boolean, onSuccess: () => void, onError: () => void): void {\n if (isRostered)\n return;\n const request = shouldPin\n ? ClassroomRequests.pinClassroom\n : ClassroomRequests.unpinClassroom;\n\n Flight.fetch(dispatch, request(classroom.data, onSuccess, onError));\n }\n\n if (!classroom.data || !students.data?.data || !groups.data?.data || !config.data)\n return <PartialManageClassroomGroups />;\n\n return (\n <ClassroomLayout\n classroom={classroom.data}\n currentUser={currentUser.data}\n onTogglePin={onTogglePin}\n activeTab='groups'\n isRostered={isRostered}\n >\n {groups.data?.data?.length\n ? (\n <ManageClassroomGroups\n classroom={classroom.data}\n groups={groups.data.data}\n />\n ) : (\n <ManageClassroomGroupsEmptyState classroomId={classroom.data.id} />\n )\n }\n </ClassroomLayout>\n );\n}\n"],"names":["mapColourToBsVariant","groupColour","namespace","ManageClassroomGroupsEmptyState","props","value","src","phrase","text","icon","appLink","application","action","args","classroomId","getPhrase","ManageClassroomGroupItem","className","IconCircle","svgName","variant","group","metadata","colour","name","DivButton","onClick","AnalyticsHelper","id","entity","workflowPhase","actionType","location","classroom","SvgContainer","title","tooltipPlacement","tooltipSpanHack","getCreateGroupAppLink","ManageClassroomGroups","isSmallScreen","groups","length","IconButton","map","key","PartialManageClassroomGroups","numItems","PartialPillTabSelector","Array","fill","i","ClassroomGroupsView","currentUser","UserRequests","data","ClassroomRequests","students","config","ConfigRequests","dispatch","useSetPageMetadata","classroomName","useHandleClassroomErrors","isRostered","_integrations","rostered","ClassroomLayout","onTogglePin","shouldPin","onSuccess","onError","request","activeTab"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[6948],{40955:(e,t,a)=>{a.d(t,{P:()=>i});var n=a(32735);function i(e){return e.audience?n.createElement("div",{className:"audience-label border rounded-pill d-inline-block px-2 text-nowrap \n ".concat("border-"+e.border," ").concat(e.className?e.className:"")},e.audience.name):n.createElement(n.Fragment,null)}},17464:(e,t,a)=>{a.d(t,{c:()=>r});var n=a(32735),i=a(7121);function r(e){var t="d-flex align-items-center badge-list ".concat(i.Z.minHeight);return e.className&&(t+=" ".concat(e.className)),n.createElement("div",{className:t},e.children)}},89682:(e,t,a)=>{a.d(t,{I:()=>u,h:()=>d});var n=a(32735),i=a(91967),r=a(83914),o=a(35223),c=a(11607);const l={unchecked:"bup9I",outline:"ealw_",checked:"A1Ov0",checkMark:"c14lI"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d;function u(e){var t,a,u=(t=n.useState(e.status===d.Complete),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,o,c=[],l=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=r.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){s=!0,i=e}finally{try{if(!l&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw i}}return c}}(t,a)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?s(e,t):void 0}}(t,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.")}()),m=u[0],v=u[1];n.useEffect((function(){v(e.status===d.Complete)}),[e.status]);var p="cursor-pointer rounded-circle ".concat(m?l.checked:l.unchecked);return e.className&&(p+=" ".concat(e.className)),"outline"===e.style&&(p+=" ".concat(l.outline)),e.status&&e.status!==d.None&&i.q.isFunction(e.setStatus)?n.createElement(c.L,{className:p,onClick:function(){var t=!m;v(t);var a=t?d.Complete:d.Incomplete;e.setStatus(a).catch((function(){v(!t)}))},disabled:e.disabled},n.createElement(r.x,{svgName:o.vn.Tick,className:"svg-container ".concat(l.checkMark)})):n.createElement(n.Fragment,null)}!function(e){e.None="None",e.Complete="Complete",e.Incomplete="Incomplete"}(d||(d={})),u.defaultProps={style:"filled"}},24900:(e,t,a)=>{a.d(t,{z:()=>l,O:()=>c});var n=a(32735),i=a(83914),r=a(35223);const o={mask:"qpc7L",small:"L8Oxs",video:"b8kJW",playlist:"eo2p2",maskContainer:"lpwag"};var c;function l(e){var t=e.type,a=e.size,l=function(e){return e===c.Video?o.video:e===c.Playlist?o.playlist:""}(t),s=function(e){return e===c.Video?r.vn.PlayCircle:""}(t);return n.createElement("div",{className:"".concat(o.maskContainer," ").concat("sm"===a?o.small:"")},n.createElement("div",{className:o.mask}),n.createElement(i.x,{svgName:s,className:l}))}!function(e){e[e.Video=0]="Video",e[e.Playlist=1]="Playlist",e[e.Series=2]="Series"}(c||(c={})),l.defaults={size:"md"}},22843:(e,t,a)=>{a.d(t,{h:()=>d});var n=a(32735),i=a(65858),r=a(36848),o=a(38647),c=a(11882),l=a(31908);const s={container:"r70GR",titleContainer:"rULXI",seriesTitleBox:"h9k1p",badgeContainer:"QaDDX",audienceBadge:"hvsne"};function d(e){var t=e.video,a=e.appLink,d=e.subTextAppLink,u=l.M.getCanBeConsumed(t).canNavigate;return n.createElement("div",{className:"mt-2 ".concat(s.container)},n.createElement("div",{className:"d-flex flex-column ".concat(s.titleContainer)},l.M.isVideo(t)&&n.createElement(c.$,{type:e.subTextType,className:"text-truncate ".concat(s.seriesTitleBox),video:t,appLink:d,analyticsOptions:{location:i.LZ.VideoThumbnail}}),n.createElement(r.F,{className:"h6 text-reset clamp-2 align-middle",appLink:u?a:null},t.name,n.createElement(o.m,{video:e.video,yearGroups:e.yearGroups,size:"sm"}))))}},89118:(e,t,a)=>{a.d(t,{u:()=>ve});var n=a(32735),i=a(1048),r=a(65858),o=a(18559),c=a(17464),l=a(23481),s=a(91967),d=a(11607),u=a(83914),m=a(69883),v=a(1643),p=a(35223),g=a(31908);const y={favourited:"t0svX",favouriteButton:"CFRo3",heart:"ZMMQu",heartOutline:"truFo"};function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var E=l.T.encloseNamespace("shared.favouriteButton");function h(e){var t,a,i=(0,m.Z)(),r=v.h.isFavouritedByCurrentUser(e.video),o=(t=n.useState(r),a=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,o,c=[],l=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=r.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){s=!0,i=e}finally{try{if(!l&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw i}}return c}}(t,a)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?f(e,t):void 0}}(t,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.")}()),c=o[0],l=o[1];n.useEffect((function(){l(r)}),[r]);var h="".concat("d-flex align-items-center justify-content-center"," cursor-pointer ").concat(y.favouriteButton," ").concat(c?y.favourited:"");return e.className&&(h+=" ".concat(e.className)),s.q.isFunction(e.setFavourite)&&s.q.isFunction(e.canFavourite)&&e.canFavourite(e.video)?n.createElement(d.L,{className:h,onClick:function(){var t=!c;l(t),e.setFavourite(e.video,t,null,(function(){i.error(E(g.M.isClip(e.video)?t?"favouriteClipError":"unfavouriteClipError":g.M.isInteractive(e.video)?t?"favouriteInteractiveError":"unfavouriteInteractiveError":t?"favouriteVideoError":"unfavouriteVideoError")),l(!t)}),e.analyticsData,e.analyticsOptions)}},n.createElement(u.x,{svgName:p.vn.Heart,className:"svg-container ".concat(y.heart)}),n.createElement(u.x,{svgName:p.vn.HeartOutline,className:"svg-container ".concat(y.heartOutline)})):n.createElement(n.Fragment,null)}var b=a(75163),k=a(5465);function C(e){var t=g.M.getVideoProgress(e.video),a=t&&e.video.duration&&t/e.video.duration*1e5;return a?n.createElement("div",{className:"bg-primary h-100",style:{width:"".concat(a,"%")}}):n.createElement(n.Fragment,null)}const N={bottomBar:"YnXtZ"};function O(e){return g.M.isVideo(e.video)?n.createElement("div",{className:N.bottomBar},n.createElement(C,{video:e.video})):n.createElement(n.Fragment,null)}var x=a(36848),w=a(83345);const L={pluginHover:"h4RQa"};var I="shared.pluginHover";function F(e){return e.isPlugin?n.createElement(x.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,onClick:e.onClick,className:"\n position-absolute top-0 start-0 end-0 bottom-0 opacity-0 cursor-pointer\n ".concat(L.pluginHover,"\n ").concat(e.className?e.className:"","\n ")},n.createElement("span",{className:"position-absolute top-50 start-50 translate-middle text-nowrap h4 text-white"},n.createElement(w.x,{namespace:I,phrase:"embed"}))):n.createElement(n.Fragment,null)}const T={padlock:"w4cg8",sm:"JpIYd"};function j(e){var t="sm"===e.size?u.S.Small:u.S.Standard;return n.createElement("div",{className:"".concat(T.padlock," ").concat("sm"===e.size?T.sm:""," bg-white cursor-default d-flex align-items-center justify-content-center")},n.createElement(u.x,{svgName:p.vn.Lock,size:t}))}var M=a(54610),S=a(67453),A=a(76177);const D={logo:"OA9ft",sm:"fyo2J"};function z(e){var t,a,i,r;if(!g.M.isVideo(e.video)||!e.companyLogoFallbackUrl)return n.createElement(n.Fragment,null);var o=null===(a=null===(t=e.video.productionCompanies)||void 0===t?void 0:t.data)||void 0===a?void 0:a[0],c=S.j.createUrl(null!==(r=null===(i=null==o?void 0:o.logo)||void 0===i?void 0:i.url)&&void 0!==r?r:e.companyLogoFallbackUrl,{size:M.h2.Small});return c?n.createElement("div",null,n.createElement(A.u,{title:null==o?void 0:o.name,spanHack:!0},n.createElement("div",{className:"".concat(D.logo," ").concat("sm"===e.size?D.sm:""),style:{backgroundImage:"url(".concat(c,")")}}))):n.createElement(n.Fragment,null)}z.defaultProps={size:"md"};var P=a(11882),R=a(4594),G=a(61150);function V(e){return g.M.isClip(e.video)?n.createElement(G.y,{typeId:R.E.Clip,size:e.size,inContainer:!0}):g.M.isInteractive(e.video)?n.createElement(G.y,{typeId:R.E.Interactive,status:e.video.status,size:e.size,inContainer:!0}):n.createElement(n.Fragment,null)}V.default={size:"md"};var B=a(10439),H=a(49439);const _={overlayContainer:"qu3A3",topLeftContainer:"gjhMe",topRightContainer:"XAfZW",overlay:"NTrtm",downScale:"puKcM",title:"_6FukN",gradient:"rXzR8",playIcon:"dndOA",videoProgress:"yhWf4",badgeContainer:"AtgmC",clipProgress:"E2egN",interactiveProgress:"WycwR"};function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function Z(e){var t="mb-1";return e&&(t+=_.downScale),t}function Q(e){var t,a,l,s=e.video,d=e.appLink,m=e.imageOptions,y=e.setFavourite,f=e.canFavourite,E=e.preload,C=e.hovering,N=e.hoverToPlay,x=e.companyLogoFallbackUrl,w=g.M.getCanBeConsumed(e.video),L=w.canNavigate,I=w.canConsume,T=i.t.isObject(null==d?void 0:d.params)?null==d?void 0:d.params:{},S=Object.assign(Object.assign({},e.analyticsOptions),{entity:g.M.getAnalyticsEntity(s)}),D=v.h.showFavouriteButton(e.video,C),R=g.M.isVideo(s),G=g.M.getRating(e.video),Q=(a=(0,H.L)({delay:100}),l=2,function(e){if(Array.isArray(e))return e}(a)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,o,c=[],l=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=r.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){s=!0,i=e}finally{try{if(!l&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw i}}return c}}(a,l)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?U(e,t):void 0}}(a,l)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),W=Q[0],X=Q[1]&&I&&N,q=Object.assign(Object.assign({},e.analyticsData),{id:s.id,name:s.name}),$=Object.assign(Object.assign({},S),{actionType:r.Vw.Click,descriptor:r._S.Thumbnail});return n.createElement(A.u,{title:g.M.getPrivacyReasoning(e.video),spanHack:!0,spanHackClassName:""},n.createElement("div",{className:"position-relative rounded-3 overflow-hidden",ref:W},n.createElement(F,{isPlugin:e.isPlugin,className:"rounded-3",appLink:L?d:null,analyticsData:q,analyticsOptions:$}),D&&n.createElement("div",{className:_.topRightContainer},n.createElement(h,{setFavourite:y,canFavourite:f,video:s,analyticsData:e.analyticsData,analyticsOptions:S})),!L&&n.createElement("div",{className:_.topRightContainer},n.createElement(j,null)),n.createElement("div",{className:"".concat(_.topLeftContainer," d-flex flex-no-wrap")},n.createElement(V,{video:s}),n.createElement(z,{video:s,companyLogoFallbackUrl:x})),n.createElement(b.Z,{data:g.M.getThumbnail(s),appLink:L?d:null,imageType:M.__.Thumbnails,imageOptions:m,preload:E,className:_.gradient,alt:("series"in s&&(null===(t=s.series)||void 0===t?void 0:t.name)?"".concat(s.series.name,": "):"")+s.name,analyticsData:q,analyticsOptions:$},!(!C||!L)&&n.createElement(u.x,{className:_.playIcon,svgName:p.vn.PlayCircle}),n.createElement(k.oy,{type:k.mS.Video}),n.createElement("div",{className:_.overlayContainer},n.createElement("div",{className:_.overlay},n.createElement("div",{className:"".concat(Z(C)," ").concat(_.title)},R&&n.createElement(P.$,{type:e.subTextType,className:"text-shadow clamp-1",video:s,appLink:null,analyticsOptions:null}),n.createElement("span",{className:"h6 text-reset text-shadow clamp-1"},g.M.getTitle(s))),n.createElement(O,{video:s}),C&&n.createElement(c.c,{className:"mt-1"},g.M.isVideo(s)&&n.createElement(n.Fragment,null,n.createElement(o.C,{type:o.g.Rating,data:G}),s.hasSubtitle&&n.createElement("span",{className:"badge p-0"},n.createElement(u.x,{svgName:p.vn.CloseCaptionBadge})),n.createElement(o.C,{type:o.g.Interactive,data:s.hasInteractives}),n.createElement(o.C,{type:o.g.DurationExact,data:g.M.getDuration(e.video)})))))),X&&n.createElement(B.r,{key:e.video.id,objectId:e.video.id,objectTypeId:e.video.typeId,mode:"hover",context:T.context,contextId:T.contextId,moviesAndTv:T.mtv})))}var W=a(64446),X=a(40955);const q={badgeContainer:"fy9Un",sm:"Rb0TL"};function $(e){var t=g.M.getRating(e.video),a=!!e.audience&&"sm"!==e.size,i=!a&&!e.hideRating&&!!t&&"sm"!==e.size;return!e.hideDuration||a||i?n.createElement(c.c,{className:"".concat(q.badgeContainer," ").concat("sm"===e.size?q.sm:"")},a&&n.createElement(X.P,{audience:e.audience,className:"bg-white text-dark",border:"dark"}),i&&n.createElement(o.C,{type:o.g.Rating,data:t}),!e.hideDuration&&n.createElement(o.C,{type:e.newDurationStyle?o.g.DurationApproximate:o.g.DurationExact,data:e.duration||g.M.getDuration(e.video)})):n.createElement(n.Fragment,null)}$.defaultProps={newDurationStyle:!0,size:"md"};var J=a(22843),K=a(60318);const Y={preview:"whbhf",topLeftContainer:"wHY80",details:"vMaXP",isHovering:"tR1jA",videoGuidanceTags:"KJrT1",responsiveGuidance:"OixHb",dropdown:"oZXV7",show:"EiQ04",topRightContainer:"FAuzc"};var ee=function(e){var t,a=e.video,o=e.appLink,c=e.imageOptions,l=e.preload,s=e.setFavourite,d=e.canFavourite,u=e.isHovering,m=e.hoverToPlay,p=e.companyLogoFallbackUrl,y=i.t.isObject(null==o?void 0:o.params)?null==o?void 0:o.params:{},f=g.M.getCanBeConsumed(a),E=f.canNavigate,C=f.canConsume;n.useEffect((function(){return function(){var t;null===(t=e.cleanPortalNode)||void 0===t||t.call(e)}}),[]);var N="position-relative bg-white";e.extraClasses&&(N+=" ".concat(e.extraClasses)),u&&(N+=" rounded-3 shadow-lg");var x=Object.assign(Object.assign({},e.analyticsOptions),{entity:g.M.getAnalyticsEntity(a)}),w=e.isHovering&&C&&m,L=v.h.showFavouriteButton(e.video,u),I=Object.assign(Object.assign({},e.analyticsData),{id:a.id,name:a.name}),T=Object.assign(Object.assign({},x),{actionType:r.Vw.Click,descriptor:r._S.Thumbnail});return n.createElement("div",{className:N},L&&n.createElement("div",{className:Y.topRightContainer},n.createElement(h,{setFavourite:s,canFavourite:d,video:a,analyticsData:e.analyticsData,analyticsOptions:x})),!E&&n.createElement("div",{className:Y.topRightContainer},n.createElement(A.u,{title:g.M.getPrivacyReasoning(e.video),spanHack:!0,spanHackClassName:""},n.createElement(j,null))),n.createElement("div",{className:"position-relative"},n.createElement(F,{isPlugin:e.isPlugin,className:u?"rounded-top-3":"rounded-3",onClick:function(){var t;return null===(t=e.cleanPortalNode)||void 0===t?void 0:t.call(e)},appLink:E?o:null,analyticsData:I,analyticsOptions:T}),n.createElement(b.Z,{onClick:function(){var t;return null===(t=e.cleanPortalNode)||void 0===t?void 0:t.call(e)},data:g.M.getThumbnail(a),appLink:E?o:null,imageType:M.__.Thumbnails,imageOptions:c,preload:l,className:"overflow-hidden ".concat(u?Y.preview:"rounded-3 ".concat(Y.original)),alt:("series"in a&&(null===(t=a.series)||void 0===t?void 0:t.name)?"".concat(a.series.name,": "):"")+a.name,analyticsData:I,analyticsOptions:T},n.createElement(k.oy,{type:k.mS.Video}),n.createElement("div",{className:"p-absolute w-100 h-100 text-white"},n.createElement("div",{className:"".concat(Y.topLeftContainer," d-flex flex-no-wrap")},n.createElement(V,{video:a}),n.createElement(z,{video:a,companyLogoFallbackUrl:p})),n.createElement($,{video:e.video,audience:e.audience,hideRating:e.hideRating,hideDuration:e.hideDuration}),n.createElement(O,{video:a}))),w&&n.createElement(B.r,{key:e.video.id,objectId:e.video.id,objectTypeId:e.video.typeId,mode:"hover",context:y.context,contextId:y.contextId,moviesAndTv:y.mtv,location:"popout-video"})),!u&&!e.hideTitle&&n.createElement(J.h,Object.assign({},e)),n.createElement("div",{className:"".concat(Y.details," ").concat(u?"".concat(Y.isHovering," box-shadow"):"")},u&&n.createElement(n.Fragment,null,n.createElement("div",{className:"".concat(u?Y.videoGuidanceTags:"")},n.createElement(J.h,Object.assign({},e)),e.showVideoGuidance&&u&&n.createElement(K.u,{getClassroomGuideAppLink:e.getClassroomGuideAppLink,getResourceGuidanceAppLink:e.getResourceGuidanceAppLink,getInteractiveGuidanceAppLink:e.getInteractiveGuidanceAppLink,video:e.video,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,responsiveClassName:Y.responsiveGuidance,containerClassName:"d-flex justify-content-start align-items-center pt-2"})))))};function te(e){return n.createElement(n.Fragment,null,n.createElement(W.K,{hoverableComponent:ee,componentProps:e,fixedHoverWidth:400,minHoverWidth:400,analyticsData:Object.assign(Object.assign({},e.analyticsData),{id:e.video.id,name:e.video.name}),analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{entity:g.M.getAnalyticsEntity(e.video)})}))}var ae=a(24900),ne=a(89682);const ie={container:"efxnE",cvIcon:"OJ_ZQ",action:"vWvGn"};function re(e){return g.M.getCanBeConsumed(e.video).canNavigate?function(e){var t;return!(null===(t=g.M.getCanBeConsumed(e.video))||void 0===t?void 0:t.canConsume)||!(!s.q.isFunction(e.setFavourite)||!s.q.isFunction(e.canFavourite))||!!s.q.isFunction(e.setCheckMarkStatus)}(e)?n.createElement("div",{className:"".concat(ie.container," d-flex align-items-center")},n.createElement(h,{setFavourite:e.setFavourite,canFavourite:e.canFavourite,video:e.video,className:ie.action,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions}),n.createElement(ne.I,{status:e.checkMarkStatus,setStatus:e.setCheckMarkStatus,className:ie.action})):n.createElement(n.Fragment,null):n.createElement("div",{className:ie.container},n.createElement(j,{size:e.size}))}var oe=a(68626);const ce={titleOverlay:"krg9f",clip:"MPRU6",large:"g5_ww",interactive:"Zzo3e",titleBelow:"tZjPt",overlayContainer:"EElm1",topLeftContainer:"hrw3I",gradient:"LS_EH"};function le(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,o,c=[],l=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(n=r.call(a)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){s=!0,i=e}finally{try{if(!l&&null!=a.return&&(o=a.return(),Object(o)!==o))return}finally{if(s)throw i}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return se(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?se(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 se(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var de="shared.staticVideoThumbnail";function ue(e){var t,a=e.video,i=e.subTextAppLink,o=e.textPosition,c=e.appLink,s=o===oe.z.Overlay,d=g.M.getCanBeConsumed(e.video).canNavigate,u="";return s?(u=ce.titleOverlay,d&&(g.M.isClip(a)&&(u+=" "+ce.clip),g.M.isInteractive(a)&&(u+=" "+ce.interactive))):u=ce.titleBelow,n.createElement("div",{className:u},g.M.isVideo(a)&&n.createElement(P.$,{type:e.subTextType,className:s?"text-shadow clamp-1":"clamp-2",video:a,appLink:s?null:i,analyticsOptions:{location:r.LZ.VideoThumbnail}}),s||!d?n.createElement("span",{className:"h6 text-reset clamp-1"},null!==(t=a.name)&&void 0!==t?t:l.T.getPhrase(de,"videoUnavailable")):n.createElement(x.F,{className:"h6 text-reset clamp-2",appLink:c},a.name))}function me(e){var t,a,o=e.video,c=e.appLink,l=e.textPosition,s=e.imageOptions,d=e.setFavourite,u=e.preload,m=e.hoverToPlay,p=i.t.isObject(null==c?void 0:c.params)?null==c?void 0:c.params:{},y=le((0,H.X)(),2),f=y[0],E=y[1],h=le((0,H.L)({delay:100}),2),C=h[0],N=h[1],x=g.M.getCanBeConsumed(o),w=x.canNavigate,L=x.canConsume,I=N&&L&&m,T=Object.assign(Object.assign({},e.analyticsOptions),{entity:g.M.getAnalyticsEntity(o)}),j=!!c&&!e.hideMask&&w,S=g.M.getPrivacyReasoning(e.video,e.showSignIn),D=Object.assign(Object.assign({},e.analyticsData),{id:o.id,name:o.name}),P=Object.assign(Object.assign({},T),{actionType:r.Vw.Click,descriptor:r._S.Thumbnail});return n.createElement(A.u,{title:S,spanHack:!0,spanHackClassName:""},n.createElement("div",{className:(a="position-relative",a+=c&&w?" cursor-pointer":"",e.extraClasses&&(a+=" ".concat(e.extraClasses)),l===oe.z.Overlay&&(a+=" rounded overflow-hidden"),a),ref:function(e){f.current=e,C.current=e}},n.createElement(F,{isPlugin:e.isPlugin,className:"sm"===e.size?"rounded":"rounded-3",appLink:w?c:null,analyticsData:D,analyticsOptions:P}),n.createElement(re,{video:o,checkMarkStatus:e.checkMarkStatus,setCheckMarkStatus:e.setCheckMarkStatus,setFavourite:d,canFavourite:function(){var t;return(null===(t=e.canFavourite)||void 0===t?void 0:t.call(e,e.video))&&v.h.showFavouriteButton(o,E)},analyticsData:e.analyticsData,analyticsOptions:T,size:e.size}),n.createElement(b.Z,{data:g.M.getThumbnail(o),appLink:w?c:null,onClick:w?e.onClick:void 0,imageType:M.__.Thumbnails,imageOptions:s,preload:u,className:function(){var t="overflow-hidden ".concat("sm"===e.size?"rounded":"rounded-3");return e.imageClassName&&(t+=" ".concat(e.imageClassName)),l===oe.z.Overlay&&(t+=" ".concat(ce.gradient)),t}(),alt:("series"in o&&(null===(t=o.series)||void 0===t?void 0:t.name)?"".concat(o.series.name,": "):"")+o.name,analyticsData:D,analyticsOptions:P},j&&n.createElement(ae.z,{type:ae.O.Video,size:e.size}),n.createElement(k.oy,{type:k.mS.Video}),n.createElement("div",{className:ce.overlayContainer},l===oe.z.Overlay&&n.createElement(ue,Object.assign({},e)),n.createElement("div",{className:"".concat(ce.topLeftContainer," d-flex flex-no-wrap")},n.createElement(V,{video:o,size:e.size}),n.createElement(z,{video:o,companyLogoFallbackUrl:e.companyLogoFallbackUrl,size:e.size})),n.createElement(O,{video:o}),n.createElement($,{video:e.video,audience:e.audience,hideRating:e.hideRating,hideDuration:e.hideDuration,newDurationStyle:e.newDurationStyle,size:e.size}))),I&&n.createElement(B.r,{key:e.video.id,objectId:e.video.id,objectTypeId:e.video.typeId,mode:"hover",context:p.context,contextId:p.contextId,moviesAndTv:p.mtv}),l===oe.z.Below&&n.createElement(ue,Object.assign({},e))))}function ve(e){switch(e.type){case"static":return n.createElement(me,Object.assign({},e));case"cosmetic":return n.createElement(me,Object.assign({},e,{hoverToPlay:!1}));case"expandable":return n.createElement(Q,Object.assign({},e));case"popout":return n.createElement(te,Object.assign({},e));default:return}}ve.defaultProps={hideRating:!0,size:"md",hoverToPlay:!0}},61150:(e,t,a)=>{a.d(t,{y:()=>v});var n=a(32735),i=a(23481),r=a(83914),o=a(5960),c=a(4594),l=a(35223);const s={topLeftContainer:"iwBld",draft:"QBpxh",badge:"KcvGx",svg:"gW733",text:"QiH5Q",sm:"tn2BH"};var d=i.T.encloseNamespace("shared.typeBadge");function u(e){switch(e){case c.E.Clip:return l.vn.Clip;case c.E.Interactive:return l.vn.Interactive;case c.E.Resource:return l.vn.Resources;default:return""}}function m(e,t){switch(e){case c.E.Clip:return"bg-dark-blue";case c.E.Interactive:return t===o.X.Draft?s.draft:"bg-green";case c.E.Resource:return"bg-indigo";default:return""}}function v(e){var t="".concat(s.badge," rounded-pill text-white ps-0 ").concat("sm"===e.size?s.sm:"");return n.createElement("div",{className:e.inContainer?"":s.topLeftContainer},n.createElement("div",{className:"".concat(t," ").concat(m(e.typeId,e.status))},n.createElement(r.x,{className:"svg-container d-block ".concat(s.svg),size:"sm"===e.size?r.S.Small:r.S.Standard,svgName:u(e.typeId)}),n.createElement("span",{className:s.text},function(e){switch(e){case c.E.Clip:return d("clip");case c.E.Interactive:return d("interactive");case c.E.Resource:return d("resource");default:return""}}(e.typeId))))}v.default={size:"md"}},38647:(e,t,a)=>{a.d(t,{m:()=>s});var n=a(32735),i=a(83914),r=a(76177),o=a(26361),c=a(35223),l=a(31908);function s(e){if(!e.yearGroups)return n.createElement(n.Fragment,null);var t=o.l.mapRestrictionToText(e.video._restrictions,e.yearGroups);return l.M.getCanBeConsumed(e.video).canConsume&&t?n.createElement(r.u,{spanHack:!0,spanHackClassName:e.className||"d-inline-block ps-1",title:t,placement:e.tooltipPlacement||"top"},n.createElement(i.x,{svgName:c.vn.Lock,size:"sm"===e.size?i.S.Small:i.S.Standard})):n.createElement(n.Fragment,null)}},60318:(e,t,a)=>{a.d(t,{u:()=>h});var n=a(32735),i=a(23481),r=a(65858),o=a(83914),c=a(36848);const l={tag:"OjHQZ",icon:"SS2zL",active:"kD1xM"};function s(e){var t,a;return e.appLink?n.createElement(c.F,{appLink:e.appLink,analyticsData:e.appLinkAnalyticsData,analyticsOptions:e.appLinkAnalyticsOptions,className:"\n p-1 pe-2 rounded-pill d-inline-flex align-items-center cursor-pointer\n text-decoration-none ".concat(null===(t=e.theme)||void 0===t?void 0:t.container," ").concat(l.tag," ").concat(e.active?l.active:"","\n ")},n.createElement(d,Object.assign({},e))):n.createElement("div",{className:null===(a=e.theme)||void 0===a?void 0:a.container},n.createElement(d,Object.assign({},e)))}function d(e){var t;return n.createElement(n.Fragment,null,n.createElement(o.x,{className:"".concat(l.icon," rounded-circle bg-").concat(e.iconVariant," text-white"),svgName:e.svgName}),n.createElement("span",{className:"ps-1 text-nowrap user-select-none ".concat(null===(t=e.theme)||void 0===t?void 0:t.tabLabel)},e.text))}var u=a(35223),m=a(31908),v="shared.classroomGuideTag";function p(e){var t,a,o;return!e.video||m.M.isInteractive(e.video)?n.createElement(n.Fragment,null):e.video.glance?n.createElement(s,{theme:{container:"classroom-guide-tag",tabLabel:"classroom-guide-tag-label"},svgName:u.vn.GraduationCap,iconVariant:"navy",text:i.T.getPhrase(v,"classroomGuide"),appLink:e.appLink,appLinkAnalyticsData:Object.assign({glanceId:null===(t=e.video.glance)||void 0===t?void 0:t.id,totalPointsOfInterest:null===(o=null===(a=e.video.pointsOfInterest)||void 0===a?void 0:a.data)||void 0===o?void 0:o.length,videoGuidanceType:"classroom-guide"},e.analyticsData),appLinkAnalyticsOptions:Object.assign({actionType:r.Vw.Click,entity:m.M.getAnalyticsEntity(e.video)},e.analyticsOptions)}):n.createElement(n.Fragment,null)}var g="shared.interactivesTag";function y(e){var t;if(!m.M.showInteractivesGuidance(e.video))return n.createElement(n.Fragment,null);var a=!m.M.isInteractive(e.video)&&((null===(t=e.video.interactives)||void 0===t?void 0:t.data.length)||0);return n.createElement(s,{svgName:u.vn.Interactive,iconVariant:"green",text:i.T.getPhrase(g,"interactives",{smartCount:a}),appLink:e.appLink,appLinkAnalyticsData:Object.assign({videoGuidanceType:"interactive",videoGuidanceTotalItems:a},e.analyticsData),appLinkAnalyticsOptions:Object.assign({actionType:r.Vw.Click,entity:m.M.getAnalyticsEntity(e.video)},e.analyticsOptions)})}var f="shared.resourcesTag";function E(e){var t;if(!m.M.showResourcesGuidance(e.video))return n.createElement(n.Fragment,null);var a=!m.M.isInteractive(e.video)&&(null===(t=e.video.resources)||void 0===t?void 0:t.data.length)||0;return n.createElement(s,{svgName:u.vn.Resources,iconVariant:"indigo",text:i.T.getPhrase(f,"resources",{smartCount:a}),appLink:e.appLink,appLinkAnalyticsData:Object.assign({videoGuidanceType:"resource",videoGuidanceTotalItems:a},e.analyticsData),appLinkAnalyticsOptions:Object.assign({actionType:r.Vw.Click,entity:m.M.getAnalyticsEntity(e.video)},e.analyticsOptions)})}function h(e){var t,a,i,r=m.M.showInteractivesGuidance(e.video)&&m.M.showResourcesGuidance(e.video);return n.createElement("div",{className:"".concat(e.containerClassName," ").concat(r?e.responsiveClassName:"")},n.createElement(p,{appLink:null===(t=e.getClassroomGuideAppLink)||void 0===t?void 0:t.call(e,e.video.id,e.video.typeId),video:e.video,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions}),n.createElement(E,{appLink:null===(a=e.getResourceGuidanceAppLink)||void 0===a?void 0:a.call(e,e.video.id,e.video.typeId),video:e.video,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions}),n.createElement(y,{appLink:null===(i=e.getInteractiveGuidanceAppLink)||void 0===i?void 0:i.call(e,e.video.id,e.video.typeId),video:e.video,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions}))}},10439:(e,t,a)=>{a.d(t,{r:()=>c});var n=a(32735),i=a(17082),r=a(35429);const o={hoverContainer:"TzWQw",hovering:"gdTcW"};function c(e){var t,a=(0,r.g)();if(null===(t=a.useInitialize)||void 0===t||t.call(a,e),!a.hasProvider)return n.createElement(n.Fragment,null);if("picture-in-picture"===a.mode)return n.createElement(n.Fragment,null);if("hover"===e.mode&&a.isOnPlayPage)return n.createElement(n.Fragment,null);if("default"===a.mode||"play-page"===e.location)return n.createElement(i.t0,{node:a.portalNode});var c=a.started,l="rounded-3";"popout-video"===e.location&&(l="rounded-top-3");var s="".concat(o.hoverContainer," ").concat(c?o.hovering:""," ").concat(l," overflow-hidden");return n.createElement("div",{className:s},n.createElement(i.t0,{node:a.portalNode}))}},68626:(e,t,a)=>{var n;a.d(t,{z:()=>n}),function(e){e[e.Below=1]="Below",e[e.Overlay=2]="Overlay",e[e.Independent=3]="Independent"}(n||(n={}))}}]);
2
+ //# sourceMappingURL=6948-84a5f8d76f-lite.chunk.js.map