@clickview/streamable-learning 0.35.0 → 0.36.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  2. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  3. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  4. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  5. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  6. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  10. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  11. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  12. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  16. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  17. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  18. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  19. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  20. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  21. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  22. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  23. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  26. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  27. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  28. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  29. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  30. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  31. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  32. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  33. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  34. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  35. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  36. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  43. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  44. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  45. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  46. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  47. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  48. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  49. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  50. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  51. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  52. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  53. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  54. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  55. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  56. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  57. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  58. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  59. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  60. package/dist/bundles.json +2 -2
  61. package/dist/css/B-attovs.chunk.css +9 -0
  62. package/dist/css/B1NucFMn.chunk.css +1 -0
  63. package/dist/css/BPdg7JW4.chunk.css +1 -0
  64. package/dist/css/BPrUSCaY.chunk.css +1 -0
  65. package/dist/css/BR0fUt9D.chunk.css +1 -0
  66. package/dist/css/BhYm6SRm.chunk.css +1 -0
  67. package/dist/css/BiRz4h1c.chunk.css +1 -0
  68. package/dist/css/Bq1ChJn4.chunk.css +1 -0
  69. package/dist/css/Bt85j9js.chunk.css +1 -0
  70. package/dist/css/BuYrqi9E.chunk.css +1 -0
  71. package/dist/css/BugV1Bpa.chunk.css +1 -0
  72. package/dist/css/BuuVPl7n.chunk.css +1 -0
  73. package/dist/css/C1NkrNqQ.chunk.css +1 -0
  74. package/dist/css/C1qv5jz5.chunk.css +1 -0
  75. package/dist/css/C7XoyEPr.chunk.css +1 -0
  76. package/dist/css/C7_MDu56.chunk.css +1 -0
  77. package/dist/css/CC5F5C8O.chunk.css +1 -0
  78. package/dist/css/CChSC6Ta.chunk.css +1 -0
  79. package/dist/css/CCsCPLDG.chunk.css +1 -0
  80. package/dist/css/CD1qrI1T.chunk.css +1 -0
  81. package/dist/css/CKqvCBj4.chunk.css +1 -0
  82. package/dist/css/CLZ0Ycds.chunk.css +1 -0
  83. package/dist/css/CO7M4rZW.chunk.css +1 -0
  84. package/dist/css/CY0yvCW4.chunk.css +1 -0
  85. package/dist/css/CYGsw8FT.chunk.css +1 -0
  86. package/dist/css/Cbi3KYBa.chunk.css +1 -0
  87. package/dist/css/CgWQu_Ss.chunk.css +1 -0
  88. package/dist/css/CliS8Q8r.chunk.css +1 -0
  89. package/dist/css/D-kQKsZN.chunk.css +1 -0
  90. package/dist/css/D2NwUVrK.chunk.css +1 -0
  91. package/dist/css/D4g1IoUU.chunk.css +1 -0
  92. package/dist/css/DBgpcO3T.chunk.css +1 -0
  93. package/dist/css/DDnpOnVB.chunk.css +1 -0
  94. package/dist/css/DZJSONGP.chunk.css +1 -0
  95. package/dist/css/DeAfaPiD.chunk.css +1 -0
  96. package/dist/css/Dj731zLm.chunk.css +1 -0
  97. package/dist/css/DjPPxa0A.chunk.css +1 -0
  98. package/dist/css/DlOtoSz0.chunk.css +1 -0
  99. package/dist/css/DwduQat7.chunk.css +1 -0
  100. package/dist/css/Dzuu2GTx.chunk.css +1 -0
  101. package/dist/css/JAvsJreH.chunk.css +1 -0
  102. package/dist/css/NKlFYVOc.chunk.css +1 -0
  103. package/dist/css/VZd8qGtK.chunk.css +1 -0
  104. package/dist/css/Y7U--2na.chunk.css +1 -0
  105. package/dist/css/ir3IcK_l.chunk.css +1 -0
  106. package/dist/css/jbMisi9r.chunk.css +1 -0
  107. package/dist/css/kS5aDtIJ.chunk.css +1 -0
  108. package/dist/css/mqCL1o7m.chunk.css +1 -0
  109. package/dist/css/qZzkUeZk.chunk.css +1 -0
  110. package/dist/css/sC_H3yXE.chunk.css +1 -0
  111. package/dist/css/wR_6C_NV.chunk.css +1 -0
  112. package/dist/en.json +1 -0
  113. package/dist/scripts/38Gc6FvJ.chunk.js +2 -0
  114. package/dist/scripts/38Gc6FvJ.chunk.js.map +1 -0
  115. package/dist/scripts/9vP26Hjl.chunk.js +2 -0
  116. package/dist/scripts/9vP26Hjl.chunk.js.map +1 -0
  117. package/dist/scripts/B-YTLo4E.chunk.js +2 -0
  118. package/dist/scripts/B-YTLo4E.chunk.js.map +1 -0
  119. package/dist/scripts/B2rqAGbQ.chunk.js +2 -0
  120. package/dist/scripts/B2rqAGbQ.chunk.js.map +1 -0
  121. package/dist/scripts/B46nd_gM.chunk.js +2 -0
  122. package/dist/scripts/B46nd_gM.chunk.js.map +1 -0
  123. package/dist/scripts/B61dxODs.chunk.js +2 -0
  124. package/dist/scripts/B61dxODs.chunk.js.map +1 -0
  125. package/dist/scripts/B928Y1m-.chunk.js +2 -0
  126. package/dist/scripts/B928Y1m-.chunk.js.map +1 -0
  127. package/dist/scripts/BBnDr_iy.chunk.js +2 -0
  128. package/dist/scripts/BBnDr_iy.chunk.js.map +1 -0
  129. package/dist/scripts/BDwX0xO5.chunk.js +7 -0
  130. package/dist/scripts/BDwX0xO5.chunk.js.map +1 -0
  131. package/dist/scripts/BFcg4phV.chunk.js +15 -0
  132. package/dist/scripts/BFcg4phV.chunk.js.map +1 -0
  133. package/dist/scripts/BOH3SvVi.chunk.js +2 -0
  134. package/dist/scripts/BOH3SvVi.chunk.js.map +1 -0
  135. package/dist/scripts/BPzvNgkA.chunk.js +10 -0
  136. package/dist/scripts/BPzvNgkA.chunk.js.map +1 -0
  137. package/dist/scripts/BWkYFXR0.chunk.js +2 -0
  138. package/dist/scripts/BWkYFXR0.chunk.js.map +1 -0
  139. package/dist/scripts/BYrL8Bl0.chunk.js +2 -0
  140. package/dist/scripts/BYrL8Bl0.chunk.js.map +1 -0
  141. package/dist/scripts/BaMuTXqa.chunk.js +2 -0
  142. package/dist/scripts/BaMuTXqa.chunk.js.map +1 -0
  143. package/dist/scripts/Bbj3u3zY.chunk.js +2 -0
  144. package/dist/scripts/Bbj3u3zY.chunk.js.map +1 -0
  145. package/dist/scripts/Bd-gJLT1.chunk.js +2 -0
  146. package/dist/scripts/Bd-gJLT1.chunk.js.map +1 -0
  147. package/dist/scripts/BdHxGaRy.chunk.js +2 -0
  148. package/dist/scripts/BdHxGaRy.chunk.js.map +1 -0
  149. package/dist/scripts/BdPgUz8g.chunk.js +2 -0
  150. package/dist/scripts/BdPgUz8g.chunk.js.map +1 -0
  151. package/dist/scripts/Be6BKGLG.chunk.js +356 -0
  152. package/dist/scripts/Be6BKGLG.chunk.js.map +1 -0
  153. package/dist/scripts/BfK6q73t.chunk.js +8 -0
  154. package/dist/scripts/BfK6q73t.chunk.js.map +1 -0
  155. package/dist/scripts/Bg1w511R.chunk.js +2 -0
  156. package/dist/scripts/Bg1w511R.chunk.js.map +1 -0
  157. package/dist/scripts/Bg6K2hsA.chunk.js +3 -0
  158. package/dist/scripts/Bg6K2hsA.chunk.js.map +1 -0
  159. package/dist/scripts/BiLpxxSD.chunk.js +2 -0
  160. package/dist/scripts/BiLpxxSD.chunk.js.map +1 -0
  161. package/dist/scripts/BmN5JsPi.chunk.js +5 -0
  162. package/dist/scripts/BmN5JsPi.chunk.js.map +1 -0
  163. package/dist/scripts/BnSh6tRF.chunk.js +2 -0
  164. package/dist/scripts/BnSh6tRF.chunk.js.map +1 -0
  165. package/dist/scripts/Bnt14Hw8.chunk.js +2 -0
  166. package/dist/scripts/Bnt14Hw8.chunk.js.map +1 -0
  167. package/dist/scripts/BpRVTpnA.chunk.js +8 -0
  168. package/dist/scripts/BpRVTpnA.chunk.js.map +1 -0
  169. package/dist/scripts/BsoISj2P.chunk.js +2 -0
  170. package/dist/scripts/BsoISj2P.chunk.js.map +1 -0
  171. package/dist/scripts/BuNZOfIz.chunk.js +2 -0
  172. package/dist/scripts/BuNZOfIz.chunk.js.map +1 -0
  173. package/dist/scripts/BvQxdtl3.chunk.js +2 -0
  174. package/dist/scripts/BvQxdtl3.chunk.js.map +1 -0
  175. package/dist/scripts/C2zcSUEr.chunk.js +2 -0
  176. package/dist/scripts/C2zcSUEr.chunk.js.map +1 -0
  177. package/dist/scripts/C35NlkUr.chunk.js +2 -0
  178. package/dist/scripts/C35NlkUr.chunk.js.map +1 -0
  179. package/dist/scripts/C5Fq7Tf-.chunk.js +2 -0
  180. package/dist/scripts/C5Fq7Tf-.chunk.js.map +1 -0
  181. package/dist/scripts/CD-ZU1Sa.chunk.js +2 -0
  182. package/dist/scripts/CD-ZU1Sa.chunk.js.map +1 -0
  183. package/dist/scripts/CEmtkty-.chunk.js +2 -0
  184. package/dist/scripts/CEmtkty-.chunk.js.map +1 -0
  185. package/dist/scripts/CO1Up6zQ.chunk.js +2 -0
  186. package/dist/scripts/CO1Up6zQ.chunk.js.map +1 -0
  187. package/dist/scripts/CPNjAJN5.chunk.js +2 -0
  188. package/dist/scripts/CPNjAJN5.chunk.js.map +1 -0
  189. package/dist/scripts/CPXlV0fg.chunk.js +2 -0
  190. package/dist/scripts/CPXlV0fg.chunk.js.map +1 -0
  191. package/dist/scripts/CQJIB_e-.chunk.js +2 -0
  192. package/dist/scripts/CQJIB_e-.chunk.js.map +1 -0
  193. package/dist/scripts/CRusuLqR.chunk.js +2 -0
  194. package/dist/scripts/CRusuLqR.chunk.js.map +1 -0
  195. package/dist/scripts/CTWahyAB.chunk.js +2 -0
  196. package/dist/scripts/CTWahyAB.chunk.js.map +1 -0
  197. package/dist/scripts/CU5Dd7rS.chunk.js +2 -0
  198. package/dist/scripts/CU5Dd7rS.chunk.js.map +1 -0
  199. package/dist/scripts/CW7x8M-z.chunk.js +2 -0
  200. package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
  201. package/dist/scripts/CX-Bc0hf.chunk.js +2 -0
  202. package/dist/scripts/CX-Bc0hf.chunk.js.map +1 -0
  203. package/dist/scripts/CY1om5lx.chunk.js +2 -0
  204. package/dist/scripts/CY1om5lx.chunk.js.map +1 -0
  205. package/dist/scripts/C_79jeAr.chunk.js +2 -0
  206. package/dist/scripts/C_79jeAr.chunk.js.map +1 -0
  207. package/dist/scripts/C_pobyVf.chunk.js +3 -0
  208. package/dist/scripts/C_pobyVf.chunk.js.map +1 -0
  209. package/dist/scripts/Cgf5lDwO.chunk.js +2 -0
  210. package/dist/scripts/Cgf5lDwO.chunk.js.map +1 -0
  211. package/dist/scripts/Ci9wGu6N.chunk.js +2 -0
  212. package/dist/scripts/Ci9wGu6N.chunk.js.map +1 -0
  213. package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
  214. package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
  215. package/dist/scripts/Cp-yDIHE.chunk.js +2 -0
  216. package/dist/scripts/Cp-yDIHE.chunk.js.map +1 -0
  217. package/dist/scripts/CqWRz_Vd.chunk.js +2 -0
  218. package/dist/scripts/CqWRz_Vd.chunk.js.map +1 -0
  219. package/dist/scripts/Cs-XAmfP.chunk.js +2 -0
  220. package/dist/scripts/Cs-XAmfP.chunk.js.map +1 -0
  221. package/dist/scripts/CsxsnXoH.chunk.js +2 -0
  222. package/dist/scripts/CsxsnXoH.chunk.js.map +1 -0
  223. package/dist/scripts/CvuMDF0y.chunk.js +2 -0
  224. package/dist/scripts/CvuMDF0y.chunk.js.map +1 -0
  225. package/dist/scripts/CwRpHtAf.chunk.js +2 -0
  226. package/dist/scripts/CwRpHtAf.chunk.js.map +1 -0
  227. package/dist/scripts/D4OCofAF.chunk.js +2 -0
  228. package/dist/scripts/D4OCofAF.chunk.js.map +1 -0
  229. package/dist/scripts/D4x4hAdA.chunk.js +2 -0
  230. package/dist/scripts/D4x4hAdA.chunk.js.map +1 -0
  231. package/dist/scripts/DBaknZA7.chunk.js +2 -0
  232. package/dist/scripts/DBaknZA7.chunk.js.map +1 -0
  233. package/dist/scripts/DBdD19pY.chunk.js +53 -0
  234. package/dist/scripts/DBdD19pY.chunk.js.map +1 -0
  235. package/dist/scripts/DELBynwO.chunk.js +2 -0
  236. package/dist/scripts/DELBynwO.chunk.js.map +1 -0
  237. package/dist/scripts/DEixuHfi.chunk.js +2 -0
  238. package/dist/scripts/DEixuHfi.chunk.js.map +1 -0
  239. package/dist/scripts/DFhkO_lZ.chunk.js +2 -0
  240. package/dist/scripts/DFhkO_lZ.chunk.js.map +1 -0
  241. package/dist/scripts/DIIFVn0p.chunk.js +2 -0
  242. package/dist/scripts/DIIFVn0p.chunk.js.map +1 -0
  243. package/dist/scripts/DIhfGjAK.chunk.js +2 -0
  244. package/dist/scripts/DIhfGjAK.chunk.js.map +1 -0
  245. package/dist/scripts/DK1p1ffZ.chunk.js +2 -0
  246. package/dist/scripts/DK1p1ffZ.chunk.js.map +1 -0
  247. package/dist/scripts/DK6BRHnl.chunk.js +2 -0
  248. package/dist/scripts/DK6BRHnl.chunk.js.map +1 -0
  249. package/dist/scripts/DNbkIXc2.chunk.js +2 -0
  250. package/dist/scripts/DNbkIXc2.chunk.js.map +1 -0
  251. package/dist/scripts/DRmZj7Fw.chunk.js +2 -0
  252. package/dist/scripts/DRmZj7Fw.chunk.js.map +1 -0
  253. package/dist/scripts/DTcDjqUi.chunk.js +8 -0
  254. package/dist/scripts/DTcDjqUi.chunk.js.map +1 -0
  255. package/dist/scripts/DVmtgkhY.chunk.js +2 -0
  256. package/dist/scripts/DVmtgkhY.chunk.js.map +1 -0
  257. package/dist/scripts/DWkg1qc2.chunk.js +2 -0
  258. package/dist/scripts/DWkg1qc2.chunk.js.map +1 -0
  259. package/dist/scripts/D_nzH8Cw.chunk.js +2 -0
  260. package/dist/scripts/D_nzH8Cw.chunk.js.map +1 -0
  261. package/dist/scripts/DaJTPRJr.chunk.js +2 -0
  262. package/dist/scripts/DaJTPRJr.chunk.js.map +1 -0
  263. package/dist/scripts/Dal4C0kV.chunk.js +2 -0
  264. package/dist/scripts/Dal4C0kV.chunk.js.map +1 -0
  265. package/dist/scripts/DecSY6Xq.chunk.js +2 -0
  266. package/dist/scripts/DecSY6Xq.chunk.js.map +1 -0
  267. package/dist/scripts/DgL-ti6b.chunk.js +2 -0
  268. package/dist/scripts/DgL-ti6b.chunk.js.map +1 -0
  269. package/dist/scripts/Dhn0D6IV.chunk.js +2 -0
  270. package/dist/scripts/Dhn0D6IV.chunk.js.map +1 -0
  271. package/dist/scripts/DuidBpWd.chunk.js +2 -0
  272. package/dist/scripts/DuidBpWd.chunk.js.map +1 -0
  273. package/dist/scripts/DvDdiDQN.chunk.js +7 -0
  274. package/dist/scripts/DvDdiDQN.chunk.js.map +1 -0
  275. package/dist/scripts/Dx9ncX-C.chunk.js +2 -0
  276. package/dist/scripts/Dx9ncX-C.chunk.js.map +1 -0
  277. package/dist/scripts/Dxt3JwJz.chunk.js +2 -0
  278. package/dist/scripts/Dxt3JwJz.chunk.js.map +1 -0
  279. package/dist/scripts/Dy57waqb.chunk.js +2 -0
  280. package/dist/scripts/Dy57waqb.chunk.js.map +1 -0
  281. package/dist/scripts/DzLh2mnb.chunk.js +2 -0
  282. package/dist/scripts/DzLh2mnb.chunk.js.map +1 -0
  283. package/dist/scripts/F-K8Bwdk.chunk.js +2 -0
  284. package/dist/scripts/F-K8Bwdk.chunk.js.map +1 -0
  285. package/dist/scripts/G4u5okSS.chunk.js +2 -0
  286. package/dist/scripts/G4u5okSS.chunk.js.map +1 -0
  287. package/dist/scripts/KAizYpNf.chunk.js +2 -0
  288. package/dist/scripts/KAizYpNf.chunk.js.map +1 -0
  289. package/dist/scripts/LIBRZSqN.chunk.js +8 -0
  290. package/dist/scripts/LIBRZSqN.chunk.js.map +1 -0
  291. package/dist/scripts/LgZBXsgq.chunk.js +2 -0
  292. package/dist/scripts/LgZBXsgq.chunk.js.map +1 -0
  293. package/dist/scripts/QlJI4d4R.chunk.js +2 -0
  294. package/dist/scripts/QlJI4d4R.chunk.js.map +1 -0
  295. package/dist/scripts/ShERxFU5.chunk.js +2 -0
  296. package/dist/scripts/ShERxFU5.chunk.js.map +1 -0
  297. package/dist/scripts/Ynb9IAgu.chunk.js +2 -0
  298. package/dist/scripts/Ynb9IAgu.chunk.js.map +1 -0
  299. package/dist/scripts/_8CvUiOV.chunk.js +2 -0
  300. package/dist/scripts/_8CvUiOV.chunk.js.map +1 -0
  301. package/dist/scripts/aXDrx9_z.chunk.js +6 -0
  302. package/dist/scripts/aXDrx9_z.chunk.js.map +1 -0
  303. package/dist/scripts/app-DiXzpOyg.js +220 -0
  304. package/dist/scripts/app-DiXzpOyg.js.map +1 -0
  305. package/dist/scripts/bww2eGbI.chunk.js +2 -0
  306. package/dist/scripts/bww2eGbI.chunk.js.map +1 -0
  307. package/dist/scripts/cvX-F_mx.chunk.js +2 -0
  308. package/dist/scripts/cvX-F_mx.chunk.js.map +1 -0
  309. package/dist/scripts/gtdeja1H.chunk.js +2 -0
  310. package/dist/scripts/gtdeja1H.chunk.js.map +1 -0
  311. package/dist/scripts/m9wd_474.chunk.js +2 -0
  312. package/dist/scripts/m9wd_474.chunk.js.map +1 -0
  313. package/dist/scripts/nay4aGaa.chunk.js +2 -0
  314. package/dist/scripts/nay4aGaa.chunk.js.map +1 -0
  315. package/dist/scripts/pkzD5BEm.chunk.js +2 -0
  316. package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
  317. package/dist/scripts/qO6ZefON.chunk.js +2 -0
  318. package/dist/scripts/qO6ZefON.chunk.js.map +1 -0
  319. package/dist/scripts/s4utqqzH.chunk.js +2 -0
  320. package/dist/scripts/s4utqqzH.chunk.js.map +1 -0
  321. package/dist/scripts/sxyRyCzh.chunk.js +2 -0
  322. package/dist/scripts/sxyRyCzh.chunk.js.map +1 -0
  323. package/dist/scripts/tzNty_oG.chunk.js +2 -0
  324. package/dist/scripts/tzNty_oG.chunk.js.map +1 -0
  325. package/dist/scripts/vjyJbQe4.chunk.js +2 -0
  326. package/dist/scripts/vjyJbQe4.chunk.js.map +1 -0
  327. package/dist/scripts/vuoBilPQ.chunk.js +2 -0
  328. package/dist/scripts/vuoBilPQ.chunk.js.map +1 -0
  329. package/dist/scripts/vwgUbn2Z.chunk.js +2 -0
  330. package/dist/scripts/vwgUbn2Z.chunk.js.map +1 -0
  331. package/dist/scripts/wOGv44_K.chunk.js +2 -0
  332. package/dist/scripts/wOGv44_K.chunk.js.map +1 -0
  333. package/dist/scripts/xbvkqJGe.chunk.js +2 -0
  334. package/dist/scripts/xbvkqJGe.chunk.js.map +1 -0
  335. package/dist/scripts/xywWSa0t.chunk.js +2 -0
  336. package/dist/scripts/xywWSa0t.chunk.js.map +1 -0
  337. package/dist/scripts/zUz4ZfV2.chunk.js +2 -0
  338. package/dist/scripts/zUz4ZfV2.chunk.js.map +1 -0
  339. package/package.json +5 -3
  340. package/typings/utils/imports.d.ts +2 -1
  341. package/vite.config.ts +6 -0
  342. package/dist/css/103-streamable-learning-5060b6cda5.chunk.css +0 -7
  343. package/dist/css/1269-streamable-learning-a12c4ebc99.chunk.css +0 -2
  344. package/dist/css/1457-streamable-learning-c8c8b3b9b1.chunk.css +0 -50
  345. package/dist/css/2334-streamable-learning-de03ae073a.chunk.css +0 -2
  346. package/dist/css/3322-streamable-learning-510e1aa3f3.chunk.css +0 -34
  347. package/dist/css/3838-streamable-learning-da10685fe8.chunk.css +0 -22
  348. package/dist/css/4254-streamable-learning-e493f4a027.chunk.css +0 -2
  349. package/dist/css/4607-streamable-learning-2605302fc2.chunk.css +0 -90
  350. package/dist/css/4772-streamable-learning-f83b838d71.chunk.css +0 -9
  351. package/dist/css/5003-streamable-learning-b38d2ddbbe.chunk.css +0 -98
  352. package/dist/css/5565-streamable-learning-0caae3809b.chunk.css +0 -13
  353. package/dist/css/6017-streamable-learning-098a205d01.chunk.css +0 -6
  354. package/dist/css/6356-streamable-learning-8c5b220bf6.chunk.css +0 -1
  355. package/dist/css/6987-streamable-learning-8f682301c6.chunk.css +0 -1
  356. package/dist/css/7317-streamable-learning-b5d226bbb6.chunk.css +0 -5
  357. package/dist/css/8058-streamable-learning-539cf7be18.chunk.css +0 -12
  358. package/dist/css/8294-streamable-learning-c797263ac2.chunk.css +0 -1
  359. package/dist/css/8496-streamable-learning-ce19f6ca52.chunk.css +0 -13
  360. package/dist/css/8601-streamable-learning-f525210660.chunk.css +0 -6
  361. package/dist/css/9514-streamable-learning-251703c6d1.chunk.css +0 -2
  362. package/dist/css/9766-streamable-learning-31650ffe5d.chunk.css +0 -8
  363. package/dist/css/9842-streamable-learning-24729103f7.chunk.css +0 -4
  364. package/dist/css/9899-streamable-learning-0338f8d2dc.chunk.css +0 -4
  365. package/dist/css/streamable-learning-dd0c1095d5.css +0 -23
  366. package/dist/languages/en.json +0 -1
  367. package/dist/scripts/103-aceced8961-streamable-learning.chunk.js +0 -1
  368. package/dist/scripts/1097-680a971192-streamable-learning.chunk.js +0 -2
  369. package/dist/scripts/1097-680a971192-streamable-learning.chunk.js.LICENSE.txt +0 -105
  370. package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js +0 -2
  371. package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js.LICENSE.txt +0 -1
  372. package/dist/scripts/1457-899f40d09a-streamable-learning.chunk.js +0 -1
  373. package/dist/scripts/1482-b1dd75897c-streamable-learning.chunk.js +0 -1
  374. package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js +0 -2
  375. package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js.LICENSE.txt +0 -9
  376. package/dist/scripts/2042-d51622d63e-streamable-learning.chunk.js +0 -1
  377. package/dist/scripts/2087-eba9033b1c-streamable-learning.chunk.js +0 -1
  378. package/dist/scripts/2245-8cd3224e1b-streamable-learning.chunk.js +0 -1
  379. package/dist/scripts/2334-00b028191d-streamable-learning.chunk.js +0 -1
  380. package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js +0 -2
  381. package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js.LICENSE.txt +0 -1
  382. package/dist/scripts/2877-5ffc9711f6-streamable-learning.chunk.js +0 -1
  383. package/dist/scripts/2911-2ec3a6600a-streamable-learning.chunk.js +0 -1
  384. package/dist/scripts/3057-731a8ca978-streamable-learning.chunk.js +0 -1
  385. package/dist/scripts/3093-efbcc927ea-streamable-learning.chunk.js +0 -1
  386. package/dist/scripts/3186-d1a6ccffde-streamable-learning.chunk.js +0 -1
  387. package/dist/scripts/3322-33c015dec9-streamable-learning.chunk.js +0 -1
  388. package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +0 -1
  389. package/dist/scripts/3838-4a38f33dc2-streamable-learning.chunk.js +0 -1
  390. package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +0 -1
  391. package/dist/scripts/4254-ef581b8105-streamable-learning.chunk.js +0 -1
  392. package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js +0 -2
  393. package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js.LICENSE.txt +0 -1
  394. package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js +0 -2
  395. package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js.LICENSE.txt +0 -1
  396. package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +0 -1
  397. package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js +0 -2
  398. package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js.LICENSE.txt +0 -1
  399. package/dist/scripts/5088-2e09e1ba6e-streamable-learning.chunk.js +0 -1
  400. package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +0 -1
  401. package/dist/scripts/5446-2cbe9f9d1b-streamable-learning.chunk.js +0 -1
  402. package/dist/scripts/5543-205aaa36a6-streamable-learning.chunk.js +0 -1
  403. package/dist/scripts/5565-224d86dc1b-streamable-learning.chunk.js +0 -1
  404. package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +0 -1
  405. package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js +0 -2
  406. package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js.LICENSE.txt +0 -1
  407. package/dist/scripts/6356-eefa3ff22e-streamable-learning.chunk.js +0 -1
  408. package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js +0 -2
  409. package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js.LICENSE.txt +0 -1
  410. package/dist/scripts/6987-e58de31cfe-streamable-learning.chunk.js +0 -1
  411. package/dist/scripts/7317-6b7186c85d-streamable-learning.chunk.js +0 -1
  412. package/dist/scripts/7347-772848ba8a-streamable-learning.chunk.js +0 -1
  413. package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js +0 -2
  414. package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js.LICENSE.txt +0 -1
  415. package/dist/scripts/7904-96574373ca-streamable-learning.chunk.js +0 -1
  416. package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +0 -1
  417. package/dist/scripts/8058-51c4b442d6-streamable-learning.chunk.js +0 -1
  418. package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js +0 -2
  419. package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js.LICENSE.txt +0 -60
  420. package/dist/scripts/8397-39ce77876d-streamable-learning.chunk.js +0 -1
  421. package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js +0 -2
  422. package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js.LICENSE.txt +0 -1
  423. package/dist/scripts/8599-b74e1ab6e3-streamable-learning.chunk.js +0 -1
  424. package/dist/scripts/8601-37783cf18b-streamable-learning.chunk.js +0 -1
  425. package/dist/scripts/8819-2a50dd6a9b-streamable-learning.chunk.js +0 -1
  426. package/dist/scripts/8937-5103db88d8-streamable-learning.chunk.js +0 -1
  427. package/dist/scripts/9390-bbaf07ad0f-streamable-learning.chunk.js +0 -1
  428. package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +0 -1
  429. package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js +0 -2
  430. package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js.LICENSE.txt +0 -1
  431. package/dist/scripts/9842-36d830ee87-streamable-learning.chunk.js +0 -1
  432. package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js +0 -2
  433. package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js.LICENSE.txt +0 -1
  434. package/dist/scripts/bundle-de4d0d4897.min.js +0 -2
  435. package/dist/scripts/bundle-de4d0d4897.min.js.LICENSE.txt +0 -108
  436. package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js +0 -2
  437. package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js.LICENSE.txt +0 -21
@@ -0,0 +1,2 @@
1
+ import{j as t,ae as D,T as _,ai as c,bj as S,bf as h,bk as b,l as z,as as I,R as q,aX as p,O as E,bl as K,n as U,bm as Q,g as X,L as G,av as R}from"./app-DiXzpOyg.js";import{P as A,T as J}from"./BOH3SvVi.chunk.js";import{D as V}from"./Bg1w511R.chunk.js";const P="search.filterActions";T.defaultProps={active:!1,className:""};function T(e){return t.jsxs("div",{className:`d-flex justify-content-between ${e.className}`,children:[e.active?t.jsx(D,{className:"text-secondary hover-text-underline cursor-pointer",onClick:e.onClickReset,children:t.jsx(_,{namespace:P,phrase:"reset"})}):t.jsx("div",{className:"invisible"}),t.jsx(D,{className:"info-link",onClick:e.onClickApply,children:t.jsx(_,{namespace:P,phrase:"apply"})})]})}const Y="_hideCaret_zki3y_1",Z="_filterMenu_zki3y_4",ee="_twoColumnsWidth_zki3y_8",te="_nestedCheckboxesWidth_zki3y_16",ie="_switchWidth_zki3y_19",ne="_moreFiltersWidth_zki3y_22",se="_svgContainer_zki3y_26",j={hideCaret:Y,filterMenu:Z,twoColumnsWidth:ee,nestedCheckboxesWidth:te,switchWidth:ie,moreFiltersWidth:ne,svgContainer:se};function ae(e){return h.displayTwoColumns(e)?j.twoColumnsWidth:e.id==="classification"?j.classificationWidth:h.displayTwoLayers(e)?j.nestedCheckboxesWidth:e.type==="switch"?j.switchWidth:""}H.defaultProps={hideCaret:!0};function H(e){const{state:s}=c.useContext(S),i=s[e.filter.id],n=e.filter.type==="dropdown",[x,g]=c.useState(e.filter.name),[C,l]=c.useState(!1),[d,f]=c.useState(i);c.useEffect(()=>{g(h.getLabel(e.filter,i)),f(i)},[e.filter,i==null?void 0:i.selection]);function F(m){f(m),n&&u(m)}function r(){var w;const m=(w=e.filter.options)==null?void 0:w.find(O=>O.default);f({active:!1,selection:m?[m]:[]})}function y(){u(),l(!1)}function u(m=d){h.applyFilter([e.filter],i,{[e.filter.id]:m},s.appLink)}function o(m){l(m),!(m||n)&&u()}const v=c.useMemo(()=>e.filter.customComponent?e.filter.customComponent:h.mapTypeToComponent(e.filter.type),[e.filter.type]),N="fw-semibold mx-1 btn d-flex align-items-center",a=e.hideCaret&&!n?j.hideCaret:"",k=ae(e.filter);return e.filter.type==="button"?t.jsx(v,{filter:e.filter,draftState:d,setDraftState:F}):t.jsxs(b,{onToggle:o,show:C,children:[t.jsxs(b.Toggle,{id:`filterButton-${e.filter.id}`,className:`${N} ${a}`,variant:i.active&&!n?"dark":"outline-dark",disabled:e.filter.disabled,children:[!!e.filter.icon&&t.jsx("div",{className:j.svgContainer,children:t.jsx(z,{svg:e.filter.icon})}),e.filter.labelPrefix," ",x]}),t.jsx(b.Menu,{children:t.jsxs("div",{className:`mx-1 ${j.filterMenu} ${k} ${n?"":"px-2 py-1"}`,children:[t.jsx(v,{filter:e.filter,draftState:d,setDraftState:F}),!n&&!e.filter.disabled&&t.jsx(T,{active:d.active,onClickReset:r,onClickApply:y})]})})]})}const le={getSetStateByKey(e,s,i){return n=>e(x=>{const g=I.isFunction(i)?i:I.useIdentity();return{...x,[s]:g(n,x)}})}};function M(e){return Object.keys(e).reduce((i,n)=>e[n].active?i+1:i,0)}function re(e){const{state:s}=c.useContext(S),i=s.moreFilters,[n,x]=c.useState(e.filter.name),[g,C]=c.useState(!1),[l,d]=c.useState(i),[f,F]=c.useState(M(i)),r=Object.keys(i).map(a=>`${a}:${i[a].active}`).join("-");c.useEffect(()=>{d(i),F(M(i))},[e.filter,r]),c.useEffect(()=>{x(f?`${e.filter.name} - ${f}`:e.filter.name)},[f]);function y(){const k=Object.keys(i).reduce((m,w)=>{var L;const $=(L=e.filter.filters.find(W=>W.id===w).options)==null?void 0:L.find(W=>W.default);return m[w]={active:!1,selection:$?[$]:[]},m},{});d(k)}function u(){v(),C(!1)}function o(a){C(a),!a&&v()}function v(){h.applyFilter(e.filter.filters,i,l,s.appLink)}const N=`fw-semibold ${j.hideCaret} mx-1 btn`;return t.jsxs(b,{onToggle:o,show:g,children:[t.jsx(b.Toggle,{id:e.filter.id,className:N,variant:f?"dark":"outline-dark",children:n}),t.jsx(b.Menu,{onClick:a=>a.stopPropagation(),children:t.jsxs("div",{className:`mx-1 ${j.moreFiltersWidth} ${e.filter.type!=="dropdown"?"px-2 py-1":""}`,children:[e.filter.filters.map(a=>{const k=a.customComponent?a.customComponent:h.mapTypeToComponent(a.type);return t.jsx("fieldset",{children:t.jsx(k,{filter:a,draftState:l[a.id],setDraftState:le.getSetStateByKey(d,a.id),isOnMoreFilters:!0})},a.id)}),t.jsx(T,{active:!!Object.keys(l).find(a=>l[a].active),onClickReset:y,onClickApply:u})]})})]})}const ce="_tagItem_165ya_1",B={tagItem:ce};function oe(e){var d,f,F;const{state:s}=q.useContext(S);if(!((d=e.filter)!=null&&d.id))return t.jsx(t.Fragment,{});const i=s[e.filter.id],{selection:n}=i,x=((F=(f=e.filter)==null?void 0:f.options)==null?void 0:F.filter(r=>!(n!=null&&n.find(y=>y.id===r.id))))??[];function g(r){let y=null,u=-1;if(n.find((o,v)=>{u>-1||o.id.toString()===r.id.toString()&&(u=v)}),u>=0){const o=[...n.slice(0,u),...n.slice(u+1)];y={active:!!o.length,selection:o}}else y={active:!0,selection:n.concat(r)};h.applyFilter([e.filter],i,{[e.filter.id]:y},s.appLink)}function C(){let r="mb-3";return l.length&&e.isFetching?r+=" mt-n1":!l.length&&!e.isFetching&&(r+=" d-none"),r}const l=[...n,...e.isFetching?[]:x];return t.jsx("div",{className:e.isFetching||l.length?"py-2":"",children:t.jsx("div",{className:C(),children:(!!l.length||e.isFetching)&&t.jsx(V,{collection:l,childComponent:r=>t.jsx(J,{...r,selectedItems:n,onClick:g}),staticChildren:e.isFetching?new Array(3).fill({component:()=>t.jsx(A,{tagClass:B.tagItem}),position:"end"}):[],partialLoadingComponent:()=>t.jsx("div",{className:"me-2",children:t.jsx(A,{tagClass:`${B.tagItem}`})})})})})}function de(e){const{state:s}=c.useContext(S),i=()=>{var g;const n=((g=p.getCurrentRoute().appLink)==null?void 0:g.params)??{},x=E.pick(n,["query",K]);U.trigger({...s.appLink,params:x})};return t.jsx(D,{onClick:i,className:`${e.alignLeft?"order-first":""} hover-text-underline cursor-pointer d-flex align-items-center mx-2`,children:t.jsx(_,{namespace:"search.resetButton",phrase:"reset"})})}const fe="_filtersContainer_1pjxc_9",ue={filtersContainer:fe};function ge(e){const{queryParams:s,appLink:i,hideHeading:n,isFetchingOptions:x,constantIndices:g=[]}=e,C=c.useMemo(()=>h.deriveInitialStateFromQuery(s,e.mainFilters,e.moreFilters,i),[s,x]),[l,d]=c.useReducer(Q,C);c.useEffect(()=>{E.isEqual(C,l)||(d({type:"update",payload:C}),e.analyticsOptions&&h.logFilterEvent(e.mainFilters,e.moreFilters,C,s.query,e.analyticsOptions))},[C]);const f=X.uniq([...h.getAppliedIndices(s,e._hasNewSearch),...g]),{mainFilters:F,moreFilters:r}=h.mixinDisabledFields(l,f,e.mainFilters,e.moreFilters),y=F.filter(o=>o.type!=="tag"),u=F.find(o=>o.type==="tag");return t.jsx(S.Provider,{value:{state:l,dispatch:d},children:t.jsx(G.Provider,{value:"search.searchFilters",children:t.jsxs("section",{children:[t.jsxs("div",{className:R("d-flex",!e.hideDivider&&"border-bottom pb-3 mb-3",e._hasNewSearch&&e.hideDivider&&"pb-3",e._hasNewSearch&&!e.hideDivider&&"border-gray-300"),children:[!n&&t.jsx("h2",{className:"h5 mb-0 d-inline-block pe-2 border-end d-flex align-items-center",children:t.jsx(_,{phrase:"heading"})}),t.jsxs("div",{className:R(`d-flex flex-wrap ${ue.filtersContainer}`,!n&&"ms-2"),children:[y.map(o=>t.jsx(H,{filter:o,hideCaret:e.hideCaret},o.id)),r&&t.jsx(re,{filter:r}),h.hasActiveFilters(s)&&!e.hideResetButton&&t.jsx(de,{mainFilters:e.mainFilters,moreFilters:e.moreFilters,currentQueryParam:s.query,analyticsOptions:e.analyticsOptions,alignLeft:e.alignResetButtonLeft})]})]}),t.jsx(oe,{filter:u,queryParams:s,isFetching:e.isFetchingOptions})]})})})}export{ge as S};
2
+ //# sourceMappingURL=BsoISj2P.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BsoISj2P.chunk.js","sources":["../../../../libs/shared/src/apps/search/components/filter-actions/FilterActions.tsx","../../../../libs/shared/src/apps/search/components/filter-button/FilterButton.tsx","../../../../libs/shared/src/utils/StateHelper.ts","../../../../libs/shared/src/apps/search/components/filter-button/MoreFiltersButton.tsx","../../../../libs/shared/src/apps/search/components/filter-types/tag-filter/TagFilter.tsx","../../../../libs/shared/src/apps/search/components/reset-button/ResetButton.tsx","../../../../libs/shared/src/apps/search/components/search-filters/SearchFilters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'search.filterActions';\n\ninterface FilterActionsProps {\n className?: string;\n onClickReset: () => void;\n onClickApply: () => void;\n active: boolean;\n}\n\nFilterActions.defaultProps = {\n active: false,\n className: ''\n};\n\nexport function FilterActions(props: FilterActionsProps): JSX.Element {\n return (\n <div className={`d-flex justify-content-between ${props.className}`}>\n {props.active ? (\n <DivButton className='text-secondary hover-text-underline cursor-pointer' onClick={props.onClickReset}>\n <Text namespace={namespace} phrase='reset' />\n </DivButton>\n ) : (\n <div className='invisible' />\n )}\n\n <DivButton className='info-link' onClick={props.onClickApply}>\n <Text namespace={namespace} phrase='apply' />\n </DivButton>\n </div>\n );\n}","import * as React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { FilterActions } from 'libs/shared/apps/search/components/filter-actions/FilterActions';\nimport { SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterState } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\n\nimport styles from './filter-button.module.scss';\n\n/**\n * If your filter requires some customisations to the default width, add a use case here.\n */\nfunction getCustomWidthClass(filter: SearchFilter): string {\n if (FilterHelper.displayTwoColumns(filter))\n return styles.twoColumnsWidth;\n\n // Some classifications has long names, so we make them wider\n if (filter.id === 'classification')\n return styles.classificationWidth;\n \n if (FilterHelper.displayTwoLayers(filter))\n return styles.nestedCheckboxesWidth;\n\n if (filter.type === 'switch')\n return styles.switchWidth;\n\n return '';\n}\n\nFilterButton.defaultProps = {\n hideCaret: true\n};\n\ninterface FilterButtonProps {\n filter: SearchFilter;\n hideCaret?: boolean;\n}\n\nexport function FilterButton(props: FilterButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n const currentFilterState = state[props.filter.id];\n\n const isDropdownFilter = props.filter.type === 'dropdown';\n\n const [ label, setLabel ] = React.useState(props.filter.name);\n const [ showDropdown, setShowDropdown ] = React.useState(false);\n const [ draftState, setDraftState ] = React.useState<FilterState>(currentFilterState);\n\n React.useEffect(() => {\n setLabel(FilterHelper.getLabel(props.filter, currentFilterState));\n setDraftState(currentFilterState);\n }, [ props.filter, currentFilterState?.selection ]);\n\n function onSelectItem(state: FilterState): void {\n setDraftState(state);\n\n if (isDropdownFilter)\n applyFilter(state);\n }\n\n function onClickReset(): void {\n const defaultOption = props.filter.options?.find(o => o.default);\n\n setDraftState({\n active: false,\n selection: defaultOption ? [defaultOption] : []\n });\n }\n\n function onClickApply(): void {\n applyFilter();\n setShowDropdown(false);\n }\n\n function applyFilter(newState: FilterState = draftState): void {\n FilterHelper.applyFilter(\n [props.filter],\n currentFilterState,\n { [props.filter.id]: newState },\n state.appLink\n );\n }\n\n function onToggleDropdown(isShowing: boolean): void {\n setShowDropdown(isShowing);\n\n if (isShowing || isDropdownFilter)\n return;\n\n // Apply the filter if the dropdown has been closed\n applyFilter();\n }\n\n const FilterComponent = React.useMemo(() => {\n return props.filter.customComponent\n ? props.filter.customComponent\n : FilterHelper.mapTypeToComponent(props.filter.type);\n }, [props.filter.type]);\n\n const baseClass = `fw-semibold mx-1 btn d-flex align-items-center`;\n const caretClass = props.hideCaret && !isDropdownFilter ? styles.hideCaret : '';\n const customWidthClass = getCustomWidthClass(props.filter);\n\n if (props.filter.type === 'button')\n return (\n <FilterComponent\n filter={props.filter}\n draftState={draftState}\n setDraftState={onSelectItem}\n />\n );\n\n return (\n <Dropdown onToggle={onToggleDropdown} show={showDropdown}>\n <Dropdown.Toggle\n id={`filterButton-${props.filter.id}`}\n className={`${baseClass} ${caretClass}`}\n variant={(currentFilterState.active && !isDropdownFilter) ? 'dark' : 'outline-dark'}\n disabled={props.filter.disabled}\n >\n {!!props.filter.icon && (\n <div className={styles.svgContainer}>\n <SvgContainer svg={props.filter.icon} />\n </div>\n )}\n {props.filter.labelPrefix} {label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n <div className={`mx-1 ${styles.filterMenu} ${customWidthClass} ${!isDropdownFilter ? 'px-2 py-1' : ''}`}>\n <FilterComponent\n filter={props.filter}\n draftState={draftState}\n setDraftState={onSelectItem}\n />\n\n {(!isDropdownFilter && !props.filter.disabled) && (\n <FilterActions\n active={draftState.active}\n onClickReset={onClickReset}\n onClickApply={onClickApply}\n />\n )}\n </div>\n </Dropdown.Menu>\n </Dropdown>\n );\n}\n","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nexport const StateHelper = {\n /**\n * Helper function to get the setState function for an individual key in a state object.\n * \n * @param setState React setState action\n * @param key Property within the state object we're updating\n * @param callback Optional callback to modify data before setting state. Uses identity fn by default.\n * \n * @returns Newly updated state object\n */\n getSetStateByKey<T extends HashObject>(\n setState: React.Dispatch<React.SetStateAction<T>>,\n key: keyof T,\n callback?: (data: any, state?: T) => T[keyof T]\n ): (data: any) => void {\n return (data: any) => setState(state => {\n const fn = FunctionHelper.isFunction(callback) ? callback : FunctionHelper.useIdentity<T>();\n return { ...state, [key]: fn(data, state) };\n });\n }\n};","import * as React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { FilterActions } from 'libs/shared/apps/search/components/filter-actions/FilterActions';\nimport { FilterIds, MoreFilters } from 'libs/shared/apps/search/interfaces';\nimport { DraftState, FilterContext, FilterStateHash } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { StateHelper } from 'libs/shared/utils/StateHelper';\n\nimport styles from './filter-button.module.scss';\n\nfunction getTotalActiveFilters(currentState: FilterStateHash): number {\n const total = Object.keys(currentState).reduce((acc: number, key: FilterIds) => {\n return currentState[key].active\n ? acc + 1\n : acc;\n }, 0);\n\n return total;\n}\n\ninterface MoreFiltersButtonProps {\n filter: MoreFilters;\n}\n\nexport function MoreFiltersButton(props: MoreFiltersButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n const currentFilterState = state.moreFilters;\n\n const [ label, setLabel ] = React.useState(props.filter.name);\n const [ showDropdown, setShowDropdown ] = React.useState(false);\n const [ draftState, setDraftState ] = React.useState<DraftState>(currentFilterState);\n const [ totalActiveFilters, setTotalActiveFilters ] = React.useState(getTotalActiveFilters(currentFilterState));\n\n const currentFilterStateKey = Object.keys(currentFilterState).map((id: FilterIds) => {\n return `${id}:${currentFilterState[id].active}`;\n }).join('-');\n\n React.useEffect(() => {\n setDraftState(currentFilterState);\n setTotalActiveFilters(getTotalActiveFilters(currentFilterState));\n }, [ props.filter, currentFilterStateKey ]);\n\n React.useEffect(() => {\n setLabel(totalActiveFilters ? `${props.filter.name} - ${totalActiveFilters}` : props.filter.name);\n }, [totalActiveFilters]);\n\n function onClickReset(): void {\n const filterIds = Object.keys(currentFilterState) as FilterIds[];\n\n const newState = filterIds.reduce((acc: DraftState, filterId) => {\n const filter = props.filter.filters.find(f => f.id === filterId);\n const defaultOption = filter.options?.find(o => o.default);\n\n acc[filterId] = {\n active: false,\n selection: defaultOption ? [defaultOption] : []\n };\n\n return acc;\n }, {});\n\n setDraftState(newState);\n }\n\n function onClickApply(): void {\n applyFilter();\n setShowDropdown(false);\n }\n\n function onToggleDropdown(isShowing: boolean): void {\n setShowDropdown(isShowing);\n\n if (isShowing)\n return;\n\n // Apply the filter if the dropdown has been closed\n applyFilter();\n }\n\n function applyFilter(): void {\n FilterHelper.applyFilter(\n props.filter.filters,\n currentFilterState,\n draftState,\n state.appLink\n );\n }\n\n const baseClass = `fw-semibold ${styles.hideCaret} mx-1 btn`;\n\n return (\n <Dropdown onToggle={onToggleDropdown} show={showDropdown}>\n <Dropdown.Toggle id={props.filter.id} className={baseClass} variant={totalActiveFilters ? 'dark' : 'outline-dark'}>\n {label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu onClick={(e: React.MouseEvent) => e.stopPropagation()}>\n <div className={`mx-1 ${styles.moreFiltersWidth} ${props.filter.type !== 'dropdown' ? 'px-2 py-1' : ''}`}>\n {props.filter.filters.map(filter => {\n const FilterComponent = filter.customComponent\n ? filter.customComponent\n : FilterHelper.mapTypeToComponent(filter.type);\n\n return (\n <fieldset key={filter.id}>\n <FilterComponent\n filter={filter}\n draftState={draftState[filter.id]}\n setDraftState={StateHelper.getSetStateByKey(setDraftState, filter.id)}\n isOnMoreFilters\n />\n </fieldset>\n );\n })}\n\n <FilterActions\n active={!!Object.keys(draftState).find((key: FilterIds) => draftState[key].active)}\n onClickReset={onClickReset}\n onClickApply={onClickApply}\n />\n </div>\n </Dropdown.Menu>\n </Dropdown>\n );\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterState } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { PartialTagItem } from 'libs/shared/components/tags/PartialTagItem';\nimport { DynamicWidget } from 'libs/shared/components/widgets/dynamic-widget/DynamicWidget';\nimport { TagWidgetItem, TagWidgetItemProps } from 'libs/shared/components/widgets/items/tag-widget-item/TagWidgetItem';\n\nimport styles from './tag-filter.module.scss';\n\ninterface TagFilterProps {\n filter: SearchFilter;\n queryParams: HashObject;\n isFetching?: boolean;\n}\n\nexport function TagFilter(props: TagFilterProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n\n if (!props.filter?.id)\n return <></>;\n\n const currentFilterState = state[props.filter.id];\n\n const { selection: selections } = currentFilterState;\n\n const unappliedOptions = props.filter?.options?.filter(opt => {\n return !selections?.find(selection => selection.id === opt.id);\n }) ?? [];\n\n function onClickOption(option: FilterOption): void {\n let nextFilterState: FilterState = null;\n\n let indexOfItem: number = -1;\n\n // Find the index of the selected item if it's already selected\n selections.find((selection, i) => {\n if (indexOfItem > -1)\n return;\n\n if (selection.id.toString() !== option.id.toString())\n return;\n\n indexOfItem = i;\n });\n\n if (indexOfItem >= 0) {\n const newItems = [ ...selections.slice(0, indexOfItem), ...selections.slice(indexOfItem + 1) ];\n \n nextFilterState = {\n active: !!newItems.length,\n selection: newItems\n };\n } else {\n nextFilterState = {\n active: true,\n selection: selections.concat(option)\n };\n }\n\n FilterHelper.applyFilter(\n [props.filter],\n currentFilterState,\n { [props.filter.id]: nextFilterState },\n state.appLink\n );\n }\n\n function getContainerClass(): string {\n let className = 'mb-3';\n\n if (collection.length && props.isFetching)\n className += ' mt-n1';\n else if (!collection.length && !props.isFetching)\n className += ' d-none';\n\n return className;\n }\n\n const collection = [ ...selections, ...(props.isFetching ? [] : unappliedOptions) ];\n\n return (\n <div className={(props.isFetching || collection.length) ? 'py-2' : ''}>\n <div className={getContainerClass()}>\n {(!!collection.length || props.isFetching) && (\n <DynamicWidget\n collection={collection}\n childComponent={(props: TagWidgetItemProps) => (\n <TagWidgetItem\n {...props}\n selectedItems={selections}\n onClick={onClickOption}\n />\n )}\n staticChildren={props.isFetching\n ? new Array(3).fill({\n component: () => <PartialTagItem tagClass={styles.tagItem} />,\n position: 'end'\n })\n : []\n }\n partialLoadingComponent={() => (\n <div className='me-2'>\n <PartialTagItem tagClass={`${styles.tagItem}`} />\n </div>\n )}\n />\n )}\n </div>\n </div>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { MoreFilters, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext } from 'libs/shared/apps/search/reducers';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { SEARCH_CURRICULUM_CODE_PARAM } from '../../utils/SharedSearchHelper';\n\ntype ResetButtonProps = PropsWithAnalyticsOptions<{\n currentQueryParam: string;\n mainFilters: Array<SearchFilter>;\n moreFilters: MoreFilters;\n alignLeft?: boolean;\n}>;\n\nexport function ResetButton(props: ResetButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n\n const onClickReset = () => {\n const currentParams = (ContextService.getCurrentRoute().appLink?.params ?? {}) as HashObject;\n const savedParams = ObjectHelper.pick(currentParams, [ 'query', SEARCH_CURRICULUM_CODE_PARAM ]);\n\n Core.AppLinkHelper.trigger({\n ...state.appLink,\n params: savedParams\n });\n };\n\n return (\n <DivButton\n onClick={onClickReset}\n className={`${props.alignLeft ? 'order-first' : ''} hover-text-underline cursor-pointer d-flex align-items-center mx-2`}\n >\n <Text namespace='search.resetButton' phrase='reset' />\n </DivButton>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { FilterButton } from 'libs/shared/apps/search/components/filter-button/FilterButton';\nimport { MoreFiltersButton } from 'libs/shared/apps/search/components/filter-button/MoreFiltersButton';\nimport { TagFilter } from 'libs/shared/apps/search/components/filter-types/tag-filter/TagFilter';\nimport { ResetButton } from 'libs/shared/apps/search/components/reset-button/ResetButton';\nimport { MoreFilters, SearchFilter, SearchIndices } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterReducer } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport styles from './search-filters.module.scss';\n\ntype SearchFiltersProps = {\n queryParams: HashObject;\n mainFilters: SearchFilter[];\n appLink: Core.AppLink;\n moreFilters?: MoreFilters;\n isFetchingOptions?: boolean;\n constantIndices?: SearchIndices[];\n analyticsOptions?: AnalyticsOptions;\n\n hideHeading?: boolean;\n hideDivider?: boolean;\n hideResetButton?: boolean;\n alignResetButtonLeft?: boolean;\n hideCaret?: boolean;\n\n /**\n * Incremental changes flag for new search\n */\n _hasNewSearch?: boolean;\n};\n\nexport function SearchFilters(props: SearchFiltersProps): JSX.Element {\n const { queryParams, appLink, hideHeading, isFetchingOptions, constantIndices = []} = props;\n\n const newState = React.useMemo(() => {\n return FilterHelper.deriveInitialStateFromQuery(queryParams, props.mainFilters, props.moreFilters, appLink);\n }, [ queryParams, isFetchingOptions ]);\n\n const [ state, dispatch ] = React.useReducer(FilterReducer, newState);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(newState, state))\n return;\n\n dispatch({\n type: 'update',\n payload: newState\n });\n\n if (props.analyticsOptions) {\n FilterHelper.logFilterEvent(\n props.mainFilters,\n props.moreFilters,\n newState,\n queryParams.query,\n props.analyticsOptions\n );\n }\n }, [newState]);\n\n const indices = ArrayHelper.uniq([\n ...FilterHelper.getAppliedIndices(queryParams, props._hasNewSearch),\n ...constantIndices\n ]);\n\n const { mainFilters, moreFilters } = FilterHelper.mixinDisabledFields(\n state,\n indices,\n props.mainFilters,\n props.moreFilters\n );\n\n // Separate the tag filter as it's rendered differently\n const mainFiltersWithoutTags = mainFilters.filter(f => f.type !== 'tag');\n const tagFilter = mainFilters.find(f => f.type === 'tag');\n\n return (\n <FilterContext.Provider value={{ state, dispatch }}>\n <LanguageNamespaceContext.Provider value='search.searchFilters'>\n <section>\n <div className={classNames(\n 'd-flex',\n !props.hideDivider && 'border-bottom pb-3 mb-3',\n (props._hasNewSearch && props.hideDivider && 'pb-3'),\n (props._hasNewSearch && !props.hideDivider && 'border-gray-300')\n )}>\n {!hideHeading && (\n <h2 className='h5 mb-0 d-inline-block pe-2 border-end d-flex align-items-center'>\n <Text phrase='heading' />\n </h2>\n )}\n\n <div className={classNames(`d-flex flex-wrap ${styles.filtersContainer}`, !hideHeading && 'ms-2')}>\n {mainFiltersWithoutTags.map(f => (\n <FilterButton key={f.id} filter={f} hideCaret={props.hideCaret} />\n ))}\n\n {moreFilters && <MoreFiltersButton filter={moreFilters} />}\n\n {FilterHelper.hasActiveFilters(queryParams) && !props.hideResetButton && (\n <ResetButton\n mainFilters={props.mainFilters}\n moreFilters={props.moreFilters}\n currentQueryParam={queryParams.query}\n analyticsOptions={props.analyticsOptions}\n alignLeft={props.alignResetButtonLeft}\n />\n )}\n </div>\n </div>\n \n <TagFilter\n filter={tagFilter}\n queryParams={queryParams}\n isFetching={props.isFetchingOptions}\n />\n </section>\n </LanguageNamespaceContext.Provider>\n </FilterContext.Provider>\n );\n}\n"],"names":["namespace","FilterActions","props","jsx","DivButton","Text","getCustomWidthClass","filter","FilterHelper","styles","FilterButton","state","React.useContext","FilterContext","currentFilterState","isDropdownFilter","label","setLabel","React.useState","showDropdown","setShowDropdown","draftState","setDraftState","React.useEffect","onSelectItem","applyFilter","onClickReset","defaultOption","_a","o","onClickApply","newState","onToggleDropdown","isShowing","FilterComponent","React.useMemo","baseClass","caretClass","customWidthClass","jsxs","Dropdown","SvgContainer","StateHelper","setState","key","callback","data","fn","FunctionHelper","getTotalActiveFilters","currentState","acc","MoreFiltersButton","totalActiveFilters","setTotalActiveFilters","currentFilterStateKey","id","filterId","f","e","TagFilter","React","Fragment","selections","unappliedOptions","_c","_b","opt","selection","onClickOption","option","nextFilterState","indexOfItem","i","newItems","getContainerClass","className","collection","DynamicWidget","TagWidgetItem","PartialTagItem","ResetButton","currentParams","ContextService","savedParams","ObjectHelper","SEARCH_CURRICULUM_CODE_PARAM","Core.AppLinkHelper","SearchFilters","queryParams","appLink","hideHeading","isFetchingOptions","constantIndices","dispatch","React.useReducer","FilterReducer","indices","ArrayHelper","mainFilters","moreFilters","mainFiltersWithoutTags","tagFilter","LanguageNamespaceContext","classNames"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r,P as m,W as t,X as a,c as l,V as p}from"./app-DiXzpOyg.js";const c="settings.hooks",e=l.encloseNamespace(c);function d(){const{hasPermissions:o}=r();return[{id:"my-account",imageUrl:p.Settings.MY_ACCOUNT,name:e("myAccount"),modules:[{id:"profile-details",name:e("profileDetails"),appLink:{application:a.SETTINGS,action:t.Settings.PROFILE_DETAILS},permissions:[m.EditProfileDetails]},{id:"email-settings",name:e("emailPassword"),appLink:{application:a.SETTINGS,action:t.Settings.ACCOUNT}}]}].map(s=>({...s,modules:s.modules.filter(i=>{var n;return!((n=i.permissions)!=null&&n.length&&!o(i.permissions))})})).filter(s=>!!s.modules.length)}export{d as u};
2
+ //# sourceMappingURL=BuNZOfIz.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuNZOfIz.chunk.js","sources":["../../src/apps/settings/hooks/useGetSettingsGroups.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\nimport { SettingsGroup } from 'apps/settings/interfaces/SettingsGroup';\n\nconst namespace = 'settings.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetSettingsGroups(): SettingsGroup[] {\n const { hasPermissions } = usePermissions();\n\n const groups: SettingsGroup[] = [\n {\n // Account Management\n id: 'my-account',\n imageUrl: ImageUrls.Settings.MY_ACCOUNT,\n name: getPhrase('myAccount'),\n modules: [\n {\n id: 'profile-details',\n name: getPhrase('profileDetails'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.PROFILE_DETAILS\n },\n permissions: [PermissionName.EditProfileDetails]\n },\n {\n id: 'email-settings',\n name: getPhrase('emailPassword'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.ACCOUNT\n }\n }\n ]\n }\n ];\n \n\n return groups.map(group => {\n return {\n ...group,\n modules: group.modules.filter(m => {\n if (m.permissions?.length && !hasPermissions(m.permissions))\n return false;\n \n return true;\n })\n };\n }).filter(group => !!group.modules.length);\n}"],"names":["namespace","getPhrase","LanguageService","useGetSettingsGroups","hasPermissions","usePermissions","ImageUrls","AppChannels","Actions","PermissionName","group","m","_a"],"mappings":"oEAWA,MAAMA,EAAY,iBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAAwC,CACtD,KAAM,CAAE,eAAAC,CAAA,EAAmBC,EAAA,EA+B3B,MA7BgC,CAC9B,CAEE,GAAI,aACJ,SAAUC,EAAU,SAAS,WAC7B,KAAML,EAAU,WAAW,EAC3B,QAAS,CACP,CACE,GAAI,kBACJ,KAAMA,EAAU,gBAAgB,EAChC,QAAS,CACP,YAAaM,EAAY,SACzB,OAAQC,EAAQ,SAAS,eAAA,EAE3B,YAAa,CAACC,EAAe,kBAAkB,CAAA,EAEjD,CACE,GAAI,iBACJ,KAAMR,EAAU,eAAe,EAC/B,QAAS,CACP,YAAaM,EAAY,SACzB,OAAQC,EAAQ,SAAS,OAAA,CAC3B,CACF,CACF,CACF,EAIY,IAAIE,IACT,CACL,GAAGA,EACH,QAASA,EAAM,QAAQ,OAAOC,GAAK,OACjC,MAAI,GAAAC,EAAAD,EAAE,cAAF,MAAAC,EAAe,QAAU,CAACR,EAAeO,EAAE,WAAW,EAI5D,CAAC,CAAA,EAEJ,EAAE,OAAOD,GAAS,CAAC,CAACA,EAAM,QAAQ,MAAM,CAC3C"}
@@ -0,0 +1,2 @@
1
+ import{m as p,as as u,j as n,Y as S}from"./app-DiXzpOyg.js";const g="d-inline-block svg-container",x="span";function C(a){const{children:t,className:c=g,tagName:r=x,size:l=p.Standard,onClick:o,title:s,tooltipPlacement:m="right"}=a,e=r,i={className:`${c} svg-container ${l}`,onClick:u.isFunction(o)?o:null};return s?n.jsx(S,{title:s,placement:m,children:n.jsx(e,{...i,children:t})}):n.jsx(e,{...i,children:t})}export{C as S};
2
+ //# sourceMappingURL=BvQxdtl3.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BvQxdtl3.chunk.js","sources":["../../../../libs/shared/src/components/svg-container/SvgContainer2.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nimport { SvgContainerSize } from './SvgContainer'; // TODO: Move this enum in here\n\nconst DEFAULT_CLASS_NAME = 'd-inline-block svg-container';\nconst DEFAULT_TAG_NAME = 'span';\n\ninterface SvgContainerProps2 {\n size?: SvgContainerSize;\n className?: string;\n tagName?: React.ElementType;\n onClick?: (...args: any[]) => void;\n title?: string;\n tooltipPlacement?: Placement;\n}\n\n/**\n * @deprecated please use SvgContainer instead. This component will be removed in the future\n * whenever someone gets around to it (that could be you!)\n */\nexport function SvgContainer2(props: React.PropsWithChildren<SvgContainerProps2>): React.ReactElement {\n const {\n children,\n className = DEFAULT_CLASS_NAME,\n tagName = DEFAULT_TAG_NAME,\n size = SvgContainerSize.Standard,\n onClick,\n title,\n tooltipPlacement = 'right'\n } = props;\n\n const Container = tagName;\n\n const containerProps = {\n className: `${className} svg-container ${size}`,\n onClick: FunctionHelper.isFunction(onClick) ? onClick : null\n };\n\n if (!title)\n return <Container {...containerProps}>{children}</Container>;\n\n return (\n <Tooltip title={title} placement={tooltipPlacement}>\n <Container {...containerProps}>\n {children}\n </Container>\n </Tooltip>\n );\n}"],"names":["DEFAULT_CLASS_NAME","DEFAULT_TAG_NAME","SvgContainer2","props","children","className","tagName","size","SvgContainerSize","onClick","title","tooltipPlacement","Container","containerProps","FunctionHelper","jsx","Tooltip"],"mappings":"4DASA,MAAMA,EAAqB,+BACrBC,EAAmB,OAelB,SAASC,EAAcC,EAAwE,CACpG,KAAM,CACJ,SAAAC,EACA,UAAAC,EAAYL,EACZ,QAAAM,EAAUL,EACV,KAAAM,EAAOC,EAAiB,SACxB,QAAAC,EACA,MAAAC,EACA,iBAAAC,EAAmB,OAAA,EACjBR,EAEES,EAAYN,EAEZO,EAAiB,CACrB,UAAW,GAAGR,CAAS,kBAAkBE,CAAI,GAC7C,QAASO,EAAe,WAAWL,CAAO,EAAIA,EAAU,IAAA,EAG1D,OAAKC,EAIHK,EAAAA,IAACC,EAAA,CAAQ,MAAAN,EAAc,UAAWC,EAChC,eAACC,EAAA,CAAW,GAAGC,EACZ,SAAAT,CAAA,CACH,CAAA,CACF,EAPOW,EAAAA,IAACH,EAAA,CAAW,GAAGC,EAAiB,SAAAT,CAAA,CAAS,CASpD"}
@@ -0,0 +1,2 @@
1
+ import{ap as te,b5 as p,P as ge,g as G,dj as ve,D as L,dk as he,cD as Q,c as oe,h as P,dl as v,ag as Ce,b9 as D,dm as x,b7 as W,i as ee,k as ae,ao as Se,R as Ie}from"./app-DiXzpOyg.js";import{H as l}from"./DaJTPRJr.chunk.js";import{a as t}from"./BdHxGaRy.chunk.js";import{M as Pe}from"./DuidBpWd.chunk.js";var $=(e=>(e.LatestReleases="latest-releases",e.ExploreAllTopics="explore-all-topics",e.ClassificationLatestReleases="classification-latest-releases",e.ClassificationDirectory="classification-directory",e))($||{}),fe=(e=>(e.TopicDirectory="topic-directory",e.TopicNewReleases="topic-new-releases",e.CuratedTopic="curated-topic",e))(fe||{});const ie="onboarding:persona",J="onboarding:usage:intention",F="onboarding:had:job:title",se="onboarding:videos:v2";function U(e,a){return e?`${e}:${a}`:a}function O(e,a){const i=p.get(a),n=U(e,a);return i!==null&&(p.remove(a),p.set(n,i)),p.get(n)}function Y(e,a,i){p.set(U(e,a),i)}function ye(e,a){p.get(a)!==null&&p.remove(a),p.remove(U(e,a))}const j={getPersona(e){return O(e,ie)},updatePersona(e,a){const i=te.getPersonaFromJobTitle(a);Y(e,ie,i||"teacher")},getUsageIntention(e){return O(e,J)},updateUsageIntention(e,a){Y(e,J,a)},removeUsageIntention(e){ye(e,J)},getJobTitleRedirect(e,a){return typeof O(e,F)!="boolean"&&Y(e,F,!!a),!O(e,F)},getOnboardingVideoSelections(e){return O(e,se)},setOnboardingVideoSelections(e,a){Y(e,se,a)}};function _e(e,a){const i="2024-03-26",n="2024-11-28",o="2024-12-11";return e.some(m=>m.id.toString()===l.PresentationIds.AU_TERTIARY.toString()||m.id.toString()===l.PresentationIds.UK_TERTIARY.toString())?n:L.isBefore(a==null?void 0:a.dateCreated,i)?o:i}const V={getOnboardingPathway(e){const{jobTitle:a,userSettings:i,presentations:n,curriculums:o,preferredPresentation:d,preferredSubjects:m,hasPlaylist:c,appLink:h,appLinks:M,masterUser:g,customer:I,currentUser:C,hasPermissions:H}=e,E=j.getPersona(C==null?void 0:C.id);!E&&a&&j.updatePersona(C==null?void 0:C.id,a),E&&E!==te.getPersonaFromJobTitle(a)&&j.updatePersona(C==null?void 0:C.id,a);const A={jobTitle:a,hasPlaylist:c,masterUser:g,customer:I,presentations:n||[],curriculums:o||[],preferredPresentation:d,preferredSubjects:m,instanceRegion:C==null?void 0:C.instanceRegion,hasPermissions:H,userSettings:i};let f=V.getCurrentScreen(h,M);const ue=Object.values(b),R={};let N=null,w=null,z=0,K=0,k=!0;return ue.forEach(S=>{var X;if(!S.predicate(A))return;w||(w=S.id);const q=ve.get(i,S.setting);q||(k=!1),!f&&!q&&(f=S.id),z++,R[S.id]={isComplete:q,next:null,previous:N,number:z,includeInProgressBar:!1},S.includeInProgressBar(A)&&(K++,R[S.id].progressBarNumber=K,R[S.id].includeInProgressBar=!0),(X=S.branches)!=null&&X.length&&S.branches.forEach(me=>{R[me]={next:S.id,previous:S.id,includeInProgressBar:!1}}),N&&(R[N].next=S.id),N=S.id}),!f&&!k&&(f=w),{screens:R,currentScreen:f,totalScreens:z,totalScreensInProgressBar:K,hasCompletedAllSteps:k}},getNextAppLink(e,a){const i=e.screens[e.currentScreen],n=i==null?void 0:i.next;return n?a[n]:null},getPreviousAppLink(e,a){const i=e.screens[e.currentScreen],n=i==null?void 0:i.previous;return n?a[n]:null},getCurrentScreen(e,a){const i=Object.entries(a).find(([,n])=>n.action===e.action);return i?G.first(i):null},getProgress(e){var c,h,M;const a=(c=e.screens[e.currentScreen])==null?void 0:c.number,i=(h=e.screens[e.currentScreen])==null?void 0:h.progressBarNumber,n=e.totalScreens,o=e.totalScreensInProgressBar,d=i/o*100,m=(a-1)/n*100;return{showProgressBar:(M=e.screens[e.currentScreen])==null?void 0:M.includeInProgressBar,currentStepNumber:a,currentStepProgressBarNumber:i,totalScreens:n,totalScreensInProgressBar:o,progressBarPercentage:d,overallPercentage:m}},hasNonBdmTrial(e){return e(ge.ViewTrialUpgrade)},getOnboardingScreenStates(e){const a=[],i=[];return Object.keys(e.screens).forEach(n=>{e.screens[n].isComplete?a.push(n):i.push(n)}),{completedScreens:a,incompleteScreens:i}},shouldRedirectToOnboarding(e,a,i,n){var o,d;return(e==null?void 0:e.dateCreated)>=_e(n,a)?!0:V.hasNonBdmTrial(i)?j.getJobTitleRedirect(e==null?void 0:e.id,(d=(o=e==null?void 0:e.userProfile)==null?void 0:o.metadata)==null?void 0:d.jobTitle):!1}};var u=(e=>(e[e.Level_1=1]="Level_1",e[e.Level_2=2]="Level_2",e[e.Level_3=3]="Level_3",e[e.Level_4=4]="Level_4",e))(u||{}),re=(e=>(e.Root="root",e))(re||{}),de=(e=>(e.Subject="Subject",e.CurriculumAudience="CurriculumAudience",e.CurriculumSubject="CurriculumSubject",e.CurriculumArea="CurriculumArea",e.CurriculumLeaf="CurriculumLeaf",e.CurriculumMetadata="CurriculumMetadata",e))(de||{}),le=(e=>(e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation",e))(le||{});const be="subjects.utils",Z=oe.encloseNamespace(be),T={isPresentation(e){return"learningLevel"in e},isTopicClassification(e){return(e==null?void 0:e.type)===de.Subject},getMappedPresentationLevel(e){return typeof e=="string"?u[e]:e},getMappedPresentationBackgroundColourClass(e){switch(T.getMappedPresentationLevel(e)){case u.Level_1:return"bg-indigo";case u.Level_3:return"bg-blue";case u.Level_4:return"bg-navy";default:case u.Level_2:return"bg-green"}},getMappedPresentationBackgroundColourCode(e){switch(T.getMappedPresentationLevel(e)){case u.Level_1:return"#7A76E8";case u.Level_3:return"#38A2E8";case u.Level_4:return"#1B2D71";default:case u.Level_2:return"#5DC786"}},getPresentationLevelImage(e,a){switch(T.getMappedPresentationLevel(e)){case u.Level_1:{if(a==="topic-banner")return l.Images.Level_1.TOPIC_BANNER;if(a==="new-release-banner")return l.Images.Level_1.NEW_RELEASES_BANNER;if(a==="cover")return l.Images.Level_1.TOPIC_COVER;if(a==="tall-poster")return l.Images.Level_1.TOPIC_TALL_POSTER}case u.Level_2:{if(a==="topic-banner")return l.Images.Level_2.TOPIC_BANNER;if(a==="new-release-banner")return l.Images.Level_2.NEW_RELEASES_BANNER;if(a==="cover")return l.Images.Level_2.TOPIC_COVER;if(a==="tall-poster")return l.Images.Level_2.TOPIC_TALL_POSTER}default:case u.Level_3:{if(a==="topic-banner")return l.Images.Level_3.TOPIC_BANNER;if(a==="new-release-banner")return l.Images.Level_3.NEW_RELEASES_BANNER;if(a==="cover")return l.Images.Level_3.TOPIC_COVER;if(a==="tall-poster")return l.Images.Level_3.TOPIC_TALL_POSTER}case u.Level_4:{if(a==="topic-banner")return l.Images.Level_4.TOPIC_BANNER;if(a==="cover")return l.Images.Level_4.TOPIC_COVER}}},getExploreAllTopicsTitle(e,a){return a<Q.MULTI_PRESENTATION_THRESHOLD?Z("exploreAllTopicsHeading"):Z("exploreAllTopicsDynamicHeading",{presentationName:e})},getExploreAllTopicsBreadcrumb(e,a){return a<Q.MULTI_PRESENTATION_THRESHOLD?Z("exploreAllTopicsHeading"):e},isFollowing(e){var a,i;return((i=(a=e==null?void 0:e.followers)==null?void 0:a.data)==null?void 0:i.length)===1},isTopLevelTopic(e){var a;return!!((a=e==null?void 0:e.parentIds)!=null&&a.includes(re.Root))},canHaveVideoListTab(e){var a;return(a=e==null?void 0:e.widgets)==null?void 0:a.some(i=>{var n;return(n=i.metadata)==null?void 0:n.showInTableOfContents})},getActiveTopicTab(e,a){return T.isTopLevelTopic(e)?a===t.Classification?"new-releases":"all-topics":a===t.Classification?"curated-topic":"curriculum"},getCounts(e){var i;const a=((i=e==null?void 0:e.metadata)==null?void 0:i.childClassificationCount)??0;return e!=null&&e.externalMetadata?{childClassificationCount:a,dashboardVideoCount:e.externalMetadata.dashboardVideoCount||0,childDashboardVideoCount:e.externalMetadata.childDashboardVideoCount||0,dashboardResourceCount:e.externalMetadata.dashboardResourceCount||0,childDashboardResourceCount:e.externalMetadata.childDashboardResourceCount||0,dashboardNewVideosCount:e.externalMetadata.dashboardNewVideosCount||0,childDashboardNewVideoCount:e.externalMetadata.childDashboardNewVideoCount||0}:{childClassificationCount:a,dashboardVideoCount:0,childDashboardVideoCount:0,dashboardResourceCount:0,childDashboardResourceCount:0,dashboardNewVideosCount:0,childDashboardNewVideoCount:0}},isTertiary(e){return(e==null?void 0:e.toString())===l.PresentationIds.AU_TERTIARY.toString()||(e==null?void 0:e.toString())===l.PresentationIds.UK_TERTIARY.toString()},isNewZealandTopic(e){return(e==null?void 0:e.toString())===l.PresentationIds.NZ_PRIMARY.toString()||(e==null?void 0:e.toString())===l.PresentationIds.NZ_SECONDARY.toString()},isCanadaTopic(e){return(e==null?void 0:e.toString())===l.PresentationIds.CA_ELEMENTARY.toString()||(e==null?void 0:e.toString())===l.PresentationIds.CA_MIDDLE.toString()||(e==null?void 0:e.toString())===l.PresentationIds.CA_HIGH.toString()},isInternationalTopic(e){return(e==null?void 0:e.toString())===l.PresentationIds.INT_PRIMARY.toString()||(e==null?void 0:e.toString())===l.PresentationIds.INT_SECONDARY.toString()},isMtv(e){var a;return(a=e==null?void 0:e.tags)!=null&&a.data?e.tags.data.some(i=>i.tagType===le.Curation&&i.name===he.MOVIES_AND_TV):!1},sortByLearningLevel(e,a,i){const n=i.find(c=>{var h;return(c==null?void 0:c.id.toString())===((h=e==null?void 0:e.presentationId)==null?void 0:h.toString())}),o=i.find(c=>{var h;return(c==null?void 0:c.id.toString())===((h=a==null?void 0:a.presentationId)==null?void 0:h.toString())}),d=u[n==null?void 0:n.learningLevel],m=u[o==null?void 0:o.learningLevel];return d-m}},Le={9:{JpZ05O1:{name:"English",videoIds:["12293130","30361411","56866418","58438459","47329278","33204878"]},nK2le8E:{name:"Personal Development and Health",videoIds:["8789599","60153074","3713674","15492556","3716135","53092493"]},yKGO31z:{name:"Business and Economics",videoIds:["47366972","3715870","18845095","36235981","53428226","51407674"]},m0LrOj4:{name:"Geography",videoIds:["67277770","3716182","5803343","21143528","3716292","3922246"]},v47nvEK:{name:"History",videoIds:["3926454","3716774","3713871","3716594","3716183","3713847"]},j03MPwr:{name:"Legal Studies",videoIds:["3102514","1980904","1969843","3716210","3714860","2787675"]},bbJR9Zn:{name:"Languages",videoIds:["5449905","42463035","6820509","6027576","47076421","5455635"]},"8L21E3O":{name:"Mathematics",videoIds:["3715870","3715019","51005229","3714949","3716177","3715365"]},"2jDy2M7":{name:"Religion and Philosophy",videoIds:["3716229","3716171","41056701","16574869","3716175","50917953"]},qdo988Y:{name:"Biological Sciences",videoIds:["3714819","3716265","4683666","3715984","38041517","3779793"]},"0OPpqqo":{name:"Chemical Sciences",videoIds:["52947827","52948049","3715160","4427422","57870424","47323862"]},dlMrOdE:{name:"Physical Sciences",videoIds:["11746875","3716307","39316775","6746382","6812332","6344597"]},"0OZyLGy":{name:"Technologies",videoIds:["3714027","6863817","3716153","34149622","22733300","10345707"]},"0OZyLYy":{name:"The Arts",videoIds:["3713730","3716727","3937998","32102569","3716167","32998073"]},Jp6k7by:{name:"Aboriginal and Torres Strait Islander Studies",videoIds:["39653785","56866418","3713730","3716831","35848459","3716863"]},"4GRgpve":{name:"Careers and Vocational Education",videoIds:["8191834","8194999","8194478","8686941","8696292","16168801"]},Rb4dbm1:{name:"Civics and Citizenship",videoIds:["5803343","37938448","13106949","22372922","47303205","1521314"]},DdKR5WL:{name:"Earth and Space Sciences",videoIds:["3716182","5803343","3716621","4006484","3716170","21148006"]},"0wOxDvl":{name:"Physical Education",videoIds:["3714278","3714277","3714263","3714261","7709983","3714262"]},"7m2JLPq":{name:"Psychology",videoIds:["3714892","3714373","3714890","3714891","6590889","3717555"]},nENmdK1:{name:"Sociology",videoIds:["3714506","50807954","3714583","38169050","6590951","57771705"]}},12:{v45P37g:{name:"Expressive Arts",videoIds:["8924670","49585075","38370221","47484152","54095899","32102465"]},GxyLnJn:{name:"Languages",videoIds:["7486323","36991396","5449905","40919815","48278510","50466413"]},"7PWYrDW":{name:"Literacy and English",videoIds:["41906926","49581979","61250","52429859","32970218","41938064"]},eKpbY50:{name:"Numeracy and Mathematics",videoIds:["3711988","42637723","6682722","58026826","13078019","4991116"]},k3MlbL9:{name:"PSHE",videoIds:["7593354","4169937","9900606","37428010","50180637","37857897"]},wLDW2LL:{name:"Religious and Philosophical Education",videoIds:["8739794","8733823","8734696","39428437","49159932","49159889"]},nKGonKL:{name:"Sciences",videoIds:["3711985","36554684","4108673","3712066","7310225","48022765"]},eKpbEMy:{name:"Social Studies",videoIds:["38091407","52436848","8139170","8733988","52601783","51668932"]},MgqLxwk:{name:"Technologies",videoIds:["47529961","4108924","3711985","51668853","49834298","37137391"]},Yv56NaM:{name:"Biological Systems",videoIds:["3779793","3713221","3713363","3713562","3713236","3716289"]},"8Lv5Na0":{name:"Citizenship",videoIds:["3959296","3713237","62336","7586599","48522943","22372630"]},v4MYJ94:{name:"Forces, Electricity and Waves",videoIds:["3713221","3713695","3713298","3713562","3713342","3713279"]},"1d5Opwv":{name:"Materials and Substances",videoIds:["3713221","3713562","3716289","7334569","3713286","3716279"]},raqjNz4:{name:"Music",videoIds:["50466237","49808227","38134895","30324910","49535315","6412547"]},eKp93yo:{name:"People, Past Events and Societies",videoIds:["52436848","8139170","48666851","49159889","54092899","51668932"]},"2jlKbrd":{name:"People, Place and Environment",videoIds:["50800706","16206702","81764274","80349361","51668517","37938665"]},xA2zYyP:{name:"Planet Earth and Space",videoIds:["3713858","3716170","48022455","3713237","3713221","3713761"]},"3bNnxmn":{name:"Study and Research Skills",videoIds:["3715013","5952919","5892164","8999934","219449","51724289"]}},13:{GxAzY0z:{name:"Arts",videoIds:["6412547","53550381","40919555","50977326","53108637","49858623"]},Jpy1Edb:{name:"Computer Science and Technology",videoIds:["39382930","40907539","48236013","48233767","48236100","3712674"]},NqgPKaG:{name:"English Language Arts",videoIds:["38945464","39388174","52673932","38945448","60062676","48235940"]},bbJ74ed:{name:"Health",videoIds:["39430062","40919434","39362080","39383081","58025600","40919494"]},Dda6pW3:{name:"Math",videoIds:["49532295","38943192","49532442","39382723","39388252","38944700"]},j0a4Arj:{name:"Physical Education",videoIds:["40919406","48235838","50652589","40919430","48236078","50652575"]},"8LnP7p8":{name:"Social and Emotional Learning",videoIds:["39451488","48235859","39337317","40964136","42314985","39382748"]},"4Gl1DaK":{name:"World Languages",videoIds:["40919719","40919802","40919815","40919186","40915325","49858537"]},Jpy1EP2:{name:"Civics and Government",videoIds:["50807954","50800622","57355287","38945573","40919591","57978641"]},ZAl67rb:{name:"Earth and Space Science",videoIds:["7336963","3713237","3713761","3712190","3779809","39414730"]},ze5PRD9:{name:"Economics",videoIds:["57978515","52673893","39386335","80309108","52673959","80309197"]},GxAzYW1:{name:"Geography",videoIds:["39382727","39430086","39342430","40919446","79131743","57200758"]},R0L3j6g:{name:"History",videoIds:["57948887","84615538","49690616","40911809","51668864","50735582"]},"9DPWnaO":{name:"Life Science",videoIds:["3713236","7335448","3713268","53044818","50976630","50977361"]},nKzp19Y:{name:"Physical Science",videoIds:["3713221","3713695","3713298","38945712","39382930","84609116"]},"7P7n8AR":{name:"Religion",videoIds:["50800564","38945207","38945680","54093273","50180383","49159058"]}},14:{"2jrkdLY":{name:"Arts",videoIds:["38916908","6412547","40919390","40919482","38817643","38817665"]},g42EN1v:{name:"Computer Science and Technology",videoIds:["40919434","38917550","50878197","40907190","40907208","39382881"]},"5ROzG7l":{name:"English Language Arts",videoIds:["39387902","40912179","60062676","40916580","40919438","48234159"]},ze5J1AE:{name:"Health",videoIds:["39362404","39430062","51152651","40919426","40919486","48234499"]},v4qnrzg:{name:"Math",videoIds:["39361909","51005193","51730147","48715611","39382600","49532478"]},"1dRa6vd":{name:"Physical Education",videoIds:["40918377","51617459","49533964","42463003","51182678","50652593"]},xyLWk6w:{name:"Social and Emotional Learning",videoIds:["40964136","53746175","48172750","48171641","50417923","50418083"]},DdaRGrq:{name:"World Languages",videoIds:["40915666","40915325","42486037","40915698","40915345","48040254"]},yrKZA3y:{name:"Careers and Technical Education",videoIds:["48172750","52328920","22422792","47488746","51187200","84960065"]},R0LRx1g:{name:"Chemical Science",videoIds:["7334569","50876056","52318636","58196676","50837270","47251669"]},"7P7y5bR":{name:"Civics and Government",videoIds:["50800622","54089250","40919577","81573693","53737737","57978641"]},g42ENM9:{name:"Earth and Space Science",videoIds:["39430086","39414730","39414759","50875964","40919857","51264326"]},LqGREZL:{name:"Economics",videoIds:["57978515","53737737","51408524","51409809","51779414","48463897"]},obMmqy5:{name:"Geography",videoIds:["48234876","81930059","39931606","71810304","47321866","48236170"]},ZAlrZ11:{name:"Life Science",videoIds:["48022455","3713236","36554448","9203166","40914938","51863288"]},obMmqWk:{name:"Physical Science",videoIds:["3713695","3713298","3713342","3713279","7345732","48233477"]},"5ROzG0o":{name:"Religion and Ethics",videoIds:["57377971","57355136","57375306","57379661","39904894","78287556"]},nEN5zAj:{name:"Science and Engineering Practices",videoIds:["3713221","51724079","50876282","3713711","9203166","40917307"]},xyLWk4p:{name:"U.S. History",videoIds:["50168351","53577428","53551209","54090633","49690616","69402165"]},p3yr17b:{name:"World History",videoIds:["51415052","51668932","81936739","40913381","50917975","82655889"]}},15:{yKZ43dw:{name:"Arts",videoIds:["38817665","39999270","38808751","40911271","40911232","51581800"]},p3y82WO:{name:"Career and Technical Education",videoIds:["52328915","52328920","47488746","47488362","52436904","40917538"]},KAERnwR:{name:"Computer Science and Technology",videoIds:["40915847","40916210","51262040","39912587","51250029","58318543"]},LqGrPwA:{name:"English Language Arts",videoIds:["40914651","40918236","77544344","51581321","39319556","40912204"]},"8LnamD8":{name:"Health",videoIds:["51154979","48235793","46984526","39894691","59279809","50996991"]},Jpyo7W2:{name:"Math",videoIds:["47595827","51730147","49532658","48715416","48234988","48715584"]},"5RO2ml5":{name:"Physical Education",videoIds:["49533951","40918509","40918377","51655191","50652593","40908770"]},ze5d6l9:{name:"Social and Emotional Learning",videoIds:["48171596","48171968","48171765","50418083","50418241","48235802"]},KAERnDz:{name:"World Languages",videoIds:["42486037","48234348","40919186","40919098","40918945","40915898"]},"7P7p05W":{name:"Business and Economics",videoIds:["51407674","57978515","77649088","51100707","58123778","51407769"]},laYDvoG:{name:"Chemistry",videoIds:["48233332","40916556","52318636","58196676","52948049","52938235"]},LqGrPEj:{name:"Civics and Government",videoIds:["50800622","50871477","40919577","81574026","77829152","80399681"]},wLj3A04:{name:"Earth and Space Science",videoIds:["39927128","40919857","39926995","40915159","51292616","51264452"]},"4GldpJG":{name:"Geography",videoIds:["51264452","40914544","48449463","81930059","51182016","51240873"]},dleKgE2:{name:"Life Sciences",videoIds:["40909818","40910549","50834178","40919211","40908887","50834330"]},"2jre2Oe":{name:"Physics",videoIds:["6762513","40913948","85029481","81269747","82339649","82340162"]},W12y493:{name:"Psychology",videoIds:["40908799","81539973","40908929","81539825","77911442","81540071"]},yKZ432M:{name:"Religion and Philosophy",videoIds:["57377971","57375306","57379661","57379674","39904894","78287556"]},"69xJOgr":{name:"Science and Engineering Practices",videoIds:["50876282","9203166","40917307","57355599","39592894","50962824"]},jl7Elwx:{name:"Sociology",videoIds:["81389320","81388819","77911225","47329600","47329600","36508642"]},Ax2KeMo:{name:"U.S. History",videoIds:["53487293","50168351","77827742","50793077","50168007","51168977"]},laYDvwm:{name:"World History",videoIds:["78902422","39394547","52993554","50917975","51414677","38907954"]}},16:{KAEY5GK:{name:"Art and Design",videoIds:["8924670","49585075","38370221","47484152","54095899","32102465"]},"6wa2YwO":{name:"Citizenship",videoIds:["57355388","52601783","48522943","22372630","53108585","41992024"]},R0LK746:{name:"Computing",videoIds:["26617482","38132678","26619390","36895952","41565288","36895909"]},"9DPkNz6":{name:"Design and Technology",videoIds:["47529961","4108924","3711985","51668853","49834298","37137391"]},"2jDnan9":{name:"Drama",videoIds:["51240522","230268","37018426","41939112","51582282","46916103"]},E06dg2Z:{name:"English",videoIds:["41906926","49581979","61250","52429859","32970218","41938064"]},"8LnO2Rd":{name:"Geography",videoIds:["67225999","3713237","4402476","50800706","51666994","48105073"]},bbJ9Ayb:{name:"History",videoIds:["52436848","8139170","8733988","48666851","51668932","51731292"]},Dda4KYL:{name:"Languages",videoIds:["7486323","36991396","5449905","40919815","48278510","50466413"]},Ax2Jyoa:{name:"Mathematics",videoIds:["3711988","42637723","6682722","58026826","13078019","4991116"]},bbJ9Ap0:{name:"Music",videoIds:["50466237","6412547","49535315","49808227","30324910","64333"]},NqgMRWy:{name:"Physical Education",videoIds:["38132665","39294835","48118056","57372274","53108623","47431467"]},Yvm5eyp:{name:"PSHE",videoIds:["7593354","4169937","9900606","37428010","50180637","37857897"]},"8LnO2Je":{name:"Religious Education",videoIds:["8739794","8733823","8734696","39428437","49159932","49159889"]},"3kmoJ72":{name:"Science",videoIds:["3711985","36554684","4108673","3712066","7310225","48022765"]}},18:{yKP9gOD:{name:"Civics and Citizenship",videoIds:["7735265","7735497","50679052","51452628","13106949","13107690"]},"7P6JOYb":{name:"Economics and Business Studies",videoIds:["53428624","37455700","57355319","53428628","43961148","57966130"]},j0jRJ1Z:{name:"English",videoIds:["8416974","8417845","3712691","32127566","6673418","52675027"]},nKDmYEl:{name:"Geography",videoIds:["58600977","6980722","34591272","4402447","34597058","51437590"]},WAe601Z:{name:"History",videoIds:["3713735","6430651","3716829","43772092","51391809","56980377"]},v4893Yy:{name:"Languages",videoIds:["5449905","32345978","39623583","6820509","39255442","39254760"]},nKDmYkl:{name:"Mathematics",videoIds:["3713828","10749459","32102562","6689791","3713607","48278618"]},"0OeG09l":{name:"Religion",videoIds:["8740724","8733239","8739706","8734693","8733792","33320133"]},KAmPJqP:{name:"Technologies",videoIds:["26619390","4131606","38132678","50720784","57230386","51181861"]},MgOve7k:{name:"The Arts",videoIds:["50466237","6412334","8100020","3716220","49808227","32787298"]},NqkJ495:{name:"Biological Sciences",videoIds:["3713221","3713363","3711972","5321193","45248896","51271242"]},NqkJ4xy:{name:"Chemical Sciences",videoIds:["3712073","48022232","3712074","50800545","50720770","50962883"]},KAmPJOL:{name:"Earth and Space Sciences",videoIds:["3716182","34591272","34590945","6683633","6683711","3713739"]},p0Nm2AY:{name:"Personal Development and Health",videoIds:["23645932","7593792","7593365","36875667","7587057","9900524"]},D12Mz8e:{name:"Physical Education",videoIds:["81770378","38132665","58025996","82328353","47219168","53093878"]},Oz83dm5:{name:"Physical Sciences",videoIds:["36554689","3713221","3713695","3713298","84609116","36554677"]}},24:{qdarDYp:{name:"Business and Economics",videoIds:["51623323","47366972","37709668","37709732","3716149","8973838"]},eKnGDa0:{name:"English",videoIds:["36191688","33204878","36395402","5758602","35997069","23851791"]},Yv5dzw5:{name:"Expressive Arts",videoIds:["3716191","3716247","48134757","32998073","3716167","35601583"]},ra6m0d1:{name:"Geography",videoIds:["74135484","9375166","5711759","16206702","3922246","48476601"]},E0dZqyR:{name:"History",videoIds:["3926454","9978142","4684604","8372779","3716183","4648523"]},"9DkAaKy":{name:"Languages",videoIds:["5449905","42463035","6820509","42209168","47076421","5455635"]},"8LOYpl0":{name:"Numeracy and Mathematics",videoIds:["3716176","3715070","51730710","3715047","4553884","48091307"]},m0d5D7r:{name:"Physical Education",videoIds:["7609298","3714120","3714279","49160029","3714263","51667687"]},g4WgD5l:{name:"PSE",videoIds:["59279784","3716135","53259069","53259054","983611","16132648"]},eKnGDdP:{name:"Religious, Moral and Philosophical Education",videoIds:["3716229","3716171","39379918","33305783","3716175","3716237"]},"2jDd3kx":{name:"Technologies",videoIds:["50917033","58307508","3716153","74135484","48083353","35004434"]},"4GRN4Eq":{name:"Biology",videoIds:["3714819","3716182","5803343","3716265","4683666","3779793"]},"6wma2KO":{name:"Career Education and Skills for Work",videoIds:["8191834","8194999","8686941","8696292","8687327","9312222"]},LqAlv96:{name:"Chemistry",videoIds:["3713221","3717296","3716700","3717051","3716289","7334569"]},"8LOYpZR":{name:"Computing and ICT",videoIds:["3716153","26619390","58307508","26618525","48490433","51731678"]},"3b9r3ka":{name:"Law",videoIds:["3714675","22372859","5270400","36503787","22220755","57828397"]},Gx5kpRO:{name:"Media Studies",videoIds:["3716135","3716275","47244475","3716274","47244664","47244504"]},"6w5zqYO":{name:"Modern Studies",videoIds:["3716292","5803343","3716190","3713994","3713237","47366972"]},g78nMPW:{name:"Physics",videoIds:["6746382","9831360","3716170","6812332","34941552","6762513"]},"3ko2eAw":{name:"Psychology",videoIds:["6590889","3714392","3714377","39438648","3717555","6590951"]}},47:{LqKNnNw:{name:"Business and Economics",videoIds:["51623323","47366972","37709668","37709732","3716149","8973838"]},"7PgZvEA":{name:"Careers",videoIds:["9315247","9312222","47104083","3715120","3714944","47159767"]},la7zdgw:{name:"English",videoIds:["53466594","77444242","17989642","30340068","24419904","33204878"]},wLKkMwD:{name:"Expressive Arts",videoIds:["3716191","3716247","48134757","32998073","3716167","35601583"]},wLKkMEp:{name:"Geography",videoIds:["74135484","22687577","5711759","16206702","3922246","19105359"]},OzZ6vg4:{name:"History",videoIds:["3926454","9978142","4684604","8372779","3716183","4648523"]},YvJby7P:{name:"Mathematics",videoIds:["3716176","3715070","51730710","3715047","4553884","34497285"]},v41jLmK:{name:"Modern Foreign Languages",videoIds:["5449905","42463035","6820509","42209168","47076421","5455635"]},aPG3mRe:{name:"Physical Education",videoIds:["7609298","3714120","3714279","49160029","3714263","51667687"]},Gxp3jze:{name:"PSHE",videoIds:["59279784","3716135","53259069","53259054","983611","16132648"]},qd2K0qY:{name:"Religion",videoIds:["3716229","3716171","39379918","33305783","3716175","3716237"]},nKvyqe1:{name:"Technology",videoIds:["50917033","58307508","3716153","74135484","48083353","35004434"]},la7z0eL:{name:"Biology",videoIds:["3714819","3716182","5803343","4683666","3779793","3716169"]},wLKkGZY:{name:"Chemistry",videoIds:["5795485","3717296","3716700","6737003","6737780","9030741"]},r4YknOP:{name:"Citizenship",videoIds:["5803343","3716190","3716293","79799081","3716210","79620772"]},"4GzZbpL":{name:"Computing and ICT",videoIds:["58308441","58307508","48490433","48490093","48611300","59323845"]},yKjEMbw:{name:"Law",videoIds:["22372859","54577039","79799081","79620772","5270400","79799099"]},"6wGZWer":{name:"Media Studies",videoIds:["33204878","47283314","3716275","47244475","3716274","47283102"]},YvJbwpe:{name:"Physics",videoIds:["6746382","9831360","6812332","34941552","6762513","37711980"]},"2jak8l9":{name:"Psychology",videoIds:["38169050","3717591","57771705","6599207","3717590","57771703"]},"8ymN4z8":{name:"Sociology",videoIds:["6590951","15923455","6599693","3714530","36503787","36508642"]}},81:{K6nGJr9:{name:"Arts and Design",videoIds:["32998073","10916108","3714100","32102569","67277770","3714465"]},"2m2bo9d":{name:"Business and Marketing",videoIds:["18654895","8973838","12955878","3715697","47583323","22563804"]},AOe31wj:{name:"Careers and Work",videoIds:["8194999","8973940","3715805","38132141","45692655","52874679"]},xA28NqR:{name:"Community and Youth Services",videoIds:["58155906","3714331","3714510","4144817","43307103","80005094"]},vY2odPv:{name:"Education and Training",videoIds:["3715013","49093031","3714891","24103433","3714590","51181808"]},Jj7AgRb:{name:"Events, Hospitality, Retail and Tourism",videoIds:["3713992","34061952","52183441","35409925","3716333","77936874"]},nEeNnbE:{name:"Foundation Skills and Personal Development",videoIds:["33174549","42500607","9264932","5952919","22713942","48155206"]},m6eW7Nr:{name:"Health and Healthcare",videoIds:["3714892","9375166","3714611","3714331","4144817","3714592"]},kZWnqG6:{name:"Information and Communications Technology",videoIds:["3716153","7897881","10584560","7869408","58308441","58307508"]},xA28NgY:{name:"Mathematics",videoIds:["26063133","3715838","3715050","23853803","23848364","25658497"]},OqMG72A:{name:"Science",videoIds:["38041517","38043803","22232723","6812332","3714819","3714462"]},"8ymN5wd":{name:"Services, Trades and Engineering",videoIds:["52874679","39319138","26063133","20290415","3715837","3715359"]},Jj7Agyy:{name:"Society and Culture",videoIds:["18569471","3714314","3714937","49306628","3714486","45334884"]}},82:{vY2o59g:{name:"Arts and Design",videoIds:["32102504","12598560","32998073","83017577","23740459","3716167"]},Jj7AK52:{name:"Business and Finance",videoIds:["50247134","8973838","18654895","12598127","71418012","51623323"]},l5vPyNm:{name:"Careers and Work",videoIds:["9312222","8191834","45664204","8973940","47579402","52251343"]},r42NqxG:{name:"Community and Youth Services",videoIds:["53259063","16132648","47207659","3714506","63984885","57771705"]},l5vPybd:{name:"Computing, Technology and Digital",videoIds:["33204878","3716153","35046405","10345707","58308441","48611300"]},odelM2D:{name:"Construction, Trades and Services",videoIds:["26063133","48689684","10565525","4146135","3715345","23988515"]},dqgkNyd:{name:"Education and Training",videoIds:["3715013","9080279","3714506","3714892","57771705","42500607"]},"7m0271k":{name:"Engineering, Manufacturing and Electrotechnology",videoIds:["58308441","39319138","26066739","20290415","20306169","3716293"]},vY2oqWG:{name:"English Literature and Language",videoIds:["33204878","31993108","9227475","49066628","60059964","5790748"]},Eol2zjR:{name:"Functional Skills and Personal Development",videoIds:["9312222","9316945","42515350","5668137","9560804","5952919"]},"4rp97l9":{name:"Health and Care",videoIds:["10896257","58127362","59279784","49948105","45818245","47198490"]},yr33MLG:{name:"Hospitality and Food",videoIds:["22733300","3714027","52183441","23853803","35409925","35410496"]},G1Ea5n5:{name:"Languages",videoIds:["9227475","45258243","82093433","82093931","60060323","82092337"]},"3b9N8dE":{name:"Mathematics",videoIds:["26158674","26444801","48155206","52415295","50288809","51005229"]},"4rppnP7":{name:"Retail and Sales",videoIds:["7181915","22552850","3715808","22710596","7183122","3716322"]},RbG4Dm1:{name:"Science",videoIds:["4683666","45819014","26686718","57887823","13023269","6812332"]},W19xRxz:{name:"Social Sciences",videoIds:["47575902","3715869","36220305","5270400","50269716","3714426"]},"8ymNvoR":{name:"Sport and Leisure",videoIds:["3714261","7609298","57736364","32051772","3714278","3714126"]},l5vPyM3:{name:"Travel and Tourism",videoIds:["77720073","3716190","3713902","3716136","78706124","39406754"]}},96:{jlvNeWR:{name:"Continuity and Change",videoIds:["86615390","3713876","3713847","47221954","54089199","54093263"]},g7nMm5W:{name:"English",videoIds:["80158955","81989077","83846323","9227475","3716165","41906817"]},xAz6MEr:{name:"Health",videoIds:["84954526","81072555","3713123","47177036","47106673","53093908"]},ek8mbq8:{name:"Identity, Culture and Organisation",videoIds:["85058309","33204878","16574869","42463035","47303205","3716220"]},xAz6MMz:{name:"Learning Languages",videoIds:["42463035","6820509","36689369","37642890","6810760","47076421"]},zMgokW2:{name:"Living World",videoIds:["84615984","3713221","3713363","45248896","7735364","51271242"]},"3br3wk2":{name:"Material World",videoIds:["3713221","7334569","50877364","64098768","41939159","50877778"]},PGlOJd7:{name:"Mathematics and Statistics",videoIds:["80553902","25923580","43936635","48278518","42636988","48155955"]},p0PjPqO:{name:"Physical Education",videoIds:["84301769","53093878","38133887","51731303","49580107","50652578"]},Nzm0ZmN:{name:"Physical World",videoIds:["87005330","3713297","3713298","48022996","3713279","48117006"]},l53E1xJ:{name:"Place and Environment",videoIds:["81074045","3716795","3713237","51474669","51444188","38071125"]},vYz6PzG:{name:"Planet Earth and Beyond",videoIds:["84733189","7336963","3713212","47303205","48117006","50800584"]},odnWyjD:{name:"Religion and Philosophy",videoIds:["16574869","3715985","16630757","16588366","16611019","41056701"]},"5b4Aa90":{name:"Study and Research Skills",videoIds:["83894192","83894453","8985721","47241826","47146893","51724079"]},jlvNy46:{name:"Technology",videoIds:["80734963","26619390","26617482","3716155","10584560","7391744"]},zMgoGJR:{name:"The Arts",videoIds:["3716727","32998073","3713842","3716220","49582171","38133111"]},"2mgJG06":{name:"The Economic World",videoIds:["80309108","80309197","22372745","53428624","35629137","52197899"]}},97:{ZJv1MwP:{name:"Agricultural and Horticultural Science",videoIds:["3714041","3714045","58745804","35226384","35396244","35312243"]},"2mgJOwe":{name:"Biology",videoIds:["86393409","5803343","4683666","3779793","38041517","26340757"]},"8yRAlM5":{name:"Business Studies",videoIds:["8191834","18654895","8973838","8973352","45664204","12955878"]},JjaxboE:{name:"Chemistry",videoIds:["86392392","3717296","45727359","57887823","22232723","7889149"]},zMgolY5:{name:"Earth and Space Science",videoIds:["86393854","80477860","3716170","7336963","3715871","23614105"]},"2mgJOn6":{name:"Economics",videoIds:["3716292","47366972","3716149","42604877","50217751","50247062"]},l53Eo7W:{name:"English",videoIds:["82359369","3716185","5596313","3716233","9560804","23851791"]},K6aqKL9:{name:"Geography",videoIds:["80484980","84539107","86393854","5803343","3716200","3922246"]},"69zDgGr":{name:"Health Education",videoIds:["83101516","3714819","58673657","42500607","3716135","3713123"]},vYz6rr4:{name:"History",videoIds:["81504973","3716774","3926454","3716189","4984056","18569471"]},ek8mdr8:{name:"Learning Languages",videoIds:["84613432","42463035","5449905","6820509","47075377","6810442"]},PGlOK4n:{name:"Legal Studies",videoIds:["80660282","81504973","81504911","47303205","78731895","53708941"]},W1Epqgz:{name:"Mathematics and Statistics",videoIds:["79705668","86387151","3715870","3714976","26066739","26158674"]},p0Pvw1Y:{name:"Media Studies",videoIds:["84603846","33204878","3716529","3937998","60034238","3716275"]},"69zDexn":{name:"Physical Education",videoIds:["79061490","84301775","79062447","3714278","3714261","57736364"]},vYz6wzo:{name:"Physics",videoIds:["86392981","86014106","6746382","6747369","6812332","11746875"]},kZJ8w49:{name:"Psychology",videoIds:["42500607","3714892","42500587","42500472","39438648","16132408"]},"3br3vDa":{name:"Religion and Philosophy",videoIds:["16574869","3716175","16630757","16588366","3715102","41056701"]},g7nML2K:{name:"Social Studies",videoIds:["80660282","7707302","5216877","3716210","22372922","67277770"]},vYz6wdN:{name:"Sociology",videoIds:["6590951","57771705","6605596","15923455","57771703","36503891"]},"0wzWnml":{name:"Study and Research Skills",videoIds:["83894192","85464744","8985721","5952919","77911106","80399453"]},K6aqWxL:{name:"Technology",videoIds:["83017625","3714027","3716153","26617069","7897881","10550689"]},agN12dl:{name:"The Arts",videoIds:["32998073","10916108","3716167","3716192","3716206","3716220"]},wNzd0gG:{name:"Vocational Education and Careers",videoIds:["85795501","8191834","16168801","16237850","45664204","47241826"]}},100:{"2mgElEp":{name:"History",videoIds:["88088300","40919362","54092789","40911809","54089199","54093263"]},"5b4Mnlm":{name:"Mathematics",videoIds:["75167031","39439291","39382723","49532343","42637715","48236233"]},"7mwMWMe":{name:"Geography",videoIds:["81074045","53252413","51733325","53177091","53028173","50876654"]},"8yRDvle":{name:"Languages",videoIds:["42486037","40915698","40919098","40919137","40915682","48040254"]},"91mbJbo":{name:"English Language Arts",videoIds:["80705755","78270152","82622122","39382939","40907483","39342566"]},MYm3qwO:{name:"Civics",videoIds:["88088749","57355313","48522947","39382748","40917715","58983274"]},Y6Wn7ne:{name:"Life Science",videoIds:["84615984","3713221","40907311","45248852","39439121","53044818"]},ZJvPnPq:{name:"Earth and Space Science",videoIds:["50877389","53044878","86685687","49858639","41245074","50977928"]},agNd4Ee:{name:"Celebrations, Commemorations and Festivals",videoIds:["83926567","38945207","57252301","38945379","40963423","78840166"]},bmE2dlb:{name:"Health and Life Skills",videoIds:["84954526","81072555","39362080","40964136","48171596","53193501"]},g7nY6Yz:{name:"Technology",videoIds:["81828439","38918309","38917189","40916260","3712674","38916908"]},m68g1lk:{name:"Physical Education",videoIds:["51618352","53193558","40919502","51731303","49858516","50652578"]},nE7gGLp:{name:"Religion and Philosophy",videoIds:["39397073","39382748","39396705","39904894","39397031","40963423"]},q6Wj5vp:{name:"Environmental Awareness",videoIds:["47309542","3713237","39414658","3713351","57368425","57355132"]},r4vOqOE:{name:"Business and Economics",videoIds:["80309108","80309197","39386335","57311898","80309244","57311765"]},vYzg5Ov:{name:"Arts",videoIds:["38817665","6409550","40911787","49858602","40919482","88823532"]},wNzRD0R:{name:"Physical Science",videoIds:["3713221","7334569","50877364","86969721","39382987","3713298"]}},101:{"69zjaoO":{name:"Arts",videoIds:["38817665","40912626","40910511","49162675","40911516","38917210"]},"8yRDY52":{name:"Physical Science",videoIds:["87100535","47251669","58196676","39414626","40909614","60054130"]},"91mbAKy":{name:"Physical Education",videoIds:["50400399","81680596","51619736","51182678","50652593","79072709"]},AOWlblz:{name:"Languages",videoIds:["48118913","40915325","40915911","48039998","42462913","40918945"]},EorMZOj:{name:"Earth and Space Science",videoIds:["39430033","40919857","39383127","85312765","39383083","50875823"]},Nzmekew:{name:"History",videoIds:["88542175","48232856","77574545","40910923","51668932","57948814"]},PGld7n7:{name:"Business and Economics",videoIds:["85312852","80309197","57311679","51187193","81957429","51240483"]},agNdzE0:{name:"Geography",videoIds:["53177091","39438561","39430086","51666988","39386547","53029472"]},bmE2MG2:{name:"Life Science",videoIds:["40914938","81558589","45248852","38897178","40914462","50977879"]},ek8aG90:{name:"English Language Arts",videoIds:["40916665","40912179","81209854","39387902","39382995","80705755"]},kZJELma:{name:"Applied Design and Technology",videoIds:["39382881","60065352","38917189","40910205","40916210","58318543"]},r4vOmjg:{name:"Mathematics",videoIds:["80066288","85341394","81957844","47595831","39414603","39362111"]},vYzg8ON:{name:"Religion and Ethics",videoIds:["40910786","39396990","38945466","39397073","78284763","57232390"]},yrz8P0M:{name:"Health and Life Skills",videoIds:["67342611","51248822","39386641","53193520","39388233","39342046"]}},102:{"3br6o4E":{name:"Mathematics",videoIds:["51005058","40918153","85344227","8179764","47582815","39606984"]},"7mwMldq":{name:"Languages",videoIds:["40919098","42486037","40915325","40915698","40919186","40915666"]},"8yRDO7R":{name:"Arts",videoIds:["38817858","50900164","40910511","40911271","40911516","92294930"]},AOWlJKa:{name:"Physics",videoIds:["39389600","81988952","48233359","82339471","39905652","39206557"]},AOWlJda:{name:"Computer Science and Technology",videoIds:["90777399","92296581","92296719","39912587","39916719","48611309"]},D1El4qY:{name:"Geography",videoIds:["80484980","84539107","85312765","39928299","49059625","40914544"]},G1a7NY5:{name:"Earth and Space Science",videoIds:["85704464","80477860","40910639","39382772","40909420","48234912"]},G1a7NZ5:{name:"Psychology",videoIds:["46984526","40908986","46984506","46984391","81539945","39894912"]},NzmeM75:{name:"Physical Education",videoIds:["79074486","84763821","79090892","40908728","40908519","57787705"]},Oqm4yrE:{name:"Sociology",videoIds:["81389125","58319773","85736766","81389321","58319767","36503891"]},PGld1be:{name:"Chemistry",videoIds:["58175166","50837270","47251669","58196676","39604283","39913552"]},ek8anyD:{name:"History",videoIds:["81573693","40913499","40914581","40911166","42366232","40917249"]},jlvg3bm:{name:"Religion and Philosophy",videoIds:["39397073","40910811","39396705","39904894","48449193","82101988"]},l53g4Dd:{name:"Health and Life Skills",videoIds:["86757737","40908887","59279809","46984526","40910072","53193525"]},q6Wja76:{name:"English Language Arts",videoIds:["80888991","40915446","40912179","40916665","40918214","84603916"]},vYzgMZy:{name:"Business and Economics",videoIds:["39312899","40916491","40916473","40913104","50268372","50269963"]},vYzl6M5:{name:"Careers",videoIds:["39934601","40916383","52436904","85513944","84960065","47488362"]},vYzrzRg:{name:"Applied Design and Technology",videoIds:["81825501","39389313","40916876","71811318","40917289","52258967"]},wNzRy3R:{name:"Biology",videoIds:["52588338","39928299","40914938","40914462","40919211","39570956"]}}},pe=Le,ne={CreatePlaylist:e=>!(e.hasPlaylist||e.preferredPresentation&&!pe[e.preferredPresentation.id])},Ee="onboarding.constants",r=oe.encloseNamespace(Ee),b={"welcome-video":{id:"welcome-video",getPageTitle:()=>r("welcomeVideoPageTitle"),predicate:e=>V.shouldRedirectToOnboarding(e.masterUser,e.customer,e.hasPermissions,e.presentations)?e.instanceRegion===Ce.US:!1,setting:v.HasCompletedOnboardingStepWelcomeVideo,analyticsLocation:P.OnboardingWelcomeVideoScreen,includeInProgressBar:()=>!1,getWidgetHeading:()=>r("selectRoleHeading"),getWidgetDescription:()=>r("selectRoleMessage")},"select-role":{id:"select-role",getPageTitle:()=>r("selectRolePageTitle"),predicate:e=>{var a,i;return V.hasNonBdmTrial(e.hasPermissions)?!!(!e.jobTitle||(i=(a=e.userSettings)==null?void 0:a[v.HasCompletedOnboardingStepSelectRole])!=null&&i.value):!0},setting:v.HasCompletedOnboardingStepSelectRole,analyticsLocation:P.OnboardingSelectRoleScreen,includeInProgressBar:()=>!0,getWidgetHeading:()=>r("selectRoleHeading"),getWidgetDescription:()=>r("selectRoleMessage")},"usage-intention":{id:"usage-intention",getPageTitle:()=>r("usageIntentionPageTitle"),predicate:()=>!0,setting:v.HasCompletedOnboardingStepUsageIntention,analyticsLocation:P.OnboardingUsageIntentionScreen,includeInProgressBar:()=>!0,getWidgetHeading:()=>r("usageIntentionHeading"),getWidgetDescription:()=>r("usageIntentionMessage")},"subjects-summary":{id:"subjects-summary",getPageTitle:()=>r("subjectsSummaryPageTitle"),predicate:e=>{var a,i,n,o,d,m,c;return!(!((a=e.preferredSubjects)!=null&&a.length)||(n=(i=e.userSettings)==null?void 0:i[v.HasCompletedOnboardingStepSubjects])!=null&&n.value||(d=(o=e.userSettings)==null?void 0:o[v.HasCompletedOnboardingStepSelectCurriculum])!=null&&d.value||(c=(m=e.userSettings)==null?void 0:m[v.HasCompletedOnboardingStepSchoolLevel])!=null&&c.value)},setting:v.HasCompletedOnboardingStepSubjectsSummary,analyticsLocation:P.OnboardingSubjectsSummaryScreen,includeInProgressBar:()=>!0,getWidgetHeading:()=>r("subjectsHeading"),getWidgetDescription:()=>r("subjectsMessage"),branches:["school-level","subjects","select-curriculum"]},"school-level":{id:"school-level",getPageTitle:()=>r("schoolLevelPageTitle"),predicate:e=>{var i,n;return!(b["subjects-summary"].predicate(e)||((i=e.presentations)==null?void 0:i.length)<2||((n=e.presentations)==null?void 0:n.some(o=>T.getMappedPresentationLevel(o.learningLevel)===u.Level_4)))},setting:v.HasCompletedOnboardingStepSchoolLevel,analyticsLocation:P.OnboardingSchoolLevelScreen,includeInProgressBar:e=>!b["subjects-summary"].predicate(e),getWidgetHeading:e=>r(e?"schoolLevelHeadingKdm":"schoolLevelHeading"),getWidgetDescription:e=>r(e?"schoolLevelMessageKdm":"schoolLevelMessage")},"select-curriculum":{id:"select-curriculum",getPageTitle:()=>r("selectCurriculumPageTitle"),predicate:e=>{var a;return!(b["subjects-summary"].predicate(e)||((a=e.curriculums)==null?void 0:a.length)<2)},setting:v.HasCompletedOnboardingStepSelectCurriculum,analyticsLocation:P.OnboardingSelectCurriculumScreen,includeInProgressBar:e=>!b["subjects-summary"].predicate(e),getWidgetHeading:()=>r("selectCurriculumHeading"),getWidgetDescription:()=>r("selectCurriculumMessage")},subjects:{id:"subjects",getPageTitle:()=>r("subjectsPageTitle"),predicate:e=>!b["subjects-summary"].predicate(e),setting:v.HasCompletedOnboardingStepSubjects,analyticsLocation:P.OnboardingSubjectsScreen,includeInProgressBar:e=>!b["subjects-summary"].predicate(e),getWidgetHeading:e=>r(e?"subjectsHeadingKdm":"subjectsHeading"),getWidgetDescription:()=>r("subjectsMessage")},"select-videos":{id:"select-videos",getPageTitle:()=>r("selectVideosPageTitle"),predicate:ne.CreatePlaylist,setting:v.HasCompletedOnboardingStepSelectVideos,analyticsLocation:P.OnboardingSelectVideosScreen,includeInProgressBar:()=>!0,getWidgetHeading:()=>r("selectVideosHeading"),getWidgetDescription:e=>r(e?"selectVideosMessageKdm":"selectVideosMessage")},"create-playlist":{id:"create-playlist",getPageTitle:()=>r("createPlaylistPageTitle"),predicate:ne.CreatePlaylist,setting:v.HasCompletedOnboardingStepCreatePlaylist,analyticsLocation:P.OnboardingCreatePlaylistScreen,includeInProgressBar:()=>!0,getWidgetHeading:()=>r("createPlaylistHeading"),getWidgetDescription:()=>r("createPlaylistMessage")}};var _=(e=>(e.ThumbnailHeroMedia="thumbnail_hero_media",e.ThumbnailFeaturedMedia="thumbnail_featured_media",e.ThumbnailSlidingListSmall="thumbnail_sliding_list_small",e.ThumbnailSlidingListSmallV2="thumbnail_sliding_list_small_v2",e.ThumbnailSlidingListLarge="thumbnail_sliding_list_large",e.ThumbnailFixedListMediaSmall="thumbnail_fixed_list_media_small",e.ThumbnailFixedListMediaLarge="thumbnail_fixed_list_media_large",e.ThumbnailFixedListFolderSmall="thumbnail_fixed_list_folder_small",e.ThumbnailVerticalList="thumbnail_vertical_list",e.PopoutThumbnailSlidingListLarge="popout_thumbnail_sliding_list_large",e.PopoutThumbnailSlidingListSmall="popout_thumbnail_sliding_list_small",e.FeaturedThumbnailSlidingList="featured_thumbnail_sliding_list",e.ThumbnailFixedListXLarge="thumbnail_fixed_list_xlarge",e.CoverSlidingPillListSmall="cover_sliding_pill_list_small",e.CoverFixedPillListLarge="cover_fixed_pill_list_large",e.StatsCoverFixedPillListLarge="stats_cover_fixed_pill_list_large",e.CoverFixedPillListXSmall="cover_fixed_pill_list_xsmall",e.ThumbnailFixedListLarge="thumbnail_fixed_list_large",e.ThumbnailFixedListSmall="thumbnail_fixed_list_small",e.EditableCoverFixedPillListSmall="editable_cover_fixed_pill_list_small",e.HeroBanner="hero_banner",e.HeroThumbnailSmall="hero_thumbnail_small",e.HeroBlockColourSmall="hero_block_colour_small",e.CurriculumResourcesAccordion="curriculum_resources_accordion",e.CurriculumCodeSearchResults="curriculum_code_search_results",e.CoverFixedTileList="cover_fixed_tile_list",e.PosterSlidingListLarge="poster_sliding_list_large",e.PosterSlidingListMedium="poster_sliding_list_medium",e.PosterSlidingListSmall="poster_sliding_list_small",e.PosterFixedListLarge="poster_fixed_list_large",e.HeroBannerSmall="hero_banner_small",e.Heading="heading",e.AuthorReviewer="author_reviewer",e.Question="question",e.QuestionAccordion="question_accordion",e.OnboardingSteps="onboarding_steps",e.CircleLogoSlidingList="circle_logo_sliding_list",e.FilterSlidingPillListSmall="filter_sliding_pill_list_small",e.EventIconSlidingList="event_icon_sliding_list",e.TagSlidingList="tag_sliding_list",e.SearchSuggestionsBlurb="search_suggestions_blurb",e))(_||{}),s=(e=>(e.CuratedMedia="curated_media",e.PlaylistMedia="playlist_media",e.SeriesMedia="series_media",e.ClassificationMedia="classification_media",e.LatestReleasedVideos="latest_released_videos",e.ContinueWatching="continue_watching_videos",e.CompanyLatestReleasedVideo="company_latest_released_video",e.CompanyVideos="company_videos",e.ClassificationLatestReleasedVideo="classification_latest_released_video",e.ClassificationLatestReleasedVideosV2="classification_latest_released_videos_v2",e.CompanyClassificationVideos="company_classification_videos",e.ClassificationDashboardMedia="classification_dashboard_media",e.ClassificationDashboardExternalMedia="classification_dashboard_external_media",e.SeasonalClassificationMedia="seasonal_classification_media",e.TrendingClassificationsMedia="trending_classifications_media",e.ClassificationCurriculumMedia="classification_curriculum_media",e.CuratedClassifications="curated_classifications",e.Classifications="classifications",e.ClassificationLatestReleasedVideos="classification_latest_released_videos",e.SpecialEventClassifications="special_event_classifications",e.LatestReleasedClassifications="latest_released_classifications",e.TrendingClassifications="trending_classifications",e.CuratedSeries="curated_series",e.CuratedPlaylists="curated_playlists",e.Blurb="blurb",e.DynamicBlurb="dynamic_blurb",e.AuthorReviewer="author_reviewer",e.Faq="faq",e.CuratedCompanies="curated_companies",e.Ratings="ratings",e.Presentations="presentations",e.UpcomingLivestreams="upcoming_livestreams",e.CuratedMultimedia="curated_multimedia",e.ClassificationPlaylists="classification_playlists",e.ClassificationSeries="classification_series",e.ClassificationFeaturedVideo="classification_featured_video",e.ClassificationPinnedVideos="classification_pinned_videos",e.SearchRelevantTopics="search_relevant_topics",e.SearchCompanies="search_companies",e.SearchTopResults="search_top_results",e.SearchSeries="search_series",e.SearchPlaylists="search_playlists",e.SearchMyVideosFolder="search_my_videos_folders",e.SearchMySchoolLibraryFolder="search_my_school_library_folders",e.SearchMyVideos="search_my_videos",e.SearchMySchoolLibraryVideos="search_my_school_library_videos",e.SearchExchangeArchive="search_exchange_archive",e.SearchRelatedResults="search_related_results",e.SearchTags="search_tags",e.SearchCurriculumCode="search_curriculum_code",e.SearchSuggestions="search_suggestions",e))(s||{});const y={onSelectCuratedObject(e,a){const i={...a.values.data,objectIds:G.addOrRemoveImmutable(a.values.data.objectIds||[],e.id)};a.setFieldValue("data",i),a.setTouched({...a.touched,data:{objectIds:!0}})},onRemoveCuratedObject(e,a){const i={...a.values.data,objectIds:a.values.data.objectIds.filter(n=>n!==e)};a.setFieldValue("data",i)},getDashboardTarget(e){return e.targetType===t.Discover?`discover:presentation:${e.presentationId}`:e.targetType===t.Classification?`classification:${e.classificationId}`:e.targetType===t.ClassificationDirectory?`classification:${e.classificationId}:directory`:e.targetType===t.ClassificationCurriculum?`classification:${e.classificationId}:curriculum`:e.targetType===t.MoviesAndTv?`moviesAndTv:presentation:${e.presentationId}`:e.targetType===t.Company?`company:${e.companyId}:presentation:${e.presentationId}`:null},getUnknownDashboardTarget(e){const{presentationId:a,companyId:i,targetType:n,classificationId:o}=e;if(n===t.Discover)return y.getDashboardTarget({targetType:t.Discover,presentationId:a});if(n===t.MoviesAndTv)return y.getDashboardTarget({targetType:t.MoviesAndTv,presentationId:a});if(n===t.Company)return y.getDashboardTarget({targetType:t.Company,presentationId:a,companyId:i});if(n===t.Classification)return y.getDashboardTarget({targetType:t.Classification,classificationId:o});if(n===t.ClassificationDirectory)return y.getDashboardTarget({targetType:t.ClassificationDirectory,classificationId:o});if(n===t.ClassificationCurriculum)return y.getDashboardTarget({targetType:t.ClassificationCurriculum,classificationId:o})},getDashboardTargetInfo(e){var n;const a=y.getDashboardTargetType(e),i=(n=e==null?void 0:e.target)==null?void 0:n.split(":");return a===t.Discover?{targetType:t.Discover,presentationId:i[2]}:a===t.Classification?{targetType:t.Classification,classificationId:i[1]}:a===t.ClassificationDirectory?{targetType:t.ClassificationDirectory,classificationId:i[1]}:a===t.ClassificationCurriculum?{targetType:t.ClassificationCurriculum,classificationId:i[1]}:a===t.MoviesAndTv?{targetType:t.MoviesAndTv,presentationId:i[2]}:a===t.Company?{targetType:t.Company,companyId:i[1],presentationId:i[3]}:null},getDashboardTargetType(e){return e!=null&&e.target?e.target.startsWith("discover")?t.Discover:e.target.startsWith("classification")?e.target.endsWith("directory")?t.ClassificationDirectory:e.target.endsWith("curriculum")?t.ClassificationCurriculum:t.Classification:e.target.startsWith("moviesAndTv")?t.MoviesAndTv:e.target.startsWith("company")?t.Company:null:null},isType(e,a){return y.getDashboardTargetType(e)===a},isCuratedDashboard(e){const a=e,i=y.getDashboardTargetType(a);return i===t.Discover||i===t.Classification||i===t.ClassificationDirectory||i===t.ClassificationCurriculum||i===t.MoviesAndTv||i===t.Company},getLatestReleasedTimeRange(){const e=new Date,a=L.format(L.endOf(L.subtract(e,2,"month"),"day"),"YYYY-MM-DD"),i=L.format(L.endOf(e,"day"),"YYYY-MM-DD");return{from:a,to:i}},getWidgetParams(e,a,i,n,o){const d={};return n&&(d.audienceId=n),e===s.ClassificationCurriculumMedia&&(d.curriculumPresentationId=o),{...d,...ce[e].getCustomParams(a,i)}},isSystemGeneratedDashboard(e){const a=new Set([s.ClassificationFeaturedVideo,s.ClassificationPinnedVideos,s.ClassificationPlaylists,s.ClassificationSeries]);return e==null?void 0:e.some(i=>a.has(i.widgetId))},isClassificationDashboard(e){return[t.Classification,t.ClassificationDirectory,t.ClassificationCurriculum].includes(e==null?void 0:e.targetType)}},ce={[s.CuratedMedia]:{getCustomParams:()=>({})},[s.PlaylistMedia]:{getCustomParams:()=>({})},[s.SeriesMedia]:{getCustomParams:e=>{switch(e){case _.ThumbnailFixedListMediaLarge:return{limit:2};case _.ThumbnailHeroMedia:case _.ThumbnailFeaturedMedia:return{limit:1};default:return{limit:12}}},getCollectionAppLink:(e,a)=>{var i;return(i=e==null?void 0:e.series)==null?void 0:i.call(e,G.first(a))}},[s.ClassificationMedia]:{getCustomParams:()=>({})},[s.LatestReleasedVideos]:{getCustomParams:()=>y.getLatestReleasedTimeRange()},[s.ContinueWatching]:{getCustomParams:()=>({}),getCollectionAppLink:e=>{var a;return(a=e==null?void 0:e.watchHistory)==null?void 0:a.call(e)}},[s.CompanyLatestReleasedVideo]:{getCustomParams:()=>({})},[s.CompanyVideos]:{getCustomParams:()=>({})},[s.ClassificationLatestReleasedVideo]:{getCustomParams:()=>({})},[s.ClassificationLatestReleasedVideosV2]:{getCustomParams:()=>({limit:12}),minContent:4},[s.SeasonalClassificationMedia]:{getCustomParams:()=>({limit:12}),minContent:4},[s.CompanyClassificationVideos]:{getCustomParams:()=>({}),minContent:4},[s.TrendingClassificationsMedia]:{getCustomParams:()=>({limit:12}),minContent:4},[s.CuratedClassifications]:{getCustomParams:()=>({})},[s.TrendingClassifications]:{getCustomParams:()=>({limit:6}),minContent:3},[s.Classifications]:{getCustomParams:(e,a)=>{if(a===t.Discover){if(e===_.EditableCoverFixedPillListSmall)return{canBePreferred:!0,isFollowing:!0};if([_.PosterSlidingListSmall,_.CoverFixedPillListXSmall].includes(e))return{canBePreferred:!0}}return{}}},[s.ClassificationLatestReleasedVideos]:{getCustomParams:()=>y.getLatestReleasedTimeRange()},[s.SpecialEventClassifications]:{getCustomParams:()=>({from:L.format(new Date,"YYYY-MM-DD")})},[s.LatestReleasedClassifications]:{getCustomParams:()=>({limit:6}),minContent:3},[s.CuratedSeries]:{getCustomParams:()=>({})},[s.CuratedPlaylists]:{getCustomParams:()=>({})},[s.Blurb]:{getCustomParams:()=>({})},[s.DynamicBlurb]:{getCustomParams:e=>e===_.OnboardingSteps?{customerSetting:[v.HasNewOnboarding],userSettings:[...Object.values(b).map(a=>a.setting),v.HasCompletedOnboardingV2,v.HasExitedOnboarding]}:{}},[s.AuthorReviewer]:{getCustomParams:()=>({})},[s.Faq]:{getCustomParams:()=>({})},[s.CuratedCompanies]:{getCustomParams:()=>({})},[s.Ratings]:{getCustomParams:()=>({})},[s.Presentations]:{getCustomParams:()=>({})},[s.UpcomingLivestreams]:{getCustomParams:()=>({from:L.format(new Date,"YYYY-MM-DD")})},[s.CuratedMultimedia]:{getCustomParams:()=>({})},[s.ClassificationPlaylists]:{getCustomParams:()=>({})},[s.ClassificationSeries]:{getCustomParams:()=>({})},[s.ClassificationFeaturedVideo]:{getCustomParams:()=>({})},[s.ClassificationPinnedVideos]:{getCustomParams:()=>({})},[s.ClassificationDashboardExternalMedia]:{getCustomParams:()=>({})},[s.ClassificationDashboardMedia]:{getCustomParams:()=>({})},[s.SearchRelevantTopics]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchRelevantTopics],type:[x.Classification]})},[s.SearchCompanies]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchCompanies],type:[x.Company]})},[s.SearchSeries]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchSeries],type:[x.Series]})},[s.SearchPlaylists]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchPlaylists],type:[x.Playlist]})},[s.SearchMyVideosFolder]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchMyVideosFolder],source:[D.MyVideos]})},[s.SearchMySchoolLibraryFolder]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchMySchoolLibraryFolder],source:[D.School]})},[s.SearchMyVideos]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchMyVideos],source:[D.MyVideos]})},[s.SearchMySchoolLibraryVideos]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchMySchoolLibraryVideos],source:[D.School]})},[s.SearchExchangeArchive]:{getCustomParams:()=>({}),getCollectionAppLink:e=>e.searchHome({focus:[s.SearchExchangeArchive],source:[D.ExchangeArchive]})},[s.SearchRelatedResults]:{getCustomParams:()=>({})},[s.SearchTopResults]:{getCustomParams:()=>({})},[s.ClassificationCurriculumMedia]:{getCustomParams:()=>({})},[s.SearchTags]:{getCustomParams:()=>({})},[s.SearchCurriculumCode]:{getCustomParams:()=>({})},[s.SearchSuggestions]:{getCustomParams:()=>({})}};var B=(e=>(e[e.Draft=0]="Draft",e[e.Published=1]="Published",e[e.Archived=2]="Archived",e))(B||{});const Re={getSliderAnalyticsOptions:()=>({actionType:ae.Click,location:P.SlidingList,entity:ee.Widget,descriptor:W.Slide}),getSliderItemAnalyticsOptions:()=>({location:P.SlidingListItem}),getSliderHeadingAnalyticsOptions:()=>({actionType:ae.Click,location:P.SlidingList,entity:ee.Widget,descriptor:W.Title}),useGetContent(e,a,i,n,o){return Ie.useMemo(()=>{if(!e)return{content:null,unfilteredContent:null};if(!Array.isArray(e))return{content:e,unfilteredContent:e};const d=(n==null?void 0:n.reduce((g,I)=>(g[I.id]=I,g),{}))??{},m=o.reduce((g,I)=>(g[I]=!0,g),{}),c=[...e],h=c.sort((g,I)=>{var E,A;if(!("id"in g)||!("id"in I))return 0;const C=((E=d[g.id])==null?void 0:E.index)??c.findIndex(f=>"id"in f&&f.id===g.id),H=((A=d[I.id])==null?void 0:A.index)??c.findIndex(f=>"id"in f&&f.id===I.id);return C<H?-1:C>H?1:0});return Re.isBelowContentMinimum(h,a)&&!i?{content:[],unfilteredContent:h}:{content:h.filter(g=>{var I;return!((I=d["id"in g&&g.id])!=null&&I.hidden||m["id"in g&&g.id])}),unfilteredContent:h}},[e,n])},isBelowContentMinimum(e,a){var n;const i=((n=ce[a])==null?void 0:n.minContent)||0;return(e==null?void 0:e.length)<i},getCustomAppLink(e){var a,i,n,o,d,m;return!("metadata"in e)||!("appLinks"in e)||!("appLink"in e.metadata)?null:((a=e.metadata)==null?void 0:a.appLink)===$.LatestReleases&&"latestReleases"in e.appLinks?(n=(i=e.appLinks)==null?void 0:i.latestReleases)==null?void 0:n.call(i):((o=e.metadata)==null?void 0:o.appLink)===$.ExploreAllTopics&&"allTopics"in e.appLinks&&"presentation"in e?(m=(d=e.appLinks)==null?void 0:d.allTopics)==null?void 0:m.call(d,e.presentation.id):null},getWidgetStatus(e){let a=e.status;if(typeof a=="string")switch(a){case"Archived":a=B.Archived;break;case"Published":a=B.Published;break;case"Draft":a=B.Draft;break}return a},formatResponseData(e,a){const i=e.content;if(!i)return e;if("author"in i)return e.content=[i],e;switch("data"in i?e.content=i.data:Array.isArray(i)||(e.content=[i]),e.widgetId){case s.ClassificationSeries:e.content=e.content.filter(n=>{var o;return"tallPoster"in n&&!!((o=n.tallPoster)!=null&&o.id)});break;case s.ClassificationPlaylists:e.content=e.content.filter(n=>{var o;return"cover"in n&&!!((o=n.cover)!=null&&o.id)});break;case s.ContinueWatching:e.content=e.content.map(n=>"object"in n&&n.object);default:break;case s.Presentations:e.content=e.content.filter(n=>{var o;return"id"in n&&n.id.toString()!==((o=a==null?void 0:a.id)==null?void 0:o.toString())});break}return e},isWidgetInTableOfContents(e){return!!(e!=null&&e.showInTableOfContents)},hasNoContent(e){return e===s.Blurb},canDisplayOnScreenSize(e,a,i){return a===s.Blurb&&i===_.HeroBannerSmall?!e.xs&&!e.sm:!0},isCompanyWidget(e){switch(e){case s.CompanyLatestReleasedVideo:case s.CompanyVideos:case s.UpcomingLivestreams:return!0;default:return!1}},getVideoContent(e){const a=G.first(e);return Pe.isType(a,Se.Series)?a.videos.data:e},showRemoveButton(e){return e===s.ContinueWatching}};export{y as C,V as O,u as P,le as T,_ as W,de as a,s as b,T as c,$ as d,Re as e,fe as f,b as g,ce as h};
2
+ //# sourceMappingURL=C2zcSUEr.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C2zcSUEr.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/curated-widget/CuratedWidget.ts","../../../../libs/shared/src/apps/onboarding/utils/OnboardingStorageHelper.ts","../../../../libs/shared/src/apps/onboarding/utils/OnboardingPathwayHelper.ts","../../../../libs/shared/src/enums/PresentationLearningLevel.ts","../../../../libs/shared/src/apps/subjects/enums/ClassificationNodeType.ts","../../../../libs/shared/src/enums/ClassificationType.ts","../../../../libs/shared/src/enums/TagType.ts","../../../../libs/shared/src/utils/topics-helper/TopicsHelper.ts","../../../../libs/shared/src/apps/onboarding/constants/ClassificationVideos.ts","../../../../libs/shared/src/apps/onboarding/constants/SharedOnboardingScreenPredicates.ts","../../../../libs/shared/src/apps/onboarding/constants/OnboardingScreenConfigs.ts","../../../../libs/shared/src/enums/WidgetTemplate.ts","../../../../libs/shared/src/enums/WidgetTypeId.ts","../../../../libs/shared/src/utils/DashboardHelper.ts","../../../../libs/shared/src/constants/WidgetTypeIdConfig.ts","../../../../libs/shared/src/enums/WidgetStatus.ts","../../../../libs/shared/src/utils/WidgetHelper.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\n\nimport { AllWidgetTemplateProps } from 'libs/shared/components/widgets/curated-widgets/WidgetProps';\nimport { ButtonIcon } from 'libs/shared/constants/WidgetThemingConstants';\nimport { WidgetStatus } from 'libs/shared/enums/WidgetStatus';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { CuratedObjectsWidgetData, CuratedWidgetContent, CuratedWidgetData } from 'libs/shared/interfaces';\n\nexport enum CuratedDashboardAppLink {\n LatestReleases = 'latest-releases',\n ExploreAllTopics = 'explore-all-topics',\n ClassificationLatestReleases = 'classification-latest-releases',\n ClassificationDirectory = 'classification-directory',\n}\n\nexport enum CuratedWidgetCtaAppLink {\n TopicDirectory = 'topic-directory',\n TopicNewReleases = 'topic-new-releases',\n CuratedTopic = 'curated-topic'\n}\n\nexport interface BaseWidget<TContent extends HashObject = HashObject> {\n index: number;\n templateId: WidgetTemplate;\n widgetId: WidgetTypeId;\n name: string;\n description?: string;\n content?: TContent\n}\n\nexport interface WidgetCta {\n text?: string;\n href?: string;\n icon?: ButtonIcon;\n appLink?: CuratedWidgetCtaAppLink;\n}\n\nexport type WidgetMetadata = AllWidgetTemplateProps['metadata'] & {\n showInTableOfContents: boolean;\n tocIndentation: number;\n headingOptional: boolean;\n aiAddedVideo: boolean;\n};\n\nexport interface WidgetPreference {\n id: string;\n index?: number;\n hidden?: boolean;\n}\n\nexport interface CuratedWidget<\n TData extends CuratedWidgetData = CuratedWidgetData,\n TContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseWidget<TContent> {\n id: string;\n dashboardId: string;\n data: TData;\n status: WidgetStatus;\n metadata?: Partial<WidgetMetadata>;\n preferences?: WidgetPreference[];\n\n // If a widget has curriculum IDs set, then it won't be accessible to anyone who doesn't have one of those curriculums\n curriculumIds?: string[];\n}\n\nexport type CuratedMediaWidget<\n TContent extends CuratedWidgetContent = CuratedWidgetContent\n> = CuratedWidget<CuratedObjectsWidgetData, TContent>;","import { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { PersonaId } from 'libs/shared/apps/onboarding/constants/JobTitlePersonaMapping';\nimport { OnboardingUsageIntention } from 'libs/shared/apps/onboarding/interfaces/OnboardingUsageIntention';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nconst ONBOARDING_PERSONA_KEY = 'onboarding:persona';\nconst ONBOARDING_USAGE_INTENTION_KEY = 'onboarding:usage:intention';\nconst ONBOARDING_JOB_TITLE_REDIRECT_KEY = 'onboarding:had:job:title';\nconst ONBOARDING_VIDEOS_V2 = 'onboarding:videos:v2';\n\nfunction getScopedKey(userId: string, key: string) {\n if (!userId)\n return key;\n\n return `${userId}:${key}`;\n}\n\nfunction get<T>(userId: string, key: string) {\n const value = LocalStorageHelper.get(key);\n const scopedKey = getScopedKey(userId, key);\n\n /**\n * When onboarding was first released, we persisted some state in local storage, but the\n * key was not scoped to the user's ID. This lead to bugs where if a user were to create a\n * new account and go through onboarding a second time, they would see the state from the\n * first account.\n * \n * We've now moved to scoping the keys to prevent this, and this is here to migrate the old\n * keys to the new format.\n */\n if (value !== null) {\n LocalStorageHelper.remove(key);\n LocalStorageHelper.set<T>(scopedKey, value);\n }\n\n return LocalStorageHelper.get<T>(scopedKey);\n}\n\nfunction set<T>(userId: string, key: string, value: T) {\n LocalStorageHelper.set<T>(getScopedKey(userId, key), value);\n}\n\nfunction remove(userId: string, key: string) {\n const value = LocalStorageHelper.get(key);\n\n if (value !== null)\n LocalStorageHelper.remove(key);\n\n LocalStorageHelper.remove(getScopedKey(userId, key));\n}\n\nexport const OnboardingStorageHelper = {\n getPersona(userId: string): PersonaId {\n return get<PersonaId>(userId, ONBOARDING_PERSONA_KEY);\n },\n\n updatePersona(userId: string, jobTitle: JobTitles | ''): void {\n const onboardingPersona = UserHelper.getPersonaFromJobTitle(jobTitle);\n set<PersonaId>(userId, ONBOARDING_PERSONA_KEY, onboardingPersona || 'teacher');\n },\n \n getUsageIntention(userId: string): OnboardingUsageIntention {\n return get<OnboardingUsageIntention>(userId, ONBOARDING_USAGE_INTENTION_KEY);\n },\n\n updateUsageIntention(userId: string, usageIntention: OnboardingUsageIntention): void {\n set<OnboardingUsageIntention>(userId, ONBOARDING_USAGE_INTENTION_KEY, usageIntention);\n },\n\n removeUsageIntention(userId: string): void {\n remove(userId, ONBOARDING_USAGE_INTENTION_KEY);\n },\n\n getJobTitleRedirect(userId: string, jobTitle: JobTitles): boolean {\n if (typeof get(userId, ONBOARDING_JOB_TITLE_REDIRECT_KEY) !== 'boolean')\n set(userId, ONBOARDING_JOB_TITLE_REDIRECT_KEY, !!jobTitle);\n \n return !get(userId, ONBOARDING_JOB_TITLE_REDIRECT_KEY);\n },\n\n getOnboardingVideoSelections<T>(userId: string) {\n return get<T>(userId, ONBOARDING_VIDEOS_V2);\n },\n\n setOnboardingVideoSelections<T>(userId: string, videos: T[]) {\n set<T[]>(userId, ONBOARDING_VIDEOS_V2, videos);\n }\n};","import { Core } from 'libs/common/backbone/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { OnboardingContext, OnboardingScreenConfigs } from 'libs/shared/apps/onboarding/constants/OnboardingScreenConfigs';\nimport { OnboardingScreenAppLinks } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenAppLinks';\nimport { OnboardingScreenId } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenId';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { SettingsLookup } from 'libs/shared/enums/SettingName';\nimport { HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { Classification, CurrentUser, Customer, Presentation, User } from 'libs/shared/interfaces';\nimport { SettingsHelper } from 'libs/shared/utils/SettingsHelper';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport { OnboardingStorageHelper } from './OnboardingStorageHelper';\n\n/**\n * This is a big determining factor for when we want to redirect users to onboarding\n * upon login.\n * \n * Basically, all users who existed before onboarding was released to them should not be\n * automatically redirected to onboarding on login. They should just see the nag widget on\n * the Discover page instead.\n * \n * But, users who joined after onboarding was released for their customer _should_ be redirected\n * after they first activate their account.\n * \n * So, we check the dateCreated on the user to determine this.\n */\nfunction getOnboardingReleaseDate(\n presentations: Presentation[],\n customer: Customer\n): string {\n /**\n * Onboarding was initially released on March 26, 2024 to 10% of our existing customer base,\n * and 100% of new customers created from then on.\n */\n const initialReleaseDate = '2024-03-26';\n\n /**\n * Next, we upgraded all of Tertiary to the new product, and they all received access to the\n * new onboarding.\n */\n const tertiaryReleaseDate = '2024-11-28';\n\n /**\n * Finally, we released onboarding to the rest of our customer base.\n */\n const fullReleaseDate = '2024-12-11';\n\n const hasTertiaryPresentation = presentations.some(p => {\n return (\n p.id.toString() === HardCoded.PresentationIds.AU_TERTIARY.toString() ||\n p.id.toString() === HardCoded.PresentationIds.UK_TERTIARY.toString()\n );\n });\n\n // Tertiary customers created after this date will be redirected to onboarding\n if (hasTertiaryPresentation)\n return tertiaryReleaseDate;\n\n /**\n * Users who are a part of a customer that was created before the initial\n * onboarding release date will be redirected to onboarding only if they\n * were created after the full release date.\n */\n if (DateHelper.isBefore(customer?.dateCreated, initialReleaseDate))\n return fullReleaseDate;\n\n /**\n * Users who were created after the initial release date should be redirected to\n * onboarding.\n */\n return initialReleaseDate;\n}\n\ntype ScreenNode = {\n number?: number;\n progressBarNumber?: number;\n isComplete?: boolean;\n includeInProgressBar: boolean;\n next: OnboardingScreenId | null;\n previous: OnboardingScreenId | null;\n};\n\ntype ScreenNodeDictionary = {\n [key in OnboardingScreenId]?: ScreenNode;\n};\n\nexport interface OnboardingPathway {\n screens: ScreenNodeDictionary;\n currentScreen: OnboardingScreenId;\n totalScreens: number;\n totalScreensInProgressBar: number;\n hasCompletedAllSteps: boolean;\n}\n\ninterface GetPathwayArgs {\n jobTitle: JobTitles;\n userSettings: SettingsLookup;\n presentations: Presentation[];\n curriculums: Presentation[];\n preferredSubjects: Classification[];\n preferredPresentation: Presentation;\n appLink: Core.AppLink;\n appLinks: OnboardingScreenAppLinks;\n hasPermissions: HasPermissionsFunc;\n hasPlaylist: boolean;\n masterUser: User;\n customer: Customer;\n currentUser: CurrentUser;\n}\n\nexport const OnboardingPathwayHelper = {\n getOnboardingPathway(options: GetPathwayArgs): OnboardingPathway {\n const {\n jobTitle,\n userSettings,\n presentations,\n curriculums,\n preferredPresentation,\n preferredSubjects,\n hasPlaylist,\n appLink,\n appLinks,\n masterUser,\n customer,\n currentUser,\n hasPermissions\n } = options;\n \n const onboardingPersona = OnboardingStorageHelper.getPersona(currentUser?.id);\n\n if (!onboardingPersona && jobTitle)\n OnboardingStorageHelper.updatePersona(currentUser?.id, jobTitle);\n\n if (onboardingPersona && onboardingPersona !== UserHelper.getPersonaFromJobTitle(jobTitle))\n OnboardingStorageHelper.updatePersona(currentUser?.id, jobTitle);\n\n const onboardingContext: OnboardingContext = {\n jobTitle,\n hasPlaylist,\n masterUser,\n customer,\n presentations: presentations || [],\n curriculums: curriculums || [],\n preferredPresentation,\n preferredSubjects,\n instanceRegion: currentUser?.instanceRegion,\n hasPermissions,\n userSettings\n };\n\n // Get the current onboarding screen that the user is on\n let currentScreen = OnboardingPathwayHelper.getCurrentScreen(appLink, appLinks);\n\n const onboardingScreenConfigs = Object.values(OnboardingScreenConfigs);\n\n const graphDictionary: ScreenNodeDictionary = {};\n let previous: OnboardingScreenId = null;\n\n let firstScreenId: OnboardingScreenId = null;\n let screenNumber = 0;\n let progressBarNumber = 0;\n let hasCompletedAllSteps = true;\n\n onboardingScreenConfigs.forEach(screenConfig => {\n if (!screenConfig.predicate(onboardingContext))\n return;\n\n if (!firstScreenId)\n firstScreenId = screenConfig.id;\n\n const hasCompletedStep = SettingsHelper.get<boolean>(userSettings, screenConfig.setting);\n\n if (!hasCompletedStep)\n hasCompletedAllSteps = false;\n \n // If the user isn't currently viewing an onboarding screen, set the first incomplete screen as the current screen\n if (!currentScreen && !hasCompletedStep)\n currentScreen = screenConfig.id;\n\n screenNumber++;\n \n graphDictionary[screenConfig.id] = {\n isComplete: hasCompletedStep,\n next: null,\n previous,\n number: screenNumber,\n includeInProgressBar: false\n };\n\n if (screenConfig.includeInProgressBar(onboardingContext)) {\n progressBarNumber++;\n graphDictionary[screenConfig.id].progressBarNumber = progressBarNumber;\n graphDictionary[screenConfig.id].includeInProgressBar = true;\n }\n\n if (screenConfig.branches?.length) {\n screenConfig.branches.forEach(branch => {\n graphDictionary[branch] = {\n next: screenConfig.id,\n previous: screenConfig.id,\n includeInProgressBar: false\n };\n });\n }\n\n if (previous)\n graphDictionary[previous].next = screenConfig.id;\n\n previous = screenConfig.id;\n });\n\n if (!currentScreen && !hasCompletedAllSteps)\n currentScreen = firstScreenId;\n\n return {\n screens: graphDictionary,\n currentScreen,\n totalScreens: screenNumber,\n totalScreensInProgressBar: progressBarNumber,\n hasCompletedAllSteps\n };\n },\n\n getNextAppLink(pathway: OnboardingPathway, appLinks: OnboardingScreenAppLinks): Core.AppLink {\n const currentNode = pathway.screens[pathway.currentScreen];\n const nextScreenId = currentNode?.next;\n\n if (!nextScreenId)\n return null;\n\n return appLinks[nextScreenId];\n },\n\n getPreviousAppLink(pathway: OnboardingPathway, appLinks: OnboardingScreenAppLinks): Core.AppLink {\n const currentNode = pathway.screens[pathway.currentScreen];\n const previousScreenId = currentNode?.previous;\n\n if (!previousScreenId)\n return null;\n\n return appLinks[previousScreenId];\n },\n\n // Get the current screen that the user is on based on the current app route\n getCurrentScreen(currentAppLink: Core.AppLink, appLinks: OnboardingScreenAppLinks): OnboardingScreenId {\n const currentScreen = Object.entries(appLinks).find(([ , appLink ]) => {\n return appLink.action === currentAppLink.action;\n });\n\n if (!currentScreen)\n return null;\n\n return ArrayHelper.first(currentScreen) as keyof OnboardingScreenAppLinks;\n },\n\n getProgress(pathway: OnboardingPathway) {\n const currentStepNumber = pathway.screens[pathway.currentScreen]?.number;\n const currentStepProgressBarNumber = pathway.screens[pathway.currentScreen]?.progressBarNumber;\n const totalScreens = pathway.totalScreens;\n const totalScreensInProgressBar = pathway.totalScreensInProgressBar;\n\n const progressBarPercentage = (currentStepProgressBarNumber / totalScreensInProgressBar) * 100;\n const overallPercentage = ((currentStepNumber - 1) / totalScreens) * 100;\n\n return {\n showProgressBar: pathway.screens[pathway.currentScreen]?.includeInProgressBar,\n currentStepNumber,\n currentStepProgressBarNumber,\n totalScreens,\n totalScreensInProgressBar,\n progressBarPercentage,\n overallPercentage\n };\n },\n\n hasNonBdmTrial(hasPermissions: HasPermissionsFunc): boolean {\n return hasPermissions(PermissionName.ViewTrialUpgrade);\n },\n\n getOnboardingScreenStates(pathway: OnboardingPathway) {\n const completedScreens: OnboardingScreenId[] = [];\n const incompleteScreens: OnboardingScreenId[] = [];\n \n Object.keys(pathway.screens).forEach((screenId: OnboardingScreenId) => {\n if (pathway.screens[screenId].isComplete) {\n completedScreens.push(screenId);\n } else {\n incompleteScreens.push(screenId);\n }\n });\n \n return {\n completedScreens,\n incompleteScreens\n };\n },\n\n shouldRedirectToOnboarding(\n masterUser: User,\n customer: Customer,\n hasPermissions: HasPermissionsFunc,\n availablePresentations: Presentation[]\n ): boolean {\n /**\n * All users created after the release date of onboarding should be redirected into onboarding\n * the first time they open the product\n */\n if (masterUser?.dateCreated >= getOnboardingReleaseDate(availablePresentations, customer))\n return true;\n\n /**\n * If a trial user was created before the onboarding release date, but they don't have a job title,\n * we should redirect them to onboarding as we need to collect their job title.\n */\n if (OnboardingPathwayHelper.hasNonBdmTrial(hasPermissions)) {\n return OnboardingStorageHelper.getJobTitleRedirect(masterUser?.id, masterUser?.userProfile?.metadata?.jobTitle);\n }\n\n return false;\n }\n};","export enum PresentationLearningLevel {\n Level_1 = 1, // Primary/Elementary School\n Level_2 = 2, // Middle School\n Level_3 = 3, // Secondary/High School\n Level_4 = 4 // Tertiary/Post-Secondary\n}\n","export enum ClassificationNodeType {\n Root = 'root'\n}","// Maps to enum in SubjectApi but uses the\n// key rather than the value\nexport enum ClassificationType{\n Subject = 'Subject',\n CurriculumAudience = 'CurriculumAudience',\n CurriculumSubject = 'CurriculumSubject',\n CurriculumArea = 'CurriculumArea',\n CurriculumLeaf = 'CurriculumLeaf',\n CurriculumMetadata = 'CurriculumMetadata'\n}","export enum TagType {\n Normal = 'normal',\n Pedagogy = 'pedagogy',\n Hidden = 'hidden',\n Skill = 'skill',\n Curation = 'curation'\n}\n\n/**\n * This should **only** be used to create new tags in master (as it only accepts enum values).\n * Use the string enum above for all other cases.\n */\nexport enum TagTypeNumber {\n Normal = 0,\n Pedagogy = 1,\n Hidden = 2,\n Skill = 3,\n Curation = 4\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ClassificationTab } from 'libs/shared/apps/subjects/components/classification-dashboard/classification-tabs/ClassificationTabs';\nimport { ClassificationNodeType } from 'libs/shared/apps/subjects/enums/ClassificationNodeType';\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { TopicsConstants } from 'libs/shared/constants/TopicsConstants';\nimport { ClassificationType } from 'libs/shared/enums/ClassificationType';\nimport { CurationTag } from 'libs/shared/enums/CurationTag';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { BaseObject, CuratedDashboard, DashboardTargetType, Presentation } from 'libs/shared/interfaces';\nimport { Classification } from 'libs/shared/interfaces/models/Classification';\n\nconst namespace = 'subjects.utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TopicCounts {\n dashboardVideoCount: number;\n childDashboardVideoCount: number;\n\n dashboardResourceCount: number;\n childDashboardResourceCount: number;\n\n dashboardNewVideosCount: number;\n childDashboardNewVideoCount: number;\n childClassificationCount: number;\n}\n\ntype PresentationImageType = 'cover' | 'tall-poster' | 'topic-banner' | 'new-release-banner';\n\nexport const TopicsHelper = {\n isPresentation(obj: BaseObject): obj is Presentation {\n return 'learningLevel' in obj;\n },\n\n isTopicClassification(obj: BaseObject): obj is Classification {\n return obj?.type === ClassificationType.Subject;\n },\n\n getMappedPresentationLevel(presentationLevel: PresentationLearningLevel): string | PresentationLearningLevel {\n // Handle usage of both enum value and its stringified version (online vs. lite)\n return typeof presentationLevel === 'string'\n ? PresentationLearningLevel[presentationLevel]\n : presentationLevel;\n },\n\n getMappedPresentationBackgroundColourClass(presentationLevel: PresentationLearningLevel): string {\n switch (TopicsHelper.getMappedPresentationLevel(presentationLevel)) {\n case PresentationLearningLevel.Level_1:\n return 'bg-indigo';\n\n case PresentationLearningLevel.Level_3:\n return 'bg-blue';\n \n case PresentationLearningLevel.Level_4:\n return 'bg-navy';\n\n default:\n case PresentationLearningLevel.Level_2:\n return 'bg-green';\n }\n },\n\n // TODO: This should maybe live on the presentation metadata at some point instead.\n getMappedPresentationBackgroundColourCode(presentationLevel: PresentationLearningLevel): string {\n switch (TopicsHelper.getMappedPresentationLevel(presentationLevel)) {\n case PresentationLearningLevel.Level_1:\n return '#7A76E8';\n\n case PresentationLearningLevel.Level_3:\n return '#38A2E8';\n\n case PresentationLearningLevel.Level_4:\n return '#1B2D71';\n\n default:\n case PresentationLearningLevel.Level_2:\n return '#5DC786';\n }\n },\n\n getPresentationLevelImage(presentationLevel: PresentationLearningLevel, imageType: PresentationImageType): string {\n switch (TopicsHelper.getMappedPresentationLevel(presentationLevel)) {\n case PresentationLearningLevel.Level_1: {\n if (imageType === 'topic-banner')\n return HardCoded.Images.Level_1.TOPIC_BANNER;\n if (imageType === 'new-release-banner')\n return HardCoded.Images.Level_1.NEW_RELEASES_BANNER;\n if (imageType === 'cover')\n return HardCoded.Images.Level_1.TOPIC_COVER;\n if (imageType === 'tall-poster')\n return HardCoded.Images.Level_1.TOPIC_TALL_POSTER;\n }\n\n case PresentationLearningLevel.Level_2: {\n if (imageType === 'topic-banner')\n return HardCoded.Images.Level_2.TOPIC_BANNER;\n if (imageType === 'new-release-banner')\n return HardCoded.Images.Level_2.NEW_RELEASES_BANNER;\n if (imageType === 'cover')\n return HardCoded.Images.Level_2.TOPIC_COVER;\n if (imageType === 'tall-poster')\n return HardCoded.Images.Level_2.TOPIC_TALL_POSTER;\n }\n\n default:\n case PresentationLearningLevel.Level_3: {\n if (imageType === 'topic-banner')\n return HardCoded.Images.Level_3.TOPIC_BANNER;\n if (imageType === 'new-release-banner')\n return HardCoded.Images.Level_3.NEW_RELEASES_BANNER;\n if (imageType === 'cover')\n return HardCoded.Images.Level_3.TOPIC_COVER;\n if (imageType === 'tall-poster')\n return HardCoded.Images.Level_3.TOPIC_TALL_POSTER;\n }\n\n case PresentationLearningLevel.Level_4: {\n if (imageType === 'topic-banner')\n return HardCoded.Images.Level_4.TOPIC_BANNER;\n\n if (imageType === 'cover')\n return HardCoded.Images.Level_4.TOPIC_COVER;\n }\n }\n },\n\n getExploreAllTopicsTitle(presentationName: string, presentationCount: number): string {\n if (presentationCount < TopicsConstants.MULTI_PRESENTATION_THRESHOLD)\n return getPhrase('exploreAllTopicsHeading');\n\n return getPhrase('exploreAllTopicsDynamicHeading', { presentationName });\n },\n\n getExploreAllTopicsBreadcrumb(presentationName: string, presentationCount: number): string {\n if (presentationCount < TopicsConstants.MULTI_PRESENTATION_THRESHOLD)\n return getPhrase('exploreAllTopicsHeading');\n\n return presentationName;\n },\n\n isFollowing(classification: Classification): boolean {\n return classification?.followers?.data?.length === 1;\n },\n\n isTopLevelTopic(classification: Classification): boolean {\n return !!classification?.parentIds?.includes(ClassificationNodeType.Root);\n },\n\n canHaveVideoListTab(dashboard: CuratedDashboard): boolean {\n return dashboard?.widgets?.some(w => w.metadata?.showInTableOfContents);\n },\n\n getActiveTopicTab(classification: Classification, targetType: DashboardTargetType): ClassificationTab {\n if (TopicsHelper.isTopLevelTopic(classification))\n return targetType === DashboardTargetType.Classification ? 'new-releases' : 'all-topics';\n\n return targetType === DashboardTargetType.Classification ? 'curated-topic' : 'curriculum';\n },\n\n getCounts(classification: Classification): TopicCounts {\n const childClassificationCount = classification?.metadata?.childClassificationCount ?? 0;\n\n if (!classification?.externalMetadata) {\n return {\n childClassificationCount,\n\n dashboardVideoCount: 0,\n childDashboardVideoCount: 0,\n\n dashboardResourceCount: 0,\n childDashboardResourceCount: 0,\n\n dashboardNewVideosCount: 0,\n childDashboardNewVideoCount: 0\n };\n }\n\n return {\n childClassificationCount,\n\n dashboardVideoCount: classification.externalMetadata.dashboardVideoCount || 0,\n childDashboardVideoCount: classification.externalMetadata.childDashboardVideoCount || 0,\n\n dashboardResourceCount: classification.externalMetadata.dashboardResourceCount || 0,\n childDashboardResourceCount: classification.externalMetadata.childDashboardResourceCount || 0,\n\n dashboardNewVideosCount: classification.externalMetadata.dashboardNewVideosCount || 0,\n childDashboardNewVideoCount: classification.externalMetadata.childDashboardNewVideoCount || 0\n };\n },\n\n isTertiary(presentationId: string): boolean {\n return (\n presentationId?.toString() === HardCoded.PresentationIds.AU_TERTIARY.toString() ||\n presentationId?.toString() === HardCoded.PresentationIds.UK_TERTIARY.toString()\n );\n },\n\n isNewZealandTopic(presentationId: string): boolean {\n return (\n presentationId?.toString() === HardCoded.PresentationIds.NZ_PRIMARY.toString() ||\n presentationId?.toString() === HardCoded.PresentationIds.NZ_SECONDARY.toString()\n );\n },\n\n isCanadaTopic(presentationId: string): boolean {\n return (\n presentationId?.toString() === HardCoded.PresentationIds.CA_ELEMENTARY.toString() ||\n presentationId?.toString() === HardCoded.PresentationIds.CA_MIDDLE.toString() ||\n presentationId?.toString() === HardCoded.PresentationIds.CA_HIGH.toString()\n );\n },\n\n isInternationalTopic(presentationId: string): boolean {\n return (\n presentationId?.toString() === HardCoded.PresentationIds.INT_PRIMARY.toString() ||\n presentationId?.toString() === HardCoded.PresentationIds.INT_SECONDARY.toString()\n );\n },\n\n isMtv(classification: Classification): boolean {\n if (!classification?.tags?.data)\n return false;\n\n return classification.tags.data.some(t => t.tagType === TagType.Curation && t.name === CurationTag.MOVIES_AND_TV);\n },\n\n sortByLearningLevel(a: Classification, b: Classification, availablePresentations: Presentation[]): number {\n const aPresentation = availablePresentations.find(p => p?.id.toString() === a?.presentationId?.toString());\n const bPresentation = availablePresentations.find(p => p?.id.toString() === b?.presentationId?.toString());\n const aLearningLevel = PresentationLearningLevel[aPresentation?.learningLevel] as unknown as number; // ts does not play nice\n const bLearningLevel = PresentationLearningLevel[bPresentation?.learningLevel] as unknown as number;\n\n return aLearningLevel - bLearningLevel;\n }\n};","import ClassificationVideosMapJson from 'libs/shared/apps/onboarding/constants/classification-videos.json';\n\ntype Mappings = Record<string, Record<string, { name: string; videoIds: string[] }>>;\nconst ClassificationVideosMap = ClassificationVideosMapJson as Mappings;\n\nexport { ClassificationVideosMap };","import { ClassificationVideosMap } from './ClassificationVideos';\nimport { OnboardingContext } from './OnboardingScreenConfigs';\n\n\nexport const SharedOnboardingScreenPredicates = {\n CreatePlaylist: (context: OnboardingContext) => {\n /**\n * We don't want to prompt a user who has created a playlist in the past\n * to create their \"first\" playlist.\n */\n if (context.hasPlaylist)\n return false;\n\n /**\n * This is a safety check to make sure that we have videos to show the user based on the\n * presentation that they've selected. Just in case we introduce a new presentation and\n * accidentally forget to add hardcoded videos to `ClassificationVideosMap` for it.\n */\n if (context.preferredPresentation && !ClassificationVideosMap[context.preferredPresentation.id])\n return false;\n\n return true;\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { OnboardingScreenId } from 'libs/shared/apps/onboarding/interfaces/OnboardingScreenId';\nimport { OnboardingPathwayHelper } from 'libs/shared/apps/onboarding/utils/OnboardingPathwayHelper';\nimport { JobTitles } from 'libs/shared/apps/sign-up/interfaces/JobTitles';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { PresentationLearningLevel } from 'libs/shared/enums/PresentationLearningLevel';\nimport { SettingName, SettingsLookup } from 'libs/shared/enums/SettingName';\nimport { HasPermissionsFunc } from 'libs/shared/hooks/usePermissions';\nimport { Classification, Customer, Presentation, User } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { SharedOnboardingScreenPredicates } from './SharedOnboardingScreenPredicates';\n\nconst namespace = 'onboarding.constants';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface OnboardingContext {\n masterUser?: User;\n customer?: Customer;\n jobTitle?: JobTitles;\n instanceRegion?: InstanceRegion;\n presentations?: Presentation[];\n curriculums?: Presentation[];\n preferredPresentation?: Presentation;\n preferredSubjects?: Classification[];\n hasPlaylist?: boolean;\n hasPermissions?: HasPermissionsFunc;\n userSettings: SettingsLookup;\n}\n\nexport interface OnboardingScreenConfig {\n id: OnboardingScreenId;\n setting: SettingName;\n analyticsLocation: LocationContext;\n includeInProgressBar: (context: OnboardingContext) => boolean;\n predicate: (context: OnboardingContext) => boolean;\n getWidgetHeading: (isKdm: boolean) => string;\n getWidgetDescription: (isKdm: boolean) => string;\n getPageTitle: () => string;\n branches?: OnboardingScreenId[];\n}\n\nexport const OnboardingScreenConfigs: Record<OnboardingScreenId, OnboardingScreenConfig> = {\n /**\n * The welcome video screen plays an introductory video for new users.\n */\n 'welcome-video': {\n id: 'welcome-video',\n getPageTitle: () => getPhrase('welcomeVideoPageTitle'),\n predicate: context => {\n /**\n * Users who will be redirected to onboarding by the onboarding filter will always be\n * new users. This means that they should see the welcome video screen.\n */\n if (!OnboardingPathwayHelper.shouldRedirectToOnboarding(\n context.masterUser,\n context.customer,\n context.hasPermissions,\n context.presentations\n )) {\n return false;\n }\n\n // We currently only have a welcome video for the US.\n return context.instanceRegion === InstanceRegion.US;\n },\n setting: SettingName.HasCompletedOnboardingStepWelcomeVideo,\n analyticsLocation: LocationContext.OnboardingWelcomeVideoScreen,\n includeInProgressBar: () => false,\n getWidgetHeading: () => getPhrase('selectRoleHeading'),\n getWidgetDescription: () => getPhrase('selectRoleMessage')\n },\n\n 'select-role': {\n id: 'select-role',\n getPageTitle: () => getPhrase('selectRolePageTitle'),\n predicate: (context: OnboardingContext) => {\n /**\n * Some trial sign up flows include a step for users to select their job title\n * before they reach onboarding. This is the only circumstance where we won't show\n * this screen to users.\n */\n if (OnboardingPathwayHelper.hasNonBdmTrial(context.hasPermissions)) {\n // Trial users who don't have a job title set must see this screen\n if (!context.jobTitle)\n return true;\n\n /**\n * Trial users who do have a job title will continue seeing this screen if\n * we can determine that they set it during onboarding\n */\n if (context.userSettings?.[SettingName.HasCompletedOnboardingStepSelectRole]?.value)\n return true;\n\n return false;\n }\n \n return true;\n },\n setting: SettingName.HasCompletedOnboardingStepSelectRole,\n analyticsLocation: LocationContext.OnboardingSelectRoleScreen,\n includeInProgressBar: () => true,\n getWidgetHeading: () => getPhrase('selectRoleHeading'),\n getWidgetDescription: () => getPhrase('selectRoleMessage')\n },\n\n 'usage-intention': {\n id: 'usage-intention',\n getPageTitle: () => getPhrase('usageIntentionPageTitle'),\n predicate: () => true,\n setting: SettingName.HasCompletedOnboardingStepUsageIntention,\n analyticsLocation: LocationContext.OnboardingUsageIntentionScreen,\n includeInProgressBar: () => true,\n getWidgetHeading: () => getPhrase('usageIntentionHeading'),\n getWidgetDescription: () => getPhrase('usageIntentionMessage')\n },\n\n 'subjects-summary': {\n id: 'subjects-summary',\n getPageTitle: () => getPhrase('subjectsSummaryPageTitle'),\n predicate: context => {\n /**\n * This screen is exclusively for users who existed before we released onboarding,\n * and selected some subject preferences in the past.\n * It offers them the opportunity to optionally review and update their preferences.\n */\n if (!context.preferredSubjects?.length)\n return false;\n\n /**\n * If a user has completed any of these 3 steps, then they shouldn't be seeing the summary.\n */\n if (\n context.userSettings?.[SettingName.HasCompletedOnboardingStepSubjects]?.value ||\n context.userSettings?.[SettingName.HasCompletedOnboardingStepSelectCurriculum]?.value ||\n context.userSettings?.[SettingName.HasCompletedOnboardingStepSchoolLevel]?.value\n ) {\n return false;\n }\n\n return true;\n },\n setting: SettingName.HasCompletedOnboardingStepSubjectsSummary,\n analyticsLocation: LocationContext.OnboardingSubjectsSummaryScreen,\n includeInProgressBar: () => true,\n getWidgetHeading: () => getPhrase('subjectsHeading'),\n getWidgetDescription: () => getPhrase('subjectsMessage'),\n branches: [ 'school-level', 'subjects', 'select-curriculum' ]\n },\n\n 'school-level': {\n id: 'school-level',\n getPageTitle: () => getPhrase('schoolLevelPageTitle'),\n predicate: context => {\n if (OnboardingScreenConfigs['subjects-summary'].predicate(context))\n return false;\n\n if (context.presentations?.length < 2)\n return false;\n\n const hasTertiary = context.presentations?.some(p => {\n return TopicsHelper.getMappedPresentationLevel(p.learningLevel) === PresentationLearningLevel.Level_4;\n });\n\n if (hasTertiary)\n return false;\n\n return true;\n },\n setting: SettingName.HasCompletedOnboardingStepSchoolLevel,\n analyticsLocation: LocationContext.OnboardingSchoolLevelScreen,\n includeInProgressBar: ctx => !OnboardingScreenConfigs['subjects-summary'].predicate(ctx),\n getWidgetHeading: isKdm => getPhrase(isKdm ? 'schoolLevelHeadingKdm' : 'schoolLevelHeading'),\n getWidgetDescription: isKdm => getPhrase(isKdm ? 'schoolLevelMessageKdm' : 'schoolLevelMessage')\n },\n\n 'select-curriculum': {\n id: 'select-curriculum',\n getPageTitle: () => getPhrase('selectCurriculumPageTitle'),\n predicate: context => {\n if (OnboardingScreenConfigs['subjects-summary'].predicate(context))\n return false;\n\n if (context.curriculums?.length < 2)\n return false;\n\n return true;\n },\n setting: SettingName.HasCompletedOnboardingStepSelectCurriculum,\n analyticsLocation: LocationContext.OnboardingSelectCurriculumScreen,\n includeInProgressBar: ctx => !OnboardingScreenConfigs['subjects-summary'].predicate(ctx),\n getWidgetHeading: () => getPhrase('selectCurriculumHeading'),\n getWidgetDescription: () => getPhrase('selectCurriculumMessage')\n },\n\n 'subjects': {\n id: 'subjects',\n getPageTitle: () => getPhrase('subjectsPageTitle'),\n predicate: context => {\n if (OnboardingScreenConfigs['subjects-summary'].predicate(context))\n return false;\n\n return true;\n },\n setting: SettingName.HasCompletedOnboardingStepSubjects,\n analyticsLocation: LocationContext.OnboardingSubjectsScreen,\n includeInProgressBar: ctx => !OnboardingScreenConfigs['subjects-summary'].predicate(ctx),\n getWidgetHeading: isKdm => getPhrase(isKdm ? 'subjectsHeadingKdm' : 'subjectsHeading'),\n getWidgetDescription: () => getPhrase('subjectsMessage')\n },\n\n 'select-videos': {\n id: 'select-videos',\n getPageTitle: () => getPhrase('selectVideosPageTitle'),\n predicate: SharedOnboardingScreenPredicates.CreatePlaylist,\n setting: SettingName.HasCompletedOnboardingStepSelectVideos,\n analyticsLocation: LocationContext.OnboardingSelectVideosScreen,\n includeInProgressBar: () => true,\n getWidgetHeading: () => getPhrase('selectVideosHeading'),\n getWidgetDescription: isKdm => getPhrase(isKdm ? 'selectVideosMessageKdm' : 'selectVideosMessage')\n },\n\n 'create-playlist': {\n id: 'create-playlist',\n getPageTitle: () => getPhrase('createPlaylistPageTitle'),\n predicate: SharedOnboardingScreenPredicates.CreatePlaylist,\n setting: SettingName.HasCompletedOnboardingStepCreatePlaylist,\n analyticsLocation: LocationContext.OnboardingCreatePlaylistScreen,\n includeInProgressBar: () => true,\n getWidgetHeading: () => getPhrase('createPlaylistHeading'),\n getWidgetDescription: () => getPhrase('createPlaylistMessage')\n }\n};","export enum WidgetTemplate {\n // Videos\n ThumbnailHeroMedia = 'thumbnail_hero_media',\n ThumbnailFeaturedMedia = 'thumbnail_featured_media',\n ThumbnailSlidingListSmall = 'thumbnail_sliding_list_small',\n ThumbnailSlidingListSmallV2 = 'thumbnail_sliding_list_small_v2',\n ThumbnailSlidingListLarge = 'thumbnail_sliding_list_large',\n ThumbnailFixedListMediaSmall = 'thumbnail_fixed_list_media_small',\n ThumbnailFixedListMediaLarge = 'thumbnail_fixed_list_media_large',\n ThumbnailFixedListFolderSmall = 'thumbnail_fixed_list_folder_small',\n ThumbnailVerticalList = 'thumbnail_vertical_list',\n PopoutThumbnailSlidingListLarge = 'popout_thumbnail_sliding_list_large',\n PopoutThumbnailSlidingListSmall = 'popout_thumbnail_sliding_list_small',\n FeaturedThumbnailSlidingList = 'featured_thumbnail_sliding_list',\n ThumbnailFixedListXLarge = 'thumbnail_fixed_list_xlarge',\n\n // Topics\n CoverSlidingPillListSmall = 'cover_sliding_pill_list_small',\n CoverFixedPillListLarge = 'cover_fixed_pill_list_large',\n StatsCoverFixedPillListLarge = 'stats_cover_fixed_pill_list_large',\n CoverFixedPillListXSmall = 'cover_fixed_pill_list_xsmall',\n ThumbnailFixedListLarge = 'thumbnail_fixed_list_large',\n ThumbnailFixedListSmall = 'thumbnail_fixed_list_small',\n EditableCoverFixedPillListSmall = 'editable_cover_fixed_pill_list_small',\n HeroBanner = 'hero_banner',\n HeroThumbnailSmall = 'hero_thumbnail_small',\n HeroBlockColourSmall = 'hero_block_colour_small',\n\n // Curriculum\n CurriculumResourcesAccordion = 'curriculum_resources_accordion',\n CurriculumCodeSearchResults = 'curriculum_code_search_results',\n\n // Playlists\n CoverFixedTileList = 'cover_fixed_tile_list',\n\n // Topics & Series\n PosterSlidingListLarge = 'poster_sliding_list_large',\n PosterSlidingListMedium = 'poster_sliding_list_medium',\n PosterSlidingListSmall = 'poster_sliding_list_small',\n PosterFixedListLarge = 'poster_fixed_list_large',\n\n // Blurbs & Topics\n HeroBannerSmall = 'hero_banner_small',\n\n // Text-based blurbs\n Heading = 'heading',\n AuthorReviewer = 'author_reviewer',\n Question = 'question',\n QuestionAccordion = 'question_accordion',\n\n // Onboarding\n OnboardingSteps = 'onboarding_steps',\n\n // Companies / Studios / Content Partners\n CircleLogoSlidingList = 'circle_logo_sliding_list',\n\n // Rating filters\n FilterSlidingPillListSmall = 'filter_sliding_pill_list_small',\n\n // Special events\n EventIconSlidingList = 'event_icon_sliding_list',\n\n // Tags filter\n TagSlidingList = 'tag_sliding_list',\n\n SearchSuggestionsBlurb = 'search_suggestions_blurb'\n}","export enum WidgetTypeId {\n // Video group\n CuratedMedia = 'curated_media',\n PlaylistMedia = 'playlist_media',\n SeriesMedia = 'series_media',\n ClassificationMedia = 'classification_media',\n LatestReleasedVideos = 'latest_released_videos',\n ContinueWatching = 'continue_watching_videos',\n CompanyLatestReleasedVideo = 'company_latest_released_video',\n CompanyVideos = 'company_videos',\n ClassificationLatestReleasedVideo = 'classification_latest_released_video',\n ClassificationLatestReleasedVideosV2 = 'classification_latest_released_videos_v2',\n CompanyClassificationVideos = 'company_classification_videos',\n ClassificationDashboardMedia = 'classification_dashboard_media',\n ClassificationDashboardExternalMedia = 'classification_dashboard_external_media',\n SeasonalClassificationMedia = 'seasonal_classification_media',\n TrendingClassificationsMedia = 'trending_classifications_media',\n ClassificationCurriculumMedia = 'classification_curriculum_media',\n\n // Topics group\n CuratedClassifications = 'curated_classifications',\n Classifications = 'classifications',\n ClassificationLatestReleasedVideos = 'classification_latest_released_videos',\n SpecialEventClassifications = 'special_event_classifications',\n LatestReleasedClassifications = 'latest_released_classifications',\n TrendingClassifications = 'trending_classifications',\n\n // Series group\n CuratedSeries = 'curated_series',\n \n // Playlists group\n CuratedPlaylists = 'curated_playlists',\n\n // Blurb group\n Blurb = 'blurb',\n DynamicBlurb = 'dynamic_blurb',\n AuthorReviewer = 'author_reviewer',\n Faq = 'faq',\n\n // Network group\n CuratedCompanies = 'curated_companies',\n \n // Search filter group\n Ratings = 'ratings',\n\n // Presentations group\n Presentations = 'presentations',\n\n // Livestreams group\n UpcomingLivestreams = 'upcoming_livestreams',\n\n // Multimedia group\n CuratedMultimedia = 'curated_multimedia',\n\n // Legacy widget types\n ClassificationPlaylists = 'classification_playlists',\n ClassificationSeries = 'classification_series',\n ClassificationFeaturedVideo = 'classification_featured_video',\n ClassificationPinnedVideos = 'classification_pinned_videos',\n\n // Search widget types\n SearchRelevantTopics = 'search_relevant_topics',\n SearchCompanies = 'search_companies',\n SearchTopResults = 'search_top_results',\n SearchSeries = 'search_series',\n SearchPlaylists = 'search_playlists',\n SearchMyVideosFolder = 'search_my_videos_folders',\n SearchMySchoolLibraryFolder = 'search_my_school_library_folders',\n SearchMyVideos = 'search_my_videos',\n SearchMySchoolLibraryVideos = 'search_my_school_library_videos',\n SearchExchangeArchive = 'search_exchange_archive',\n SearchRelatedResults = 'search_related_results',\n SearchTags = 'search_tags',\n SearchCurriculumCode = 'search_curriculum_code',\n SearchSuggestions = 'search_suggestions'\n}","import { FormikContextType } from 'formik';\n\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SearchResultObjectTypes } from 'libs/shared/apps/search/interfaces';\nimport { WidgetTypeIdConfig } from 'libs/shared/constants/WidgetTypeIdConfig';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { OnlineUserRole } from 'libs/shared/enums/UserRole';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { BaseObject, ClassificationCurriculumInfo, ClassificationDashboardInfo, ClassificationDirectoryInfo, CuratedDashboard, CuratedMediaWidget, CuratedWidget, CuratedWidgetQueryParams, DashboardTargetInfo, DashboardTargetType, UnknownDashboardTargetInfo } from 'libs/shared/interfaces';\n\ninterface LatestReleasesTimeRange {\n from: string;\n to: string;\n}\n\nexport const DashboardHelper = {\n\n /**\n * Same implementation as GetUserGroup() in Online.\n * @param userRole \n */\n getUserGroup(userRole: OnlineUserRole): UserGroup {\n if (userRole === OnlineUserRole.Student)\n return UserGroup.Learner;\n\n return UserGroup.Staff;\n }\n};\n\nexport const CuratedDashboardHelper = {\n onSelectCuratedObject(\n selectedObj: SearchResultObjectTypes,\n formikProps: FormikContextType<CuratedMediaWidget<BaseObject[]>>\n ) {\n const data = {\n ...formikProps.values.data,\n objectIds: ArrayHelper.addOrRemoveImmutable(formikProps.values.data.objectIds || [], selectedObj.id)\n };\n \n formikProps.setFieldValue('data', data);\n \n formikProps.setTouched({\n ...formikProps.touched,\n data: {\n objectIds: true\n }\n });\n },\n\n onRemoveCuratedObject(\n objectId: string,\n formikProps: FormikContextType<CuratedMediaWidget<BaseObject[]>>\n ) {\n const newData = {\n ...formikProps.values.data,\n objectIds: formikProps.values.data.objectIds.filter(id => id !== objectId)\n };\n\n formikProps.setFieldValue('data', newData);\n },\n\n getDashboardTarget(info: DashboardTargetInfo): string {\n if (info.targetType === DashboardTargetType.Discover)\n return `discover:presentation:${info.presentationId}`;\n\n if (info.targetType === DashboardTargetType.Classification)\n return `classification:${info.classificationId}`;\n\n if (info.targetType === DashboardTargetType.ClassificationDirectory)\n return `classification:${info.classificationId}:directory`;\n\n if (info.targetType === DashboardTargetType.ClassificationCurriculum)\n return `classification:${info.classificationId}:curriculum`;\n\n if (info.targetType === DashboardTargetType.MoviesAndTv)\n return `moviesAndTv:presentation:${info.presentationId}`;\n\n if (info.targetType === DashboardTargetType.Company)\n return `company:${info.companyId}:presentation:${info.presentationId}`;\n\n return null;\n },\n\n getUnknownDashboardTarget(options: UnknownDashboardTargetInfo): string {\n const {\n presentationId,\n companyId,\n targetType,\n classificationId\n } = options;\n\n if (targetType === DashboardTargetType.Discover) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.Discover,\n presentationId\n });\n }\n \n if (targetType === DashboardTargetType.MoviesAndTv) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.MoviesAndTv,\n presentationId\n });\n }\n \n if (targetType === DashboardTargetType.Company) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.Company,\n presentationId,\n companyId\n });\n }\n \n if (targetType === DashboardTargetType.Classification) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.Classification,\n classificationId\n });\n }\n \n if (targetType === DashboardTargetType.ClassificationDirectory) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.ClassificationDirectory,\n classificationId\n });\n }\n \n if (targetType === DashboardTargetType.ClassificationCurriculum) {\n return CuratedDashboardHelper.getDashboardTarget({\n targetType: DashboardTargetType.ClassificationCurriculum,\n classificationId\n });\n }\n },\n\n getDashboardTargetInfo(dashboard: CuratedDashboard): DashboardTargetInfo {\n const type = CuratedDashboardHelper.getDashboardTargetType(dashboard);\n const split = dashboard?.target?.split(':');\n\n if (type === DashboardTargetType.Discover) {\n return {\n targetType: DashboardTargetType.Discover,\n presentationId: split[2]\n };\n }\n\n if (type === DashboardTargetType.Classification) {\n return {\n targetType: DashboardTargetType.Classification,\n classificationId: split[1]\n };\n }\n\n if (type === DashboardTargetType.ClassificationDirectory) {\n return {\n targetType: DashboardTargetType.ClassificationDirectory,\n classificationId: split[1]\n };\n }\n\n if (type === DashboardTargetType.ClassificationCurriculum) {\n return {\n targetType: DashboardTargetType.ClassificationCurriculum,\n classificationId: split[1]\n };\n }\n\n if (type === DashboardTargetType.MoviesAndTv) {\n return {\n targetType: DashboardTargetType.MoviesAndTv,\n presentationId: split[2]\n };\n }\n\n if (type === DashboardTargetType.Company) {\n return {\n targetType: DashboardTargetType.Company,\n companyId: split[1],\n presentationId: split[3]\n };\n }\n\n return null;\n },\n\n getDashboardTargetType(dashboard: CuratedDashboard): DashboardTargetType {\n if (!dashboard?.target)\n return null;\n\n if (dashboard.target.startsWith('discover'))\n return DashboardTargetType.Discover;\n\n if (dashboard.target.startsWith('classification')) {\n if (dashboard.target.endsWith('directory'))\n return DashboardTargetType.ClassificationDirectory;\n\n if (dashboard.target.endsWith('curriculum'))\n return DashboardTargetType.ClassificationCurriculum;\n\n return DashboardTargetType.Classification;\n }\n\n if (dashboard.target.startsWith('moviesAndTv'))\n return DashboardTargetType.MoviesAndTv;\n\n if (dashboard.target.startsWith('company')) {\n return DashboardTargetType.Company;\n }\n\n return null;\n },\n\n isType(dashboard: CuratedDashboard, target: DashboardTargetType): boolean {\n return CuratedDashboardHelper.getDashboardTargetType(dashboard) === target;\n },\n\n isCuratedDashboard(obj: BaseObject): obj is CuratedDashboard {\n const dashboard = obj as CuratedDashboard;\n\n const targetType = CuratedDashboardHelper.getDashboardTargetType(dashboard);\n\n if (targetType === DashboardTargetType.Discover)\n return true;\n\n if (targetType === DashboardTargetType.Classification)\n return true;\n\n if (targetType === DashboardTargetType.ClassificationDirectory)\n return true;\n\n if (targetType === DashboardTargetType.ClassificationCurriculum)\n return true;\n\n if (targetType === DashboardTargetType.MoviesAndTv)\n return true;\n\n if (targetType === DashboardTargetType.Company)\n return true;\n\n return false;\n },\n\n getLatestReleasedTimeRange(): LatestReleasesTimeRange {\n const now = new Date();\n const from = DateHelper.format(DateHelper.endOf(DateHelper.subtract(now, 2, 'month'), 'day'), 'YYYY-MM-DD');\n const to = DateHelper.format(DateHelper.endOf(now, 'day'), 'YYYY-MM-DD');\n return { from, to };\n },\n\n getWidgetParams(\n widgetTypeId: WidgetTypeId,\n templateId: WidgetTemplate,\n target: DashboardTargetType,\n audienceIds?: string | string[],\n preferredCurriculumId?: string\n ): CuratedWidgetQueryParams {\n const params: CuratedWidgetQueryParams = { };\n\n if (audienceIds)\n params.audienceId = audienceIds;\n\n if (widgetTypeId === WidgetTypeId.ClassificationCurriculumMedia)\n params.curriculumPresentationId = preferredCurriculumId;\n\n return {\n ...params,\n ...WidgetTypeIdConfig[widgetTypeId].getCustomParams(templateId, target)\n };\n },\n\n isSystemGeneratedDashboard(widgets: CuratedWidget[]): boolean {\n const systemGeneratedClassificationWidgetTypes = new Set<WidgetTypeId>([\n WidgetTypeId.ClassificationFeaturedVideo,\n WidgetTypeId.ClassificationPinnedVideos,\n WidgetTypeId.ClassificationPlaylists,\n WidgetTypeId.ClassificationSeries\n ]);\n\n return widgets?.some(widget => systemGeneratedClassificationWidgetTypes.has(widget.widgetId));\n },\n\n isClassificationDashboard(\n targetInfo: DashboardTargetInfo\n ): targetInfo is ClassificationDashboardInfo | ClassificationDirectoryInfo | ClassificationCurriculumInfo {\n return [\n DashboardTargetType.Classification,\n DashboardTargetType.ClassificationDirectory,\n DashboardTargetType.ClassificationCurriculum\n ].includes(targetInfo?.targetType);\n }\n};","import { Core } from 'libs/common/backbone/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { OnboardingScreenConfigs } from '../apps/onboarding/constants/OnboardingScreenConfigs';\nimport { SourceFilterOptions, TypeFilterOptions } from '../apps/search/interfaces';\nimport { WidgetAppLinks } from '../components/widgets/curated-widgets/WidgetProps';\nimport { SettingName } from '../enums/SettingName';\nimport { WidgetTemplate } from '../enums/WidgetTemplate';\nimport { WidgetTypeId } from '../enums/WidgetTypeId';\nimport { CuratedWidgetContent, CuratedWidgetQueryParams, DashboardTargetType, Series } from '../interfaces';\nimport { CuratedDashboardHelper } from '../utils/DashboardHelper';\n\ninterface WidgetTypeIdConfigType {\n getCustomParams: (widgetTemplate: WidgetTemplate, targetType: DashboardTargetType) => CuratedWidgetQueryParams;\n minContent?: number;\n getCollectionAppLink?: (appLinks: Partial<WidgetAppLinks>, content?: CuratedWidgetContent) => Core.AppLink;\n}\n\nexport const WidgetTypeIdConfig: Record<WidgetTypeId, WidgetTypeIdConfigType> = {\n [WidgetTypeId.CuratedMedia]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.PlaylistMedia]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.SeriesMedia]: {\n getCustomParams: (widgetTemplate: WidgetTemplate) => {\n switch (widgetTemplate) {\n case WidgetTemplate.ThumbnailFixedListMediaLarge:\n return { limit: 2 };\n case WidgetTemplate.ThumbnailHeroMedia:\n case WidgetTemplate.ThumbnailFeaturedMedia:\n return { limit: 1 };\n default:\n return { limit: 12 };\n }\n },\n getCollectionAppLink: (appLinks, content) => appLinks?.series?.(ArrayHelper.first(content) as Series)\n },\n [WidgetTypeId.ClassificationMedia]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.LatestReleasedVideos]: {\n getCustomParams: () => {\n return CuratedDashboardHelper.getLatestReleasedTimeRange();\n }\n },\n [WidgetTypeId.ContinueWatching]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks?.watchHistory?.()\n },\n [WidgetTypeId.CompanyLatestReleasedVideo]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.CompanyVideos]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationLatestReleasedVideo]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationLatestReleasedVideosV2]: {\n getCustomParams: () => {\n return {\n limit: 12\n };\n },\n minContent: 4\n },\n [WidgetTypeId.SeasonalClassificationMedia]: {\n getCustomParams: () => {\n return {\n limit: 12\n };\n },\n minContent: 4\n },\n [WidgetTypeId.CompanyClassificationVideos]: {\n getCustomParams: () => ({}),\n minContent: 4\n },\n [WidgetTypeId.TrendingClassificationsMedia]: {\n getCustomParams: () => {\n return {\n limit: 12\n };\n },\n minContent: 4\n },\n\n [WidgetTypeId.CuratedClassifications]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.TrendingClassifications]: {\n getCustomParams: () => {\n return {\n limit: 6\n };\n },\n minContent: 3\n },\n [WidgetTypeId.Classifications]: {\n getCustomParams: (template: WidgetTemplate, targetType: DashboardTargetType) => {\n if (targetType === DashboardTargetType.Discover) {\n if (template === WidgetTemplate.EditableCoverFixedPillListSmall) {\n return {\n canBePreferred: true,\n isFollowing: true\n };\n }\n\n if ([ WidgetTemplate.PosterSlidingListSmall, WidgetTemplate.CoverFixedPillListXSmall ].includes(template)) {\n return {\n canBePreferred: true\n };\n }\n }\n\n return {};\n }\n },\n [WidgetTypeId.ClassificationLatestReleasedVideos]: {\n getCustomParams: () => {\n return CuratedDashboardHelper.getLatestReleasedTimeRange();\n }\n },\n [WidgetTypeId.SpecialEventClassifications]: {\n getCustomParams: () => ({\n from: DateHelper.format(new Date(), 'YYYY-MM-DD')\n })\n },\n [WidgetTypeId.LatestReleasedClassifications]: {\n getCustomParams: () => {\n return {\n limit: 6\n };\n },\n minContent: 3\n },\n\n [WidgetTypeId.CuratedSeries]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.CuratedPlaylists]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.Blurb]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.DynamicBlurb]: {\n getCustomParams: (templateId: WidgetTemplate) => {\n if (templateId === WidgetTemplate.OnboardingSteps) {\n return {\n customerSetting: [SettingName.HasNewOnboarding],\n userSettings: [\n ...Object.values(OnboardingScreenConfigs).map(c => c.setting),\n SettingName.HasCompletedOnboardingV2,\n SettingName.HasExitedOnboarding\n ]\n };\n }\n\n return {};\n }\n },\n [WidgetTypeId.AuthorReviewer]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.Faq]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.CuratedCompanies]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.Ratings]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.Presentations]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.UpcomingLivestreams]: {\n getCustomParams: () => ({\n from: DateHelper.format(new Date(), 'YYYY-MM-DD')\n })\n },\n\n [WidgetTypeId.CuratedMultimedia]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.ClassificationPlaylists]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationSeries]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationFeaturedVideo]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationPinnedVideos]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationDashboardExternalMedia]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationDashboardMedia]: {\n getCustomParams: () => ({})\n },\n\n [WidgetTypeId.SearchRelevantTopics]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchRelevantTopics],\n type: [TypeFilterOptions.Classification]\n })\n },\n [WidgetTypeId.SearchCompanies]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchCompanies],\n type: [TypeFilterOptions.Company]\n })\n },\n [WidgetTypeId.SearchSeries]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchSeries],\n type: [TypeFilterOptions.Series]\n })\n },\n [WidgetTypeId.SearchPlaylists]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchPlaylists],\n type: [TypeFilterOptions.Playlist]\n })\n },\n [WidgetTypeId.SearchMyVideosFolder]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchMyVideosFolder],\n source: [SourceFilterOptions.MyVideos]\n })\n },\n [WidgetTypeId.SearchMySchoolLibraryFolder]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchMySchoolLibraryFolder],\n source: [SourceFilterOptions.School]\n })\n },\n [WidgetTypeId.SearchMyVideos]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchMyVideos],\n source: [SourceFilterOptions.MyVideos]\n })\n },\n [WidgetTypeId.SearchMySchoolLibraryVideos]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchMySchoolLibraryVideos],\n source: [SourceFilterOptions.School]\n })\n },\n [WidgetTypeId.SearchExchangeArchive]: {\n getCustomParams: () => ({}),\n getCollectionAppLink: appLinks => appLinks.searchHome({\n focus: [WidgetTypeId.SearchExchangeArchive],\n source: [SourceFilterOptions.ExchangeArchive]\n })\n },\n [WidgetTypeId.SearchRelatedResults]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.SearchTopResults]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.ClassificationCurriculumMedia]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.SearchTags]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.SearchCurriculumCode]: {\n getCustomParams: () => ({})\n },\n [WidgetTypeId.SearchSuggestions]: {\n getCustomParams: () => ({})\n }\n};","export enum WidgetStatus {\n Draft = 0,\n Published = 1,\n Archived = 2\n}\n\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsOptions, ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { WidgetStatus } from 'libs/shared/enums/WidgetStatus';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { CuratedDashboardAppLink, CuratedWidget, CuratedWidgetContent, Playlist, Presentation, Series, Video, VideoTypes, VideoWidgetTemplateContent, WidgetMetadata, WidgetPreference } from 'libs/shared/interfaces';\n\nimport { AnyWidgetTemplateProps } from '../components/widgets/curated-widgets/WidgetProps';\nimport { WidgetTypeIdConfig } from '../constants/WidgetTypeIdConfig';\nimport { MasterType } from '../enums/MasterType';\n\nimport { MasterTypeHelper } from './MasterTypeHelper';\n\nenum WidgetStatusString {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived'\n}\n\nexport const WidgetHelper = {\n /**\n * Used by both the FixedWidget and DynamicWidget\n */\n getSliderAnalyticsOptions: (): AnalyticsOptions => ({\n actionType: UserAction.Click,\n location: LocationContext.SlidingList,\n entity: EntityType.Widget,\n descriptor: ClickDescriptor.Slide\n }),\n\n /**\n * Used by both the FixedWidget and DynamicWidget\n */\n getSliderItemAnalyticsOptions: (): AnalyticsOptions => ({\n location: LocationContext.SlidingListItem\n }),\n\n getSliderHeadingAnalyticsOptions: (): AnalyticsOptions => ({\n actionType: UserAction.Click,\n location: LocationContext.SlidingList,\n entity: EntityType.Widget,\n descriptor: ClickDescriptor.Title\n }),\n\n useGetContent(\n content: CuratedWidgetContent,\n widgetTypeId: WidgetTypeId,\n isPreviewing: boolean,\n preferences: WidgetPreference[],\n removedItemIds: string[]\n ): { content: CuratedWidgetContent; unfilteredContent: CuratedWidgetContent; } {\n return React.useMemo(() => {\n if (!content)\n return { content: null, unfilteredContent: null };\n\n if (!Array.isArray(content))\n return { content, unfilteredContent: content };\n\n const preferencesHash = preferences?.reduce((acc: HashObject, current) => {\n acc[current.id] = current;\n return acc;\n }, {}) ?? {};\n\n const removedItemIdsHash = removedItemIds.reduce((acc: HashObject, current) => {\n acc[current] = true;\n return acc;\n }, {});\n\n const contentCopy = [...content];\n \n const sortedContent = contentCopy.sort((a, b) => {\n if (!('id' in a) || !('id' in b))\n return 0;\n\n const aIndex = preferencesHash[a.id]?.index ?? contentCopy.findIndex(c => 'id' in c && c.id === a.id);\n const bIndex = preferencesHash[b.id]?.index ?? contentCopy.findIndex(c => 'id' in c && c.id === b.id);\n\n if (aIndex < bIndex)\n return -1;\n\n if (aIndex > bIndex)\n return 1;\n\n return 0;\n });\n\n if (WidgetHelper.isBelowContentMinimum(sortedContent, widgetTypeId) && !isPreviewing) {\n return {\n content: [],\n unfilteredContent: sortedContent\n };\n }\n\n const filteredContent = sortedContent.filter(item => {\n if (preferencesHash['id' in item && item.id]?.hidden)\n return false;\n\n if (removedItemIdsHash['id' in item && item.id])\n return false;\n\n return true;\n });\n\n return {\n content: filteredContent,\n unfilteredContent: sortedContent\n };\n }, [ content, preferences ]);\n },\n\n isBelowContentMinimum(content: CuratedWidgetContent, widgetTypeId: WidgetTypeId): boolean {\n const minContent = WidgetTypeIdConfig[widgetTypeId]?.minContent || 0;\n return content?.length < minContent;\n },\n\n getCustomAppLink(props: AnyWidgetTemplateProps): Core.AppLink | null {\n if (\n !('metadata' in props) ||\n !('appLinks' in props) ||\n !('appLink' in props.metadata)\n ) {\n return null;\n }\n\n if (props.metadata?.appLink === CuratedDashboardAppLink.LatestReleases && 'latestReleases' in props.appLinks)\n return props.appLinks?.latestReleases?.();\n\n if (props.metadata?.appLink === CuratedDashboardAppLink.ExploreAllTopics && 'allTopics' in props.appLinks && 'presentation' in props)\n return props.appLinks?.allTopics?.(props.presentation.id);\n\n return null;\n },\n\n getWidgetStatus(widget: CuratedWidget): WidgetStatus {\n let status = widget.status;\n\n if (typeof (status) === 'string') {\n switch (status) {\n case WidgetStatusString.Archived:\n status = WidgetStatus.Archived;\n break;\n case WidgetStatusString.Published:\n status = WidgetStatus.Published;\n break;\n case WidgetStatusString.Draft:\n status = WidgetStatus.Draft;\n break;\n }\n }\n\n return status;\n },\n\n formatResponseData(widget: CuratedWidget, presentation?: Presentation): CuratedWidget {\n const content = widget.content;\n\n if (!content)\n return widget;\n\n if ('author' in content) {\n widget.content = [content] as CuratedWidgetContent;\n return widget;\n }\n\n if ('data' in content)\n widget.content = content.data as CuratedWidgetContent;\n else if (!Array.isArray(content))\n widget.content = [content]; // Handle `classification_featured_video` widgets, which don't return content as an array\n\n switch (widget.widgetId) {\n case WidgetTypeId.ClassificationSeries:\n widget.content = widget.content.filter((c): c is Series => 'tallPoster' in c && !!c.tallPoster?.id);\n break;\n case WidgetTypeId.ClassificationPlaylists:\n widget.content = widget.content.filter((c): c is Playlist => 'cover' in c && !!c.cover?.id);\n break;\n case WidgetTypeId.ContinueWatching:\n widget.content = widget.content.map(c => 'object' in c && c.object);\n default:\n break;\n case WidgetTypeId.Presentations:\n widget.content = widget.content.filter((c): c is Presentation => 'id' in c && c.id.toString() !== presentation?.id?.toString());\n break;\n }\n\n return widget;\n },\n \n isWidgetInTableOfContents(metadata: Partial<WidgetMetadata>): boolean {\n return !!metadata?.showInTableOfContents;\n },\n\n /**\n * Widget container view won't render a widget with no content typically,\n * but some widgets (such as blurbs) have no content, but should render anyway.\n */\n hasNoContent(widgetTypeId: WidgetTypeId): boolean {\n if (widgetTypeId === WidgetTypeId.Blurb)\n return true;\n\n return false;\n },\n\n /**\n * If any widgets should be hidden on smaller screen sizes, add them here.\n * If this needs to be more flexible at some point, it should be added to\n * the widget settings and metadata object.\n */\n canDisplayOnScreenSize(\n breakpoints: Breakpoints,\n widgetTypeId: WidgetTypeId,\n widgetTemplate: WidgetTemplate\n ): boolean {\n if (widgetTypeId === WidgetTypeId.Blurb && widgetTemplate === WidgetTemplate.HeroBannerSmall)\n return !breakpoints.xs && !breakpoints.sm;\n\n return true;\n },\n\n isCompanyWidget(widgetTypeId: WidgetTypeId): boolean {\n switch (widgetTypeId) {\n case WidgetTypeId.CompanyLatestReleasedVideo:\n case WidgetTypeId.CompanyVideos:\n case WidgetTypeId.UpcomingLivestreams:\n return true;\n default:\n return false;\n }\n },\n\n getVideoContent(content: VideoWidgetTemplateContent): VideoTypes[] {\n const firstItem = ArrayHelper.first<Video | Series>(content);\n\n if (MasterTypeHelper.isType<Series>(firstItem, MasterType.Series))\n return firstItem.videos.data;\n\n return content as VideoTypes[];\n },\n\n showRemoveButton(widgetTypeId: WidgetTypeId): boolean {\n return widgetTypeId === WidgetTypeId.ContinueWatching;\n }\n};"],"names":["CuratedDashboardAppLink","CuratedWidgetCtaAppLink","ONBOARDING_PERSONA_KEY","ONBOARDING_USAGE_INTENTION_KEY","ONBOARDING_JOB_TITLE_REDIRECT_KEY","ONBOARDING_VIDEOS_V2","getScopedKey","userId","key","get","value","LocalStorageHelper","scopedKey","set","remove","OnboardingStorageHelper","jobTitle","onboardingPersona","UserHelper","usageIntention","videos","getOnboardingReleaseDate","presentations","customer","initialReleaseDate","tertiaryReleaseDate","fullReleaseDate","p","HardCoded","DateHelper","OnboardingPathwayHelper","options","userSettings","curriculums","preferredPresentation","preferredSubjects","hasPlaylist","appLink","appLinks","masterUser","currentUser","hasPermissions","onboardingContext","currentScreen","onboardingScreenConfigs","OnboardingScreenConfigs","graphDictionary","previous","firstScreenId","screenNumber","progressBarNumber","hasCompletedAllSteps","screenConfig","hasCompletedStep","SettingsHelper","_a","branch","pathway","currentNode","nextScreenId","previousScreenId","currentAppLink","ArrayHelper","currentStepNumber","currentStepProgressBarNumber","_b","totalScreens","totalScreensInProgressBar","progressBarPercentage","overallPercentage","_c","PermissionName","completedScreens","incompleteScreens","screenId","availablePresentations","PresentationLearningLevel","ClassificationNodeType","ClassificationType","TagType","namespace","getPhrase","LanguageService","TopicsHelper","obj","presentationLevel","imageType","presentationName","presentationCount","TopicsConstants","classification","dashboard","w","targetType","DashboardTargetType","childClassificationCount","presentationId","t","CurationTag","a","b","aPresentation","bPresentation","aLearningLevel","bLearningLevel","ClassificationVideosMap","ClassificationVideosMapJson","SharedOnboardingScreenPredicates","context","InstanceRegion","SettingName","LocationContext","_e","_d","_g","_f","ctx","isKdm","WidgetTemplate","WidgetTypeId","CuratedDashboardHelper","selectedObj","formikProps","data","objectId","newData","id","info","companyId","classificationId","type","split","target","now","from","to","widgetTypeId","templateId","audienceIds","preferredCurriculumId","params","WidgetTypeIdConfig","widgets","systemGeneratedClassificationWidgetTypes","widget","targetInfo","widgetTemplate","content","template","c","TypeFilterOptions","SourceFilterOptions","WidgetStatus","WidgetHelper","UserAction","EntityType","ClickDescriptor","isPreviewing","preferences","removedItemIds","React","preferencesHash","acc","current","removedItemIdsHash","contentCopy","sortedContent","aIndex","bIndex","item","minContent","props","status","presentation","metadata","breakpoints","firstItem","MasterTypeHelper","MasterType"],"mappings":"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"}