@clickview/streamable-learning 0.33.0 → 0.34.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/CliS8Q8r.chunk.css +1 -0
  88. package/dist/css/D-kQKsZN.chunk.css +1 -0
  89. package/dist/css/D2NwUVrK.chunk.css +1 -0
  90. package/dist/css/D4g1IoUU.chunk.css +1 -0
  91. package/dist/css/DBgpcO3T.chunk.css +1 -0
  92. package/dist/css/DDnpOnVB.chunk.css +1 -0
  93. package/dist/css/DZJSONGP.chunk.css +1 -0
  94. package/dist/css/Dc0zNt2E.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/-Oi3rE3V.chunk.js +5 -0
  114. package/dist/scripts/-Oi3rE3V.chunk.js.map +1 -0
  115. package/dist/scripts/-cwk-1Iv.chunk.js +2 -0
  116. package/dist/scripts/-cwk-1Iv.chunk.js.map +1 -0
  117. package/dist/scripts/4oi1ldJ4.chunk.js +3 -0
  118. package/dist/scripts/4oi1ldJ4.chunk.js.map +1 -0
  119. package/dist/scripts/6UeJLeAd.chunk.js +2 -0
  120. package/dist/scripts/6UeJLeAd.chunk.js.map +1 -0
  121. package/dist/scripts/8zar0u1i.chunk.js +2 -0
  122. package/dist/scripts/8zar0u1i.chunk.js.map +1 -0
  123. package/dist/scripts/9NIa7Pi_.chunk.js +2 -0
  124. package/dist/scripts/9NIa7Pi_.chunk.js.map +1 -0
  125. package/dist/scripts/B5OOLcT3.chunk.js +2 -0
  126. package/dist/scripts/B5OOLcT3.chunk.js.map +1 -0
  127. package/dist/scripts/B8XJmK96.chunk.js +8 -0
  128. package/dist/scripts/B8XJmK96.chunk.js.map +1 -0
  129. package/dist/scripts/BA6k9XoA.chunk.js +2 -0
  130. package/dist/scripts/BA6k9XoA.chunk.js.map +1 -0
  131. package/dist/scripts/BBnDr_iy.chunk.js +2 -0
  132. package/dist/scripts/BBnDr_iy.chunk.js.map +1 -0
  133. package/dist/scripts/BEL0opwe.chunk.js +2 -0
  134. package/dist/scripts/BEL0opwe.chunk.js.map +1 -0
  135. package/dist/scripts/BHmtLW9C.chunk.js +2 -0
  136. package/dist/scripts/BHmtLW9C.chunk.js.map +1 -0
  137. package/dist/scripts/BJ0C6oH6.chunk.js +2 -0
  138. package/dist/scripts/BJ0C6oH6.chunk.js.map +1 -0
  139. package/dist/scripts/BPcJv8Nj.chunk.js +2 -0
  140. package/dist/scripts/BPcJv8Nj.chunk.js.map +1 -0
  141. package/dist/scripts/BQQ9SPei.chunk.js +10 -0
  142. package/dist/scripts/BQQ9SPei.chunk.js.map +1 -0
  143. package/dist/scripts/BQQZ0Zva.chunk.js +2 -0
  144. package/dist/scripts/BQQZ0Zva.chunk.js.map +1 -0
  145. package/dist/scripts/BRKKXF-k.chunk.js +2 -0
  146. package/dist/scripts/BRKKXF-k.chunk.js.map +1 -0
  147. package/dist/scripts/BUhbk0mt.chunk.js +2 -0
  148. package/dist/scripts/BUhbk0mt.chunk.js.map +1 -0
  149. package/dist/scripts/BXKrMYdw.chunk.js +2 -0
  150. package/dist/scripts/BXKrMYdw.chunk.js.map +1 -0
  151. package/dist/scripts/B_eK8A25.chunk.js +2 -0
  152. package/dist/scripts/B_eK8A25.chunk.js.map +1 -0
  153. package/dist/scripts/BbjveACT.chunk.js +2 -0
  154. package/dist/scripts/BbjveACT.chunk.js.map +1 -0
  155. package/dist/scripts/BdHxGaRy.chunk.js +2 -0
  156. package/dist/scripts/BdHxGaRy.chunk.js.map +1 -0
  157. package/dist/scripts/BeHz9c4V.chunk.js +2 -0
  158. package/dist/scripts/BeHz9c4V.chunk.js.map +1 -0
  159. package/dist/scripts/BexFb8rj.chunk.js +2 -0
  160. package/dist/scripts/BexFb8rj.chunk.js.map +1 -0
  161. package/dist/scripts/Bi8YRFeY.chunk.js +2 -0
  162. package/dist/scripts/Bi8YRFeY.chunk.js.map +1 -0
  163. package/dist/scripts/Bj3i6I7i.chunk.js +2 -0
  164. package/dist/scripts/Bj3i6I7i.chunk.js.map +1 -0
  165. package/dist/scripts/BktU87GA.chunk.js +2 -0
  166. package/dist/scripts/BktU87GA.chunk.js.map +1 -0
  167. package/dist/scripts/Bl1HvG0b.chunk.js +2 -0
  168. package/dist/scripts/Bl1HvG0b.chunk.js.map +1 -0
  169. package/dist/scripts/BnWlQ7-4.chunk.js +2 -0
  170. package/dist/scripts/BnWlQ7-4.chunk.js.map +1 -0
  171. package/dist/scripts/BoqzK1u7.chunk.js +2 -0
  172. package/dist/scripts/BoqzK1u7.chunk.js.map +1 -0
  173. package/dist/scripts/Bsa3zcW0.chunk.js +2 -0
  174. package/dist/scripts/Bsa3zcW0.chunk.js.map +1 -0
  175. package/dist/scripts/Bt3kaRtU.chunk.js +6 -0
  176. package/dist/scripts/Bt3kaRtU.chunk.js.map +1 -0
  177. package/dist/scripts/BtiKTu8r.chunk.js +2 -0
  178. package/dist/scripts/BtiKTu8r.chunk.js.map +1 -0
  179. package/dist/scripts/BwOoIPmc.chunk.js +2 -0
  180. package/dist/scripts/BwOoIPmc.chunk.js.map +1 -0
  181. package/dist/scripts/BwuSNwcs.chunk.js +2 -0
  182. package/dist/scripts/BwuSNwcs.chunk.js.map +1 -0
  183. package/dist/scripts/Byn8R7bs.chunk.js +2 -0
  184. package/dist/scripts/Byn8R7bs.chunk.js.map +1 -0
  185. package/dist/scripts/C2Zu5vKc.chunk.js +2 -0
  186. package/dist/scripts/C2Zu5vKc.chunk.js.map +1 -0
  187. package/dist/scripts/C2uxO8e2.chunk.js +2 -0
  188. package/dist/scripts/C2uxO8e2.chunk.js.map +1 -0
  189. package/dist/scripts/C35NlkUr.chunk.js +2 -0
  190. package/dist/scripts/C35NlkUr.chunk.js.map +1 -0
  191. package/dist/scripts/C5QPXJGU.chunk.js +15 -0
  192. package/dist/scripts/C5QPXJGU.chunk.js.map +1 -0
  193. package/dist/scripts/C6mGMCz4.chunk.js +2 -0
  194. package/dist/scripts/C6mGMCz4.chunk.js.map +1 -0
  195. package/dist/scripts/C8ZuWYfb.chunk.js +2 -0
  196. package/dist/scripts/C8ZuWYfb.chunk.js.map +1 -0
  197. package/dist/scripts/CEmtkty-.chunk.js +2 -0
  198. package/dist/scripts/CEmtkty-.chunk.js.map +1 -0
  199. package/dist/scripts/CICkmQW6.chunk.js +2 -0
  200. package/dist/scripts/CICkmQW6.chunk.js.map +1 -0
  201. package/dist/scripts/CLumRL-T.chunk.js +2 -0
  202. package/dist/scripts/CLumRL-T.chunk.js.map +1 -0
  203. package/dist/scripts/CO_D2O4I.chunk.js +2 -0
  204. package/dist/scripts/CO_D2O4I.chunk.js.map +1 -0
  205. package/dist/scripts/CPXlV0fg.chunk.js +2 -0
  206. package/dist/scripts/CPXlV0fg.chunk.js.map +1 -0
  207. package/dist/scripts/CQZOieOF.chunk.js +2 -0
  208. package/dist/scripts/CQZOieOF.chunk.js.map +1 -0
  209. package/dist/scripts/CQoWqq54.chunk.js +2 -0
  210. package/dist/scripts/CQoWqq54.chunk.js.map +1 -0
  211. package/dist/scripts/CRT9qru0.chunk.js +2 -0
  212. package/dist/scripts/CRT9qru0.chunk.js.map +1 -0
  213. package/dist/scripts/CU6iZ8MR.chunk.js +2 -0
  214. package/dist/scripts/CU6iZ8MR.chunk.js.map +1 -0
  215. package/dist/scripts/CUltMbyK.chunk.js +2 -0
  216. package/dist/scripts/CUltMbyK.chunk.js.map +1 -0
  217. package/dist/scripts/CW7x8M-z.chunk.js +2 -0
  218. package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
  219. package/dist/scripts/CYlwi5iC.chunk.js +7 -0
  220. package/dist/scripts/CYlwi5iC.chunk.js.map +1 -0
  221. package/dist/scripts/CgJckl-g.chunk.js +2 -0
  222. package/dist/scripts/CgJckl-g.chunk.js.map +1 -0
  223. package/dist/scripts/Cj5ETNHP.chunk.js +2 -0
  224. package/dist/scripts/Cj5ETNHP.chunk.js.map +1 -0
  225. package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
  226. package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
  227. package/dist/scripts/Cr8fUgj9.chunk.js +2 -0
  228. package/dist/scripts/Cr8fUgj9.chunk.js.map +1 -0
  229. package/dist/scripts/CtM_cXum.chunk.js +2 -0
  230. package/dist/scripts/CtM_cXum.chunk.js.map +1 -0
  231. package/dist/scripts/Cv1FGdNu.chunk.js +2 -0
  232. package/dist/scripts/Cv1FGdNu.chunk.js.map +1 -0
  233. package/dist/scripts/CvPDjx7y.chunk.js +2 -0
  234. package/dist/scripts/CvPDjx7y.chunk.js.map +1 -0
  235. package/dist/scripts/D0bydDVL.chunk.js +2 -0
  236. package/dist/scripts/D0bydDVL.chunk.js.map +1 -0
  237. package/dist/scripts/D1EE4AEz.chunk.js +356 -0
  238. package/dist/scripts/D1EE4AEz.chunk.js.map +1 -0
  239. package/dist/scripts/D84-WY3k.chunk.js +2 -0
  240. package/dist/scripts/D84-WY3k.chunk.js.map +1 -0
  241. package/dist/scripts/DAh7Ea13.chunk.js +2 -0
  242. package/dist/scripts/DAh7Ea13.chunk.js.map +1 -0
  243. package/dist/scripts/DBIkG3Bu.chunk.js +2 -0
  244. package/dist/scripts/DBIkG3Bu.chunk.js.map +1 -0
  245. package/dist/scripts/DCcI7sWt.chunk.js +2 -0
  246. package/dist/scripts/DCcI7sWt.chunk.js.map +1 -0
  247. package/dist/scripts/DEP24A-f.chunk.js +2 -0
  248. package/dist/scripts/DEP24A-f.chunk.js.map +1 -0
  249. package/dist/scripts/DGFORsAE.chunk.js +2 -0
  250. package/dist/scripts/DGFORsAE.chunk.js.map +1 -0
  251. package/dist/scripts/DGaf-Jy9.chunk.js +2 -0
  252. package/dist/scripts/DGaf-Jy9.chunk.js.map +1 -0
  253. package/dist/scripts/DJyZ6Hx7.chunk.js +2 -0
  254. package/dist/scripts/DJyZ6Hx7.chunk.js.map +1 -0
  255. package/dist/scripts/DOCam-GK.chunk.js +2 -0
  256. package/dist/scripts/DOCam-GK.chunk.js.map +1 -0
  257. package/dist/scripts/DSLX3H2r.chunk.js +2 -0
  258. package/dist/scripts/DSLX3H2r.chunk.js.map +1 -0
  259. package/dist/scripts/DSq4f4jm.chunk.js +2 -0
  260. package/dist/scripts/DSq4f4jm.chunk.js.map +1 -0
  261. package/dist/scripts/DXxBqeLg.chunk.js +2 -0
  262. package/dist/scripts/DXxBqeLg.chunk.js.map +1 -0
  263. package/dist/scripts/DZ6Jrm23.chunk.js +2 -0
  264. package/dist/scripts/DZ6Jrm23.chunk.js.map +1 -0
  265. package/dist/scripts/Daes5Wgy.chunk.js +2 -0
  266. package/dist/scripts/Daes5Wgy.chunk.js.map +1 -0
  267. package/dist/scripts/DeUbJqVo.chunk.js +2 -0
  268. package/dist/scripts/DeUbJqVo.chunk.js.map +1 -0
  269. package/dist/scripts/DgEqkZy0.chunk.js +8 -0
  270. package/dist/scripts/DgEqkZy0.chunk.js.map +1 -0
  271. package/dist/scripts/DhB-Uugx.chunk.js +2 -0
  272. package/dist/scripts/DhB-Uugx.chunk.js.map +1 -0
  273. package/dist/scripts/DhqAA1wT.chunk.js +2 -0
  274. package/dist/scripts/DhqAA1wT.chunk.js.map +1 -0
  275. package/dist/scripts/Di5-l4QJ.chunk.js +2 -0
  276. package/dist/scripts/Di5-l4QJ.chunk.js.map +1 -0
  277. package/dist/scripts/DiQkAtUx.chunk.js +53 -0
  278. package/dist/scripts/DiQkAtUx.chunk.js.map +1 -0
  279. package/dist/scripts/DireiQEp.chunk.js +2 -0
  280. package/dist/scripts/DireiQEp.chunk.js.map +1 -0
  281. package/dist/scripts/Dj66TI5y.chunk.js +2 -0
  282. package/dist/scripts/Dj66TI5y.chunk.js.map +1 -0
  283. package/dist/scripts/DkFkYS-j.chunk.js +2 -0
  284. package/dist/scripts/DkFkYS-j.chunk.js.map +1 -0
  285. package/dist/scripts/Dkq5GtOV.chunk.js +2 -0
  286. package/dist/scripts/Dkq5GtOV.chunk.js.map +1 -0
  287. package/dist/scripts/DmSSmUHZ.chunk.js +2 -0
  288. package/dist/scripts/DmSSmUHZ.chunk.js.map +1 -0
  289. package/dist/scripts/DoQU9vjn.chunk.js +2 -0
  290. package/dist/scripts/DoQU9vjn.chunk.js.map +1 -0
  291. package/dist/scripts/DtHh_hpg.chunk.js +2 -0
  292. package/dist/scripts/DtHh_hpg.chunk.js.map +1 -0
  293. package/dist/scripts/DvDdiDQN.chunk.js +7 -0
  294. package/dist/scripts/DvDdiDQN.chunk.js.map +1 -0
  295. package/dist/scripts/DwhG2uva.chunk.js +2 -0
  296. package/dist/scripts/DwhG2uva.chunk.js.map +1 -0
  297. package/dist/scripts/DxJlWHZr.chunk.js +2 -0
  298. package/dist/scripts/DxJlWHZr.chunk.js.map +1 -0
  299. package/dist/scripts/DxmeZ4C9.chunk.js +2 -0
  300. package/dist/scripts/DxmeZ4C9.chunk.js.map +1 -0
  301. package/dist/scripts/KuveJuNy.chunk.js +2 -0
  302. package/dist/scripts/KuveJuNy.chunk.js.map +1 -0
  303. package/dist/scripts/LKCLmV2A.chunk.js +2 -0
  304. package/dist/scripts/LKCLmV2A.chunk.js.map +1 -0
  305. package/dist/scripts/RnuR8yr3.chunk.js +2 -0
  306. package/dist/scripts/RnuR8yr3.chunk.js.map +1 -0
  307. package/dist/scripts/XxrnElSv.chunk.js +2 -0
  308. package/dist/scripts/XxrnElSv.chunk.js.map +1 -0
  309. package/dist/scripts/YF_QoXEj.chunk.js +3 -0
  310. package/dist/scripts/YF_QoXEj.chunk.js.map +1 -0
  311. package/dist/scripts/Z2sDSVPb.chunk.js +2 -0
  312. package/dist/scripts/Z2sDSVPb.chunk.js.map +1 -0
  313. package/dist/scripts/Zbze2j9b.chunk.js +2 -0
  314. package/dist/scripts/Zbze2j9b.chunk.js.map +1 -0
  315. package/dist/scripts/app-C56EnOMP.js +216 -0
  316. package/dist/scripts/app-C56EnOMP.js.map +1 -0
  317. package/dist/scripts/cvX-F_mx.chunk.js +2 -0
  318. package/dist/scripts/cvX-F_mx.chunk.js.map +1 -0
  319. package/dist/scripts/h34ZSRKe.chunk.js +2 -0
  320. package/dist/scripts/h34ZSRKe.chunk.js.map +1 -0
  321. package/dist/scripts/leubTuJo.chunk.js +2 -0
  322. package/dist/scripts/leubTuJo.chunk.js.map +1 -0
  323. package/dist/scripts/m5XtnRaH.chunk.js +2 -0
  324. package/dist/scripts/m5XtnRaH.chunk.js.map +1 -0
  325. package/dist/scripts/nay4aGaa.chunk.js +2 -0
  326. package/dist/scripts/nay4aGaa.chunk.js.map +1 -0
  327. package/dist/scripts/p61U8kXz.chunk.js +2 -0
  328. package/dist/scripts/p61U8kXz.chunk.js.map +1 -0
  329. package/dist/scripts/pkzD5BEm.chunk.js +2 -0
  330. package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
  331. package/dist/scripts/sc9-PV9Y.chunk.js +2 -0
  332. package/dist/scripts/sc9-PV9Y.chunk.js.map +1 -0
  333. package/dist/scripts/tAsRziXo.chunk.js +8 -0
  334. package/dist/scripts/tAsRziXo.chunk.js.map +1 -0
  335. package/dist/scripts/xrHhD6CF.chunk.js +8 -0
  336. package/dist/scripts/xrHhD6CF.chunk.js.map +1 -0
  337. package/dist/scripts/xxo027lm.chunk.js +2 -0
  338. package/dist/scripts/xxo027lm.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/4772-streamable-learning-f83b838d71.chunk.css +0 -9
  350. package/dist/css/5003-streamable-learning-b38d2ddbbe.chunk.css +0 -98
  351. package/dist/css/5212-streamable-learning-2605302fc2.chunk.css +0 -90
  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-045fbeec6b-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-8170bb766e-streamable-learning.chunk.js +0 -2
  371. package/dist/scripts/1269-8170bb766e-streamable-learning.chunk.js.LICENSE.txt +0 -1
  372. package/dist/scripts/1457-836d537d71-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-98962067f5-streamable-learning.chunk.js +0 -1
  380. package/dist/scripts/2676-2e8a501091-streamable-learning.chunk.js +0 -2
  381. package/dist/scripts/2676-2e8a501091-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-9e2725fd22-streamable-learning.chunk.js +0 -1
  384. package/dist/scripts/3057-58d4e05af1-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-10050fa868-streamable-learning.chunk.js +0 -1
  388. package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +0 -1
  389. package/dist/scripts/3838-d64b6c347a-streamable-learning.chunk.js +0 -1
  390. package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +0 -1
  391. package/dist/scripts/4254-bddb032519-streamable-learning.chunk.js +0 -1
  392. package/dist/scripts/4772-6540b98896-streamable-learning.chunk.js +0 -2
  393. package/dist/scripts/4772-6540b98896-streamable-learning.chunk.js.LICENSE.txt +0 -1
  394. package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +0 -1
  395. package/dist/scripts/5003-b30fdd96e6-streamable-learning.chunk.js +0 -2
  396. package/dist/scripts/5003-b30fdd96e6-streamable-learning.chunk.js.LICENSE.txt +0 -1
  397. package/dist/scripts/5088-2297cf88f0-streamable-learning.chunk.js +0 -1
  398. package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +0 -1
  399. package/dist/scripts/5212-39e4b02cbb-streamable-learning.chunk.js +0 -2
  400. package/dist/scripts/5212-39e4b02cbb-streamable-learning.chunk.js.LICENSE.txt +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-9f5fa3e04b-streamable-learning.chunk.js +0 -1
  404. package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +0 -1
  405. package/dist/scripts/6017-1630c158c2-streamable-learning.chunk.js +0 -2
  406. package/dist/scripts/6017-1630c158c2-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-6d501d1b82-streamable-learning.chunk.js +0 -1
  412. package/dist/scripts/7347-49d1a18d3b-streamable-learning.chunk.js +0 -1
  413. package/dist/scripts/7570-fba1ab7c45-streamable-learning.chunk.js +0 -2
  414. package/dist/scripts/7570-fba1ab7c45-streamable-learning.chunk.js.LICENSE.txt +0 -1
  415. package/dist/scripts/7904-e07cdef2de-streamable-learning.chunk.js +0 -1
  416. package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +0 -1
  417. package/dist/scripts/8058-995937c0ad-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-9c73c4dcb7-streamable-learning.chunk.js +0 -2
  422. package/dist/scripts/8496-9c73c4dcb7-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-709123e64a-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-e6641286fe-streamable-learning.chunk.js +0 -1
  428. package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +0 -1
  429. package/dist/scripts/9766-f64bf6f003-streamable-learning.chunk.js +0 -2
  430. package/dist/scripts/9766-f64bf6f003-streamable-learning.chunk.js.LICENSE.txt +0 -1
  431. package/dist/scripts/9842-dd5d85c9e3-streamable-learning.chunk.js +0 -1
  432. package/dist/scripts/9899-71bc5a6f02-streamable-learning.chunk.js +0 -2
  433. package/dist/scripts/9899-71bc5a6f02-streamable-learning.chunk.js.LICENSE.txt +0 -1
  434. package/dist/scripts/bundle-68f2acccc5.min.js +0 -2
  435. package/dist/scripts/bundle-68f2acccc5.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{ah as n}from"./app-C56EnOMP.js";import{h as s}from"./Cj5ETNHP.chunk.js";function c(t){return t.map(a=>a.statusCode).join(":")}function p(t,a,e){const r=Array.isArray(t)?t:[t];n.useEffect(()=>{r.forEach(o=>{s(o.statusCode,a,e)})},[c(r),a,e])}export{p as u};
2
+ //# sourceMappingURL=BtiKTu8r.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BtiKTu8r.chunk.js","sources":["../../../../libs/shared/src/hooks/UseHandleObjectError.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}"],"names":["generateCacheKey","flightObjs","obj","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","useEffect","handleHttpError"],"mappings":"+EAMA,SAASA,EAAiBC,EAAiD,CACzE,OAAOA,EAAW,IAAIC,GAAOA,EAAI,UAAU,EAAE,KAAK,GAAG,CACvD,CAGO,SAASC,EACdC,EACAC,EACAC,EACM,CACN,MAAML,EAAa,MAAM,QAAQG,CAAW,EAAIA,EAAc,CAACA,CAAW,EAE1EG,EAAAA,UAAU,IAAM,CACdN,EAAW,QAAQC,GAAO,CACxBM,EAAgBN,EAAI,WAAYG,EAAcC,CAAY,CAC5D,CAAC,CACH,EAAG,CAAEN,EAAiBC,CAAU,EAAGI,EAAcC,CAAa,CAAC,CACjE"}
@@ -0,0 +1,2 @@
1
+ import{j as a,b7 as m,ah as y,b3 as b,d as x}from"./app-C56EnOMP.js";import{W as h}from"./BUhbk0mt.chunk.js";import{M as g,s as n}from"./YF_QoXEj.chunk.js";import{R as j}from"./BoqzK1u7.chunk.js";import{I as o,a as r}from"./DJyZ6Hx7.chunk.js";function C(e){return a.jsxs(a.Fragment,{children:[a.jsx(h,{name:e.name,description:e.description}),a.jsx(j,{className:"mb-n2",children:e.content.map(l=>{var i;return a.jsx(m,{className:"position-relative pb-2",xs:12,sm:6,lg:e.hasTableOfContents?6:4,xl:4,children:a.jsx(g,{data:l,getChildAppLink:d=>{var t,c;return(c=(t=e.appLinks)==null?void 0:t.classification)==null?void 0:c.call(t,d)},analyticsData:e.analyticsData,highlightOnHover:(i=e.settings)==null?void 0:i.hasTopicDirectories,isLarge:!0})},l.id)})})]})}const w=()=>{const[e]=y.useState(b.getRandomInt(5)+3+"rem");return a.jsxs("div",{className:`border d-flex position-relative me-2 ${n.widgetItem}`,children:[a.jsx("div",{className:n.imagePanel}),a.jsx("div",{className:"px-2",style:{width:e}}),a.jsx("div",{className:n.partialIcon,children:a.jsx(o,{type:r.Subject})})]})},F=()=>a.jsxs("div",{className:`border d-flex position-relative me-2 ${n.widgetItem}`,children:[a.jsx("div",{className:`${n.partialLargeImage}`}),a.jsx("div",{className:"px-2"}),a.jsx("div",{className:n.partialIcon,children:a.jsx(o,{type:r.Subject,extraClasses:n.partialLargeFallback})})]}),u="_dateItem_1ny8z_1",_="_label_1ny8z_4",v="_body_1ny8z_11",N="_bodyDay_1ny8z_19",f="_bodyRange_1ny8z_22",I="_bodyMonth_1ny8z_25",$="_month_1ny8z_29",s={dateItem:u,label:_,body:v,bodyDay:N,bodyRange:f,bodyMonth:I,month:$};function M(e){var i,d,t;function l(){switch(e.body.type){case"range":return s.bodyRange;case"day":return s.bodyDay;case"month":return s.bodyMonth}}return a.jsx(x,{appLink:(i=e.getAppLink)==null?void 0:i.call(e),className:`text-decoration-none text-center bg-white text-dark border border-3 ${(d=e.theme)==null?void 0:d.border} rounded-3 d-block fw-semibold ${e.className}`,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,children:a.jsxs("div",{className:`position-relative ${s.dateItem}`,children:[a.jsx("div",{className:`${(t=e.theme)==null?void 0:t.background} py-1 ${s.label} d-flex align-items-center justify-content-center`,children:e.label?e.label:a.jsx(a.Fragment,{children:" "})}),a.jsx("div",{className:`${l()} ${s.body} my-2`,children:e.body.text}),a.jsx("div",{className:`mb-0 ${s.month}`,children:e.month})]})})}export{C,M as G,w as P,F as a};
2
+ //# sourceMappingURL=BwOoIPmc.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BwOoIPmc.chunk.js","sources":["../../../../libs/shared/src/components/widgets/curated-widgets/templates/cover-fixed-pill-list-large/CoverFixedPillListLargeWidgetTemplate.tsx","../../../../libs/shared/src/components/widgets/items/subject-widget-item/PartialSubjectWidgetItem.tsx","../../../../libs/shared/src/apps/calendar/components/generic-calendar-date/GenericCalendarDate.tsx"],"sourcesContent":["import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { WidgetHeader } from 'libs/shared/components/widgets/curated-widgets/components/header/WidgetHeader';\nimport { SubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item/SubjectWidgetItem';\nimport { Classification } from 'libs/shared/interfaces';\n\nexport interface CoverFixedPillListLargeWidgetTemplateProps {\n name: string;\n description: string;\n hasTableOfContents: boolean;\n \n analyticsData?: HashObject;\n\n content: Classification[];\n appLinks: {\n classification: (classification: Classification | null) => Core.AppLink;\n };\n settings: {\n hasTopicDirectories: boolean\n }\n}\n\nexport function CoverFixedPillListLargeWidgetTemplate(props: CoverFixedPillListLargeWidgetTemplateProps): JSX.Element {\n return (\n <>\n <WidgetHeader name={props.name} description={props.description} />\n <Row className='mb-n2'>\n {props.content.map(c => {\n return (\n <Col className={`position-relative pb-2`} key={c.id} xs={12} sm={6} lg={props.hasTableOfContents ? 6 : 4} xl={4}>\n <SubjectWidgetItem\n data={c}\n getChildAppLink={(c: Classification) => props.appLinks?.classification?.(c)}\n analyticsData={props.analyticsData}\n highlightOnHover={props.settings?.hasTopicDirectories}\n isLarge\n />\n </Col>\n );\n })}\n </Row>\n </>\n );\n}","import * as React from 'react';\n\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\n\nimport styles from './cover-pill.module.scss';\n\nexport const PartialSubjectWidgetItem = () => {\n const [width] = React.useState(RandomHelper.getRandomInt(5) + 3 + 'rem');\n\n return (\n <div className={`border d-flex position-relative me-2 ${styles.widgetItem}`}>\n <div className={styles.imagePanel} />\n <div className='px-2' style={{ width }} />\n <div className={styles.partialIcon}>\n <ImageFallback type={ImageFallbackType.Subject} />\n </div>\n </div>\n );\n};\n\nexport const PartialLargeSubjectWidgetItem = () => {\n return (\n <div className={`border d-flex position-relative me-2 ${styles.widgetItem}`}>\n <div className={`${styles.partialLargeImage}`} />\n <div className='px-2' />\n <div className={styles.partialIcon}>\n <ImageFallback type={ImageFallbackType.Subject} extraClasses={styles.partialLargeFallback} />\n </div>\n </div>\n );\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { CalendarTheme } from 'libs/shared/apps/calendar/interfaces/CalendarTheme';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './generic-calendar-date.module.scss';\n\nexport interface GenericCalendarDateProps {\n label?: string;\n body: {\n type: 'month' | 'range' | 'day';\n text: string;\n };\n month?: string;\n getAppLink?: () => Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n className?: string;\n theme?: CalendarTheme;\n}\n\nexport function GenericCalendarDate(props: GenericCalendarDateProps): JSX.Element {\n function getBodyClass(): string {\n switch (props.body.type) {\n case 'range':\n return styles.bodyRange;\n case 'day':\n return styles.bodyDay;\n case 'month':\n return styles.bodyMonth;\n }\n }\n\n return (\n <AppLink\n appLink={props.getAppLink?.()}\n className={`text-decoration-none text-center bg-white text-dark border border-3 ${props.theme?.border} rounded-3 d-block fw-semibold ${props.className}`}\n analyticsData={props.analyticsData}\n analyticsOptions={props.analyticsOptions}\n >\n <div className={`position-relative ${styles.dateItem}`}>\n <div className={`${props.theme?.background} py-1 ${styles.label} d-flex align-items-center justify-content-center`}>\n {props.label ? props.label : <>&nbsp;</>}\n </div>\n <div className={`${getBodyClass()} ${styles.body} my-2`}>\n {props.body.text}\n </div>\n <div className={`mb-0 ${styles.month}`}>\n {props.month}\n </div>\n </div>\n </AppLink>\n );\n}"],"names":["CoverFixedPillListLargeWidgetTemplate","props","jsxs","Fragment","jsx","WidgetHeader","Row","c","Col","SubjectWidgetItem","_b","_a","PartialSubjectWidgetItem","width","React.useState","RandomHelper","styles","ImageFallback","ImageFallbackType","PartialLargeSubjectWidgetItem","GenericCalendarDate","getBodyClass","AppLink","_c"],"mappings":"mPA0BO,SAASA,EAAsCC,EAAgE,CACpH,OACEC,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAC,MAACC,GAAa,KAAMJ,EAAM,KAAM,YAAaA,EAAM,YAAa,QAC/DK,EAAA,CAAI,UAAU,QACZ,SAAAL,EAAM,QAAQ,IAAIM,GAAK,OACtB,OACEH,EAAAA,IAACI,EAAA,CAAI,UAAW,yBAAqC,GAAI,GAAI,GAAI,EAAG,GAAIP,EAAM,mBAAqB,EAAI,EAAG,GAAI,EAC5G,SAAAG,EAAAA,IAACK,EAAA,CACC,KAAMF,EACN,gBAAkBA,GAAAA,SAAsB,OAAAG,GAAAC,EAAAV,EAAM,WAAN,YAAAU,EAAgB,iBAAhB,YAAAD,EAAA,KAAAC,EAAiCJ,IACzE,cAAeN,EAAM,cACrB,kBAAkBU,EAAAV,EAAM,WAAN,YAAAU,EAAgB,oBAClC,QAAO,EAAA,CAAA,CACT,EAP6CJ,EAAE,EAQjD,CAEJ,CAAC,CAAA,CACH,CAAA,EACF,CAEJ,CCvCO,MAAMK,EAA2B,IAAM,CAC5C,KAAM,CAACC,CAAK,EAAIC,WAAeC,EAAa,aAAa,CAAC,EAAI,EAAI,KAAK,EAEvE,cACG,MAAA,CAAI,UAAW,wCAAwCC,EAAO,UAAU,GACvE,SAAA,CAAAZ,EAAAA,IAAC,MAAA,CAAI,UAAWY,EAAO,UAAA,CAAY,QAClC,MAAA,CAAI,UAAU,OAAO,MAAO,CAAE,MAAAH,GAAS,EACxCT,EAAAA,IAAC,MAAA,CAAI,UAAWY,EAAO,YACrB,eAACC,EAAA,CAAc,KAAMC,EAAkB,OAAA,CAAS,CAAA,CAClD,CAAA,EACF,CAEJ,EAEaC,EAAgC,WAExC,MAAA,CAAI,UAAW,wCAAwCH,EAAO,UAAU,GACvE,SAAA,CAAAZ,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGY,EAAO,iBAAiB,GAAI,EAC/CZ,EAAAA,IAAC,MAAA,CAAI,UAAU,MAAA,CAAO,EACtBA,EAAAA,IAAC,MAAA,CAAI,UAAWY,EAAO,YACrB,SAAAZ,EAAAA,IAACa,EAAA,CAAc,KAAMC,EAAkB,QAAS,aAAcF,EAAO,qBAAsB,CAAA,CAC7F,CAAA,EACF,gOCJG,SAASI,EAAoBnB,EAA8C,WAChF,SAASoB,GAAuB,CAC9B,OAAQpB,EAAM,KAAK,KAAA,CACjB,IAAK,QACH,OAAOe,EAAO,UAChB,IAAK,MACH,OAAOA,EAAO,QAChB,IAAK,QACH,OAAOA,EAAO,SAAA,CAEpB,CAEA,OACEZ,EAAAA,IAACkB,EAAA,CACC,SAASX,EAAAV,EAAM,aAAN,YAAAU,EAAA,KAAAV,GACT,UAAW,wEAAuES,EAAAT,EAAM,QAAN,YAAAS,EAAa,MAAM,kCAAkCT,EAAM,SAAS,GACtJ,cAAeA,EAAM,cACrB,iBAAkBA,EAAM,iBAExB,gBAAC,MAAA,CAAI,UAAW,qBAAqBe,EAAO,QAAQ,GAClD,SAAA,CAAAZ,EAAAA,IAAC,OAAI,UAAW,IAAGmB,EAAAtB,EAAM,QAAN,YAAAsB,EAAa,UAAU,SAASP,EAAO,KAAK,oDAC5D,WAAM,MAAQf,EAAM,MAAQG,MAAAD,EAAAA,SAAA,CAAE,aAAM,CAAA,CACvC,EACAC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGiB,EAAA,CAAc,IAAIL,EAAO,IAAI,QAC7C,SAAAf,EAAM,KAAK,KACd,EACAG,EAAAA,IAAC,OAAI,UAAW,QAAQY,EAAO,KAAK,GACjC,WAAM,KAAA,CACT,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
@@ -0,0 +1,2 @@
1
+ import{j as n,R as h,au as C,d as $,b6 as P,k as E,i as I,ad as W,c as A,z as T,F as O,T as w,a5 as x,a6 as p,bb as z}from"./app-C56EnOMP.js";const D="_audience_1o527_1",M="_area_1o527_6",R="_code_1o527_11",B="_description_1o527_16",b={audience:D,area:M,code:R,description:B},L=()=>n.jsxs(n.Fragment,{children:[n.jsx("div",{className:`partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ${b.audience}`}),n.jsxs("div",{children:[n.jsx("div",{className:`partial-loading-background mb-1 ${b.area}`}),n.jsxs("div",{className:"mb-2 d-flex",children:[n.jsx("div",{className:`me-1 align-self-start ${b.code}`,children:n.jsx("div",{className:"partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100"})}),n.jsx("div",{className:`partial-loading-background ${b.description}`})]})]})]});function F(){return n.jsxs("div",{children:[n.jsx("div",{className:"mb-3",children:n.jsx(L,{})}),n.jsx("div",{className:"mb-3",children:n.jsx(L,{})}),n.jsx("div",{children:n.jsx(L,{})})]})}var d=(e=>(e.Subject="CurriculumSubject",e.Audience="CurriculumAudience",e.Area="CurriculumArea",e.Leaf="CurriculumLeaf",e))(d||{});const H="_curriculumSubject_snbcs_1",K="_curriculumSet_snbcs_2",q="_areaLeafSet_snbcs_3",U="_leafDescriptionOnly_snbcs_9",G="_tag_snbcs_12",Q="_cover_snbcs_17",V="_selected_snbcs_28",X="_codeAppLink_snbcs_34",u={curriculumSubject:H,curriculumSet:K,areaLeafSet:q,leafDescriptionOnly:U,tag:G,cover:Q,selected:V,codeAppLink:X},_=h.forwardRef((e,t)=>{let c=C("text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold bg-white border",e.faded?"border-secondary text-secondary":"border-dark",e.className);if(e.appLink)return c=C(c,`text-decoration-none ${u.codeAppLink}`),n.jsx($,{appLink:e.appLink,analyticsData:{id:e.id,code:e.code,description:e.description},analyticsOptions:{location:e.locationContext,entity:I.CurriculumCode,actionType:E.Click,descriptor:P.Search},className:c,ref:t,children:e.code});const r=e.as||"div";return n.jsx(r,{className:c,ref:t,children:e.code})}),J="shared.curriculumLinks",Y=A.encloseNamespace(J);function Z(e){var c;const{data:t}=e;return n.jsxs(W,{className:`p-1 pe-2 rounded-pill d-inline-flex align-items-center ${u.tag} ${e.selected?u.selected:""}`,onClick:()=>e.onChangeCurriculum(t.id.toString()),"aria-label":`${Y("ariaFilter")} ${t.name}`,children:[((c=t.cover)==null?void 0:c.url)&&n.jsx("div",{className:`bg-white ${u.cover} rounded-circle border`,children:n.jsx("img",{src:T.createUrl(t.cover.url,{size:O.Small}),alt:t.name,className:"rounded-circle"})}),n.jsx("div",{className:"ms-2",children:t.name})]})}const ee=/(.*)\s\((.*)?\)/i,k="shared.curriculumLinks",ne="text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold";function te(e){var r,l;const t=h.useRef(null);if(h.useEffect(()=>{if(!t.current||!e.trySetMaxCodeWidth)return;const{width:a}=t.current.getBoundingClientRect();e.trySetMaxCodeWidth(a)},[t.current]),!e.code&&!e.description)return n.jsx(n.Fragment,{});if(e.code&&e.description)return n.jsxs("div",{className:"d-flex",children:[n.jsx("div",{className:"me-2 align-self-start",style:{minWidth:e.codeWidth?`${e.codeWidth}px`:"auto"},children:n.jsx(_,{ref:t,id:e.id,code:e.code,description:e.description,appLink:(r=e.getCodeAppLink)==null?void 0:r.call(e,e.code,!0),locationContext:e.locationContext})}),n.jsx("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.description}})]});if(!e.code&&e.uiContainsCodes)return n.jsxs("div",{className:"d-flex",children:[n.jsx("div",{className:"me-2 align-self-start",style:{minWidth:e.codeWidth?`${e.codeWidth}px`:"auto"},children:n.jsx(_,{ref:t,id:e.id,code:A.getPhrase(k,"noCode"),description:e.description,locationContext:e.locationContext,faded:!0})}),n.jsx("p",{className:"m-0 align-self-center",dangerouslySetInnerHTML:{__html:e.description}})]});const c=e.code||e.description;return n.jsxs("div",{className:"d-flex",children:[n.jsx("div",{className:"ms-2 me-1",children:"•"}),n.jsx($,{appLink:(l=e.getCodeAppLink)==null?void 0:l.call(e,c,!1),children:n.jsx("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:c}})})]})}function se(e){const t={};let c=!1;e.linkSet.areasAndLeaves.forEach(a=>{const s=a[d.Area].map(i=>i.name).join(" - ");if(t[s]){a[d.Leaf].forEach(i=>{t[s].find(m=>m.name===i.name)||(t[s].push(i),i.name&&(c=!0))});return}t[s]=a[d.Leaf]});function r(){const a=e.linkSet[d.Audience].name,s=e.linkSet[d.Subject].name,i=a.match(ee);return i?`${i[1]} • ${i[2]} • ${s}`:`${a} • ${s}`}function l(a){const s="mb-2";return!a.name&&!c?s+" ms-4 "+u.leafDescriptionOnly:s}return n.jsxs(n.Fragment,{children:[n.jsx("h3",{className:`${ne} text-white bg-ultramarine fw-normal me-1 mb-2`,children:r()}),n.jsx("div",{className:`me-2 ${u.curriculumSubject}`,children:Object.keys(t).map((a,s)=>n.jsxs("div",{className:u.areaLeafSet,children:[a&&n.jsx("h4",{className:"mb-1 font-size-normal",children:a}),n.jsx("ul",{className:"list-unstyled",children:t[a].map(i=>n.jsx("li",{className:l(i),children:n.jsx(te,{id:i.id,code:i.name,description:i.description,codeWidth:e.codeWidth,trySetMaxCodeWidth:e.trySetMaxCodeWidth,uiContainsCodes:c,getCodeAppLink:e.getCodeAppLink,locationContext:e.locationContext})},i.id))})]},s))})]})}function ie(e){const[t,c]=h.useState(0),r=!e.curriculumLinks.length&&e.mappedCurriculums.length>0;function l(s){c(i=>i>=s?i:s)}const a=h.useMemo(()=>{var i;const s={};return(i=e.curriculumLinks)==null||i.forEach(m=>{let y=null,j=null;const v=[],g=[];if(m.forEach(f=>{switch(f.type){case d.Subject:y=f;break;case d.Audience:j=f;break;case d.Area:v.push(f);break;case d.Leaf:g.push(f);break}}),!y||!j)return;const S=`${y.id}:${j.id}`;if(s[S]){s[S].areasAndLeaves.push({[d.Area]:v,[d.Leaf]:g});return}s[S]={[d.Subject]:y,[d.Audience]:j,areasAndLeaves:[{[d.Area]:v,[d.Leaf]:g}]}}),s},[e.curriculumLinks]);return!e.hasCompleted||e.isFetching?n.jsx(F,{}):r?n.jsxs("div",{children:[n.jsx("div",{className:"mb-3",children:n.jsx(w,{namespace:k,phrase:"currentEmpty"})}),n.jsx("div",{className:"mb-3",children:n.jsx(w,{namespace:k,phrase:"currentEmptyInfo"})}),n.jsx("ul",{className:"list-unstyled mb-n2 d-flex flex-wrap",children:e.mappedCurriculums.map(s=>n.jsx("li",{className:"mb-2 me-2",children:n.jsx(Z,{data:s,onChangeCurriculum:e.onChangeCurriculum,selected:!1})},s.id))})]}):n.jsx("ul",{className:"list-unstyled m-0",children:Object.keys(a).map((s,i)=>n.jsx("li",{className:u.curriculumSet,children:n.jsx(se,{linkSet:a[s],trySetMaxCodeWidth:l,codeWidth:t,getCodeAppLink:e.getCodeAppLink,locationContext:e.locationContext})},`linkset-${i}`))})}const N=z.CLASSIFICATION_COLLECTION,o={allSubjectPreferences:()=>`{gateway}/v1/users/me/classifications/preferences?query=${N}&type=subject`,mySubjectPreferences:()=>`{gateway}/v1/users/me/classifications/following?query=${N}`,followSubjects:()=>"{gateway}/v1/users/me/classifications/following",unfollowSubjects:e=>p.urlBuilder("{gateway}/v1/users/me/classifications/following",{id:e}),allLevelPreferences:()=>"{gateway}/v1/users/me/audiences?type=subject",myLevelPreferences:()=>"{gateway}/v1/users/me/audiences/following",followLevels:()=>"{gateway}/v1/users/me/audiences/following",unfollowLevels:e=>p.urlBuilder("{gateway}/v1/users/me/audiences/following",{id:e}),getCurrentPresentations:e=>`{gateway}/v1/users/me/presentations${e?`?type=${e}`:""}`,getAvailablePresentations:e=>`{gateway}/v1/users/me/presentations/available${e?`?type=${e}`:""}`,setPresentation:e=>`{gateway}/v1/users/me/presentations/${e}`},ce={availablePresentations(e){return{url:o.getAvailablePresentations(e),key:`available:presentations:${e}`,normalizeOptions:{namespace:"presentation"}}},setPresentation(e,t,c,r){return{url:o.setPresentation(e.id),key:`set:${t}:presentation`,type:x.POST,data:{},normalizeOptions:{namespace:"presentation"},invalidationKeys:[`current:presentation:${t.toLocaleLowerCase()}`,"subject:preference:options","my:subject:preferences","level:preference:options","my:level:preferences","classifications","presentation:audiences","widgets:v3","content:update:videos","content:updates"],success:c,error:r}},allSubjectPreferences(){return{url:o.allSubjectPreferences(),key:"subject:preference:options"}},mySubjectPreferences(e){return{url:o.mySubjectPreferences(),key:"my:subject:preferences",normalize:!1,success:e}},followSubjects(e,t,c,r){return{url:o.followSubjects(),key:"follow:subjects",data:e,type:x.POST,success:t,error:c,always:r,invalidationKeys:[...e.map(l=>`classification:${l}`),"my:subject:preferences","classifications","content:updates"]}},unfollowSubjects(e,t,c,r){return{url:o.unfollowSubjects(e),key:"unfollow:subjects",type:x.DELETE,success:t,error:c,always:r,invalidationKeys:[...e.map(l=>`classification:${l}`),"my:subject:preferences","classifications","content:updates"]}},allLevelPreferences(){return{url:o.allLevelPreferences(),key:"level:preference:options",normalize:!1}},myLevelPreferences(e){return{url:o.myLevelPreferences(),key:"my:level:preferences",normalizeOptions:{idAttribute:"masterId"},success:e}},followLevels(e,t,c,r){return{url:o.followLevels(),key:"follow:levels",data:e.map(l=>l.masterId),normalize:!1,updateState:{keys:"my:level:preferences",updateData:l=>{const a=l["my:level:preferences"]??[];return e.forEach(s=>{a.find(i=>i.masterId===s.masterId)||a.push(s)}),{"my:level:preferences":a}}},type:x.POST,success:t,error:c,always:r}},unfollowLevels(e,t,c,r){return{url:o.unfollowLevels(e.map(l=>l.masterId)),key:"unfollow:levels",normalize:!1,updateState:{keys:"my:level:preferences",updateData:l=>{let a=l["my:level:preferences"]??[];return e.forEach(s=>{if(!a.find(m=>m.masterId===s.masterId))return;const i=a.findIndex(m=>m.masterId===s.masterId);a=[...a.slice(0,i),...a.slice(i+1)]}),{"my:level:preferences":a}}},type:x.DELETE,success:t,error:c,always:r}}};export{te as C,ce as P,d as a,ie as b};
2
+ //# sourceMappingURL=BwuSNwcs.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BwuSNwcs.chunk.js","sources":["../../../../libs/shared/src/components/curriculum-links/partial-loading/PartialCurriculumLinks.tsx","../../../../libs/shared/src/enums/CurriculumType.ts","../../../../libs/shared/src/components/curriculum-links/CurriculumCodeTag.tsx","../../../../libs/shared/src/components/curriculum-links/CurriculumLinkItem.tsx","../../../../libs/shared/src/components/curriculum-links/CurriculumLinks.tsx","../../../../libs/shared/src/flight-requests/PreferenceRequests.ts"],"sourcesContent":["import React from 'react';\n\nimport styles from './partial-curriculum-links.module.scss';\n\nconst PartialCurriculumLinkSection = () => (\n <>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block me-1 mb-2 ${styles.audience}`} />\n <div>\n <div className={`partial-loading-background mb-1 ${styles.area}`} />\n\n <div className='mb-2 d-flex'>\n <div className={`me-1 align-self-start ${styles.code}`}>\n <div className={`partial-loading-background rounded-pill py-1 px-2 d-inline-block w-100 h-100`} />\n </div>\n \n <div className={`partial-loading-background ${styles.description}`} />\n </div>\n </div>\n </>\n);\n\nexport function PartialCurriculumLinks(): JSX.Element {\n return (\n <div>\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div className='mb-3'>\n <PartialCurriculumLinkSection />\n </div>\n\n <div>\n <PartialCurriculumLinkSection />\n </div>\n </div>\n );\n}","export enum CurriculumType {\n Subject = 'CurriculumSubject',\n Audience = 'CurriculumAudience',\n Area = 'CurriculumArea',\n Leaf = 'CurriculumLeaf'\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from '../app-link/AppLink';\n\nimport styles from './curriculum-links.module.scss';\n\ninterface CurriculumCodeTagProps {\n id: string;\n code: string;\n description: string;\n locationContext: LocationContext;\n faded?: boolean;\n as?: React.ElementType;\n className?: string;\n appLink?: Core.AppLink;\n}\n\nexport const CurriculumCodeTag = React.forwardRef((props: CurriculumCodeTagProps, ref: React.Ref<HTMLElement>) => {\n let className = classNames(\n 'text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold bg-white border',\n props.faded ? 'border-secondary text-secondary' : 'border-dark',\n props.className\n );\n\n if (props.appLink) {\n className = classNames(className, `text-decoration-none ${styles.codeAppLink}`);\n\n return (\n <AppLink\n appLink={props.appLink}\n analyticsData={{\n id: props.id,\n code: props.code,\n description: props.description\n }}\n analyticsOptions={{\n location: props.locationContext,\n entity: EntityType.CurriculumCode,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.Search\n }}\n className={className}\n ref={ref}\n >\n {props.code}\n </AppLink>\n );\n }\n\n const Component = props.as || 'div';\n\n return (\n <Component className={className} ref={ref}>\n {props.code}\n </Component>\n );\n});","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { Presentation } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport styles from './curriculum-links.module.scss';\n\nconst namespace = 'shared.curriculumLinks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CurriculumLinkItemProps {\n data: Presentation;\n onChangeCurriculum: (id: string) => any;\n selected: boolean;\n}\n\nexport function CurriculumLinkItem(props: CurriculumLinkItemProps): JSX.Element {\n const { data: curriculumTag } = props;\n\n return (\n <DivButton\n className={`p-1 pe-2 rounded-pill d-inline-flex align-items-center ${styles.tag} ${props.selected ? styles.selected : ''}`}\n onClick={() => props.onChangeCurriculum(curriculumTag.id.toString())}\n aria-label={`${getPhrase('ariaFilter')} ${curriculumTag.name}`}\n >\n {curriculumTag.cover?.url && (\n <div className={`bg-white ${styles.cover} rounded-circle border`}>\n <img\n src={ImageHelper.createUrl(curriculumTag.cover.url, { size: ImageSize.Small })}\n alt={curriculumTag.name}\n className='rounded-circle'\n />\n </div>\n )}\n <div className='ms-2'>\n {curriculumTag.name}\n </div>\n </DivButton>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PartialCurriculumLinks } from 'libs/shared/components/curriculum-links/partial-loading/PartialCurriculumLinks';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CurriculumType } from 'libs/shared/enums/CurriculumType';\nimport { Curriculum, Presentation } from 'libs/shared/interfaces';\n\nimport { AppLink } from '../app-link/AppLink';\n\nimport { CurriculumCodeTag } from './CurriculumCodeTag';\nimport { CurriculumLinkItem } from './CurriculumLinkItem';\n\nimport styles from './curriculum-links.module.scss';\n\nconst BRACKET_SEGMENT_REGEX = /(.*)\\s\\((.*)?\\)/i;\n\nconst namespace = 'shared.curriculumLinks';\n\nconst BASE_PILL_CLASS = 'text-nowrap font-size-normal rounded-pill py-1 px-2 my-0 d-inline-block fw-semibold';\n\ninterface CurriculumStructure {\n [CurriculumType.Subject]: Curriculum<CurriculumType.Subject>;\n [CurriculumType.Audience]: Curriculum<CurriculumType.Audience>;\n areasAndLeaves: Array<{\n [CurriculumType.Area]: Curriculum<CurriculumType.Area>[];\n [CurriculumType.Leaf]: Curriculum<CurriculumType.Leaf>[];\n }>;\n}\n\ninterface CurriculumLeafProps {\n id: string;\n code: string;\n description: string;\n locationContext: LocationContext;\n codeWidth?: number;\n trySetMaxCodeWidth?: (width: number) => void;\n uiContainsCodes?: boolean;\n getCodeAppLink?: (query: string, isCode: boolean) => Core.AppLink;\n}\n\nexport function CurriculumLeaf(props: CurriculumLeafProps): JSX.Element {\n const codeRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (!codeRef.current || !props.trySetMaxCodeWidth)\n return;\n\n const { width } = codeRef.current.getBoundingClientRect();\n\n props.trySetMaxCodeWidth(width);\n }, [codeRef.current]);\n\n if (!props.code && !props.description)\n return <></>;\n\n /**\n * The most ideal case (and most common) is that we have both a code\n * and a description to display for it.\n */\n if (props.code && props.description) {\n return (\n <div className='d-flex'>\n <div\n className='me-2 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <CurriculumCodeTag\n ref={codeRef}\n id={props.id}\n code={props.code}\n description={props.description}\n appLink={props.getCodeAppLink?.(props.code, true)}\n locationContext={props.locationContext}\n />\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.description }} />\n </div>\n );\n }\n\n /**\n * If a leaf has no code but the rest of the UI has leaf nodes\n * with codes, we show a special \"No code\" pill. Example: https://imgur.com/3L1Ela3\n */\n if (!props.code && props.uiContainsCodes) {\n return (\n <div className='d-flex'>\n <div\n className='me-2 align-self-start'\n style={{ minWidth: props.codeWidth ? `${props.codeWidth}px` : 'auto' }}\n >\n <CurriculumCodeTag\n ref={codeRef}\n id={props.id}\n code={LanguageService.getPhrase(namespace, 'noCode')}\n description={props.description}\n locationContext={props.locationContext}\n faded\n />\n </div>\n <p className='m-0 align-self-center' dangerouslySetInnerHTML={{ __html: props.description }} />\n </div>\n );\n }\n\n /**\n * In this scenario, either the code or the description fields have been populated with\n * some text. In this case we just render the text like a bullet point.\n */\n const text = props.code || props.description;\n\n return (\n <div className='d-flex'>\n <div className='ms-2 me-1'>&bull;</div>\n <AppLink appLink={props.getCodeAppLink?.(text, false)}>\n <p className='mb-0' dangerouslySetInnerHTML={{ __html: text }} />\n </AppLink>\n </div>\n );\n}\n\ninterface CurriculumSubjectProps {\n linkSet: CurriculumStructure;\n codeWidth: number;\n trySetMaxCodeWidth: React.Dispatch<React.SetStateAction<number>>;\n locationContext: LocationContext;\n getCodeAppLink?: (query: string, isCode: boolean) => Core.AppLink;\n}\n\nfunction CurriculumSubject(props: CurriculumSubjectProps): JSX.Element {\n const areaAndLeafSets: { [areaText: string]: Curriculum<CurriculumType.Leaf>[]; } = {};\n\n let uiContainsCodes = false;\n\n props.linkSet.areasAndLeaves.forEach(areaAndLeafSet => {\n const areaText = areaAndLeafSet[CurriculumType.Area].map(ca => ca.name).join(' - ');\n\n if (areaAndLeafSets[areaText]) {\n areaAndLeafSet[CurriculumType.Leaf].forEach(leaf => {\n if (!areaAndLeafSets[areaText].find(l => l.name === leaf.name)) {\n areaAndLeafSets[areaText].push(leaf);\n\n // We need the info on if _any_ leaf node has a code in it. See why in the comments in `<CurriculumLeaf />`\n if (leaf.name)\n uiContainsCodes = true;\n }\n });\n\n return;\n }\n\n areaAndLeafSets[areaText] = areaAndLeafSet[CurriculumType.Leaf];\n });\n\n function getAudienceText(): string {\n const audienceSegment = props.linkSet[CurriculumType.Audience].name;\n const subjectSegment = props.linkSet[CurriculumType.Subject].name;\n\n /**\n * In some curriculums, such as the UK curriculum, the audience string may contain a year level\n * in brackets. For example, it may be \"Lower Key Stage 2 (Year 4)\".\n * This regex will pull that segment out if it exists.\n */\n const audienceBracketSegments = audienceSegment.match(BRACKET_SEGMENT_REGEX);\n\n if (audienceBracketSegments)\n return `${audienceBracketSegments[1]} • ${audienceBracketSegments[2]} • ${subjectSegment}`;\n\n return `${audienceSegment} • ${subjectSegment}`;\n }\n\n function getLeafStyleClass(leaf: Curriculum<CurriculumType.Leaf>): string {\n const className = 'mb-2';\n\n if (!leaf.name && !uiContainsCodes)\n return className + ' ms-4 ' + styles.leafDescriptionOnly;\n\n return className;\n }\n\n return (\n <>\n <h3 className={`${BASE_PILL_CLASS} text-white bg-ultramarine fw-normal me-1 mb-2`}>\n {getAudienceText()}\n </h3>\n\n <div className={`me-2 ${styles.curriculumSubject}`}>\n {Object.keys(areaAndLeafSets).map((areaText, i) => {\n return (\n <div key={i} className={styles.areaLeafSet} >\n {areaText && <h4 className='mb-1 font-size-normal'>{areaText}</h4>}\n <ul className='list-unstyled'>\n {areaAndLeafSets[areaText].map(leaf => (\n <li key={leaf.id} className={getLeafStyleClass(leaf)}>\n <CurriculumLeaf\n id={leaf.id}\n code={leaf.name}\n description={leaf.description}\n codeWidth={props.codeWidth}\n trySetMaxCodeWidth={props.trySetMaxCodeWidth}\n uiContainsCodes={uiContainsCodes}\n getCodeAppLink={props.getCodeAppLink}\n locationContext={props.locationContext}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n })}\n </div>\n </>\n );\n}\n\ninterface CurriculumLinksSet {\n [subjectAndAudienceIdKey: string]: CurriculumStructure\n}\n\ninterface CurriculumLinksProps {\n curriculumLinks: Curriculum[][];\n mappedCurriculums: Presentation[];\n onChangeCurriculum: (id: string) => void;\n hasCompleted: boolean;\n isFetching: boolean;\n getCodeAppLink?: (query: string, isCode: boolean) => Core.AppLink;\n locationContext: LocationContext;\n}\n\nexport function CurriculumLinks(props: CurriculumLinksProps): JSX.Element {\n const [ codeWidth, setCodeWidth ] = React.useState(0);\n\n const showOtherCurriculums = !props.curriculumLinks.length && props.mappedCurriculums.length > 0;\n\n function trySetMaxCodeWidth(width: number): void {\n /**\n * The width of the curriculum code column should be identical for each leaf node, meaning\n * the leaf description text will be perfectly vertically aligned all the way down.\n * See here for example: https://imgur.com/MbganZf\n * \n * This is achieved by us setting the state for the maximum code width, and forcing all\n * smaller codes to abide by that max width.\n * \n * This value is used in the `<CurriculumLeaf />` component.\n */\n setCodeWidth(currentVal => {\n if (currentVal >= width)\n return currentVal;\n\n return width;\n });\n }\n\n /**\n * Here, we're taking the structure of links from the backend, and restructuring it in a way\n * that resembles the structure of our UI more closely. The general idea is:\n * \n * CurriculumAudience - CurriculumSubject\n * CurriculumAreas\n * CurriculumLeaves\n */\n const curriculumLinkSets = React.useMemo(() => {\n const newSet: CurriculumLinksSet = {};\n\n props.curriculumLinks?.forEach(linkSet => {\n let subject: Curriculum<CurriculumType.Subject> = null;\n let audience: Curriculum<CurriculumType.Audience> = null;\n const areas: Curriculum<CurriculumType.Area>[] = [];\n const leaves: Curriculum<CurriculumType.Leaf>[] = [];\n \n linkSet.forEach(curriculumObj => {\n switch (curriculumObj.type) {\n case CurriculumType.Subject:\n subject = curriculumObj as Curriculum<CurriculumType.Subject>;\n break;\n case CurriculumType.Audience:\n audience = curriculumObj as Curriculum<CurriculumType.Audience>;\n break;\n case CurriculumType.Area:\n areas.push(curriculumObj as Curriculum<CurriculumType.Area>);\n break;\n case CurriculumType.Leaf:\n leaves.push(curriculumObj as Curriculum<CurriculumType.Leaf>);\n break;\n default:\n break;\n }\n });\n\n if (!subject || !audience)\n return;\n \n const key = `${subject.id}:${audience.id}`;\n \n if (newSet[key]) {\n newSet[key].areasAndLeaves.push({\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n });\n \n return;\n }\n \n newSet[key] = {\n [CurriculumType.Subject]: subject,\n [CurriculumType.Audience]: audience,\n areasAndLeaves: [{\n [CurriculumType.Area]: areas,\n [CurriculumType.Leaf]: leaves\n }]\n };\n });\n\n return newSet;\n }, [props.curriculumLinks]);\n\n if (!props.hasCompleted || props.isFetching)\n return <PartialCurriculumLinks />;\n \n if (showOtherCurriculums) {\n return (\n <div>\n <div className='mb-3'>\n <Text namespace={namespace} phrase='currentEmpty' />\n </div>\n <div className='mb-3'>\n <Text namespace={namespace} phrase='currentEmptyInfo' />\n </div>\n <ul className='list-unstyled mb-n2 d-flex flex-wrap'>\n {props.mappedCurriculums.map(curriculum => (\n <li key={curriculum.id} className='mb-2 me-2'>\n <CurriculumLinkItem\n data={curriculum}\n onChangeCurriculum={props.onChangeCurriculum}\n selected={false}\n />\n </li>\n ))}\n </ul>\n </div>\n );\n }\n\n return (\n <ul className='list-unstyled m-0'>\n {Object.keys(curriculumLinkSets).map((linkSetKey, i) => (\n <li key={`linkset-${i}`} className={styles.curriculumSet}>\n <CurriculumSubject\n linkSet={curriculumLinkSets[linkSetKey]}\n trySetMaxCodeWidth={trySetMaxCodeWidth}\n codeWidth={codeWidth}\n getCodeAppLink={props.getCodeAppLink}\n locationContext={props.locationContext}\n />\n </li>\n ))}\n </ul>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { Presentation, PresentationAudience } from 'libs/shared/interfaces';\n\nconst classificationQuery = SharedWithStatements.CLASSIFICATION_COLLECTION;\n\nconst endpoints = {\n // Subjects\n allSubjectPreferences: () => `{gateway}/v1/users/me/classifications/preferences?query=${classificationQuery}&type=subject`,\n mySubjectPreferences: () => `{gateway}/v1/users/me/classifications/following?query=${classificationQuery}`,\n followSubjects: () => '{gateway}/v1/users/me/classifications/following',\n unfollowSubjects: (ids: string[]) => UrlHelper.urlBuilder('{gateway}/v1/users/me/classifications/following', { id: ids }),\n\n // Levels\n allLevelPreferences: () => `{gateway}/v1/users/me/audiences?type=subject`,\n myLevelPreferences: () => `{gateway}/v1/users/me/audiences/following`,\n followLevels: () => `{gateway}/v1/users/me/audiences/following`,\n unfollowLevels: (ids: string[]) => UrlHelper.urlBuilder('{gateway}/v1/users/me/audiences/following', { id: ids }),\n\n getCurrentPresentations: (type?: PresentationType) =>\n `{gateway}/v1/users/me/presentations${type ? `?type=${type}` : ''}`,\n getAvailablePresentations: (type?: PresentationType) =>\n `{gateway}/v1/users/me/presentations/available${type ? `?type=${type}` : ''}`,\n setPresentation: (id: string) => `{gateway}/v1/users/me/presentations/${id}`\n};\n\nexport const PreferenceRequests = {\n /**\n * Presentations\n */\n\n availablePresentations(type?: PresentationType): Flight.Request {\n return {\n url: endpoints.getAvailablePresentations(type),\n key: `available:presentations:${type}`,\n normalizeOptions: {\n namespace: 'presentation'\n }\n };\n },\n\n setPresentation(\n presentation: Presentation,\n type: PresentationType,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: endpoints.setPresentation(presentation.id),\n key: `set:${type}:presentation`,\n type: HttpVerbs.POST,\n data: {},\n normalizeOptions: {\n namespace: 'presentation'\n },\n invalidationKeys: [\n `current:presentation:${type.toLocaleLowerCase()}`,\n 'subject:preference:options',\n 'my:subject:preferences',\n 'level:preference:options',\n 'my:level:preferences',\n 'classifications',\n 'presentation:audiences',\n 'widgets:v3',\n 'content:update:videos',\n 'content:updates'\n ],\n success,\n error\n };\n },\n\n /**\n * Subjects\n */\n allSubjectPreferences(): Flight.Request {\n return {\n url: endpoints.allSubjectPreferences(),\n key: `subject:preference:options`\n };\n },\n\n mySubjectPreferences(success?: (data: any) => void): Flight.Request {\n return {\n url: endpoints.mySubjectPreferences(),\n key: `my:subject:preferences`,\n normalize: false,\n success\n };\n },\n\n followSubjects(\n subjectIds: string[],\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: endpoints.followSubjects(),\n key: `follow:subjects`,\n data: subjectIds,\n type: HttpVerbs.POST,\n success,\n error,\n always,\n invalidationKeys: [ ...subjectIds.map(id => `classification:${id}`), 'my:subject:preferences', 'classifications', 'content:updates' ]\n };\n },\n\n unfollowSubjects(\n subjectIds: string[],\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: endpoints.unfollowSubjects(subjectIds),\n key: `unfollow:subjects`,\n type: HttpVerbs.DELETE,\n success,\n error,\n always,\n invalidationKeys: [ ...subjectIds.map(id => `classification:${id}`), 'my:subject:preferences', 'classifications', 'content:updates' ]\n };\n },\n\n /**\n * Levels\n */\n allLevelPreferences(): Flight.Request {\n return {\n url: endpoints.allLevelPreferences(),\n key: `level:preference:options`,\n normalize: false\n };\n },\n\n myLevelPreferences(success?: (data: any) => void): Flight.Request {\n return {\n url: endpoints.myLevelPreferences(),\n key: `my:level:preferences`,\n normalizeOptions: {\n idAttribute: 'masterId'\n },\n success\n };\n },\n\n followLevels(\n levels: PresentationAudience[],\n success: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: endpoints.followLevels(),\n key: `follow:levels`,\n data: levels.map(l => l.masterId),\n normalize: false,\n // Update the store to immediately reflect changes\n updateState: {\n keys: 'my:level:preferences',\n updateData: storeData => {\n const preferences = storeData['my:level:preferences'] ?? [] as PresentationAudience[];\n\n levels.forEach(newLevel => {\n if (preferences.find((p: PresentationAudience) => p.masterId === newLevel.masterId))\n return;\n\n preferences.push(newLevel);\n });\n\n return {\n 'my:level:preferences': preferences\n };\n }\n },\n type: HttpVerbs.POST,\n success,\n error,\n always\n };\n },\n\n unfollowLevels(\n levels: PresentationAudience[],\n success: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: endpoints.unfollowLevels(levels.map(l => l.masterId)),\n key: `unfollow:levels`,\n normalize: false,\n // Update the store to immediately reflect changes\n updateState: {\n keys: 'my:level:preferences',\n updateData: storeData => {\n let preferences = storeData['my:level:preferences'] ?? [] as PresentationAudience[];\n\n levels.forEach(oldLevel => {\n if (!preferences.find((p: PresentationAudience) => p.masterId === oldLevel.masterId))\n return;\n\n const idxOfValue = preferences.findIndex((p: PresentationAudience) => p.masterId === oldLevel.masterId);\n\n preferences = [ ...preferences.slice(0, idxOfValue), ...preferences.slice(idxOfValue + 1) ];\n });\n\n return {\n 'my:level:preferences': preferences\n };\n }\n },\n type: HttpVerbs.DELETE,\n success,\n error,\n always\n };\n }\n};"],"names":["PartialCurriculumLinkSection","jsxs","Fragment","jsx","styles","PartialCurriculumLinks","CurriculumType","CurriculumCodeTag","React","props","ref","className","classNames","AppLink","EntityType","UserAction","ClickDescriptor","Component","namespace","getPhrase","LanguageService","CurriculumLinkItem","curriculumTag","DivButton","_a","ImageHelper","ImageSize","BRACKET_SEGMENT_REGEX","BASE_PILL_CLASS","CurriculumLeaf","codeRef","width","text","_b","CurriculumSubject","areaAndLeafSets","uiContainsCodes","areaAndLeafSet","areaText","ca","leaf","l","getAudienceText","audienceSegment","subjectSegment","audienceBracketSegments","getLeafStyleClass","i","CurriculumLinks","codeWidth","setCodeWidth","showOtherCurriculums","trySetMaxCodeWidth","currentVal","curriculumLinkSets","newSet","linkSet","subject","audience","areas","leaves","curriculumObj","key","Text","curriculum","linkSetKey","classificationQuery","SharedWithStatements","endpoints","ids","UrlHelper","type","id","PreferenceRequests","presentation","success","error","HttpVerbs","subjectIds","always","levels","storeData","preferences","newLevel","p","oldLevel","idxOfValue"],"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-C56EnOMP.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=Byn8R7bs.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Byn8R7bs.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{j as i,l as r}from"./app-C56EnOMP.js";const a="_circle_15nxd_1",n="_img_15nxd_6",l={circle:a,img:n};t.defaultProps={textVariant:"white"};function t(e){return!e.imageUrl&&!e.svg?i.jsx(i.Fragment,{}):e.imageUrl?i.jsx("div",{className:`${l.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):i.jsx("div",{className:`${l.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:i.jsx(r,{svg:e.svg,size:e.svgSize})})}function s(e){return i.jsx("svg",{...e,children:i.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}export{s as C,t as I};
2
+ //# sourceMappingURL=C2Zu5vKc.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C2Zu5vKc.chunk.js","sources":["../../../../libs/shared/src/components/icon-circle/IconCircle.tsx","../../../../libs/shared/src/images/svg/status/CheckSvg.tsx"],"sourcesContent":["import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n &nbsp;\n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}","import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n"],"names":["IconCircle","props","jsx","Fragment","styles","SvgContainer","CheckSvg"],"mappings":"2GAiBAA,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWC,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAC,EAAAA,SAAA,EAAE,EAEPF,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGE,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOH,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGE,EAAO,MAAM,IAAIH,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACG,EAAA,CAAa,IAAKJ,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ,CCpCO,SAASK,EAASL,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as e,a3 as C,a4 as j,o as S,s as b,v as N,w as A,x as k,c as u,T as v,d as w,e as L,W as P,X as F,z as I,F as R}from"./app-C56EnOMP.js";import{S as _,g as H}from"./DSLX3H2r.chunk.js";import{I as M,a as D}from"./DJyZ6Hx7.chunk.js";import{I as T}from"./DeUbJqVo.chunk.js";import{g as B,B as E}from"./BBnDr_iy.chunk.js";import{h as O}from"./Cj5ETNHP.chunk.js";import{u as U}from"./LKCLmV2A.chunk.js";import{C as $}from"./C6mGMCz4.chunk.js";import{S as q}from"./C8ZuWYfb.chunk.js";import"./C5QPXJGU.chunk.js";import"./B_eK8A25.chunk.js";import"./CEmtkty-.chunk.js";import"./BdHxGaRy.chunk.js";import"./leubTuJo.chunk.js";import"./RnuR8yr3.chunk.js";import"./m5XtnRaH.chunk.js";import"./cvX-F_mx.chunk.js";import"./Daes5Wgy.chunk.js";import"./CU6iZ8MR.chunk.js";import"./CLumRL-T.chunk.js";import"./Di5-l4QJ.chunk.js";const z="_logoContainer_x28hp_1",x={logoContainer:z};function G(){return e.jsx(e.Fragment,{children:[...Array(24)].map((i,r)=>e.jsx("div",{className:"col-12 col-md-6 col-xl-4",children:e.jsxs("div",{className:"d-flex align-items-center border w-100 h-100 rounded-3 overflow-hidden",children:[e.jsx("div",{className:`${x.logoContainer} flex-shrink-0 partial-loading-background`}),e.jsx("p",{className:"partial-loading-background fw-semibold mx-3 mb-0 w-50",children:" "})]})},`partial-loading-${r}`))})}const o="dashboard.contentPartners",h=u.encloseNamespace(o),V=50;function ge(){var m,d;const i=C(),r=j(),n=S(b.streamablePresentation());N(A.getDefaultMetadata({title:h("pageTitle"),description:h("pageDescription"),canonicalLink:q.getCanonicalLink(),allowIndexing:!0,product:k.PRODUCT_NAME}));function l(a){var t;if(n.data)return $.companies({presentation:(t=n.data)==null?void 0:t.id.toString()},a,V)}function c(a){r(l(a))}function f(a,t){if(a===1)return O(t);i.error(u.getPhrase(o,"error"))}const s=U(l,c,f,a=>a.results);return e.jsxs("div",{className:"px-4",children:[e.jsx(_,{active:"partners",appLinks:H()}),e.jsx("h1",{className:"h2 mb-3",children:e.jsx(v,{namespace:o,phrase:"heading"})}),e.jsxs("div",{className:"row g-3",children:[(m=s.items)!=null&&m.length?e.jsx(e.Fragment,{children:(d=s.items)==null?void 0:d.map(a=>{var p,g;const t=B(a.name,E);return e.jsx(w,{appLink:{application:F.DASHBOARD,action:P.Dashboard.COMPANY_DASHBOARD,args:[a.id,L.slugify(a.name)]},className:"col-12 col-md-6 col-xl-4",children:e.jsxs("div",{className:"d-flex align-items-center border w-100 h-100 rounded-3 overflow-hidden",children:[e.jsx("div",{className:`${x.logoContainer} flex-shrink-0 position-relative`,children:a.logo?e.jsx("img",{className:`w-100 ${!((p=a.metadata)!=null&&p.colour)&&t}`,src:I.createUrl(a.logo.url,{size:R.Medium}),alt:a.name,style:{backgroundColor:(g=a.metadata)==null?void 0:g.colour}}):e.jsx(M,{type:D.Subject,extraClasses:"w-100"})}),e.jsx("p",{className:"fw-semibold mx-3 mb-0",children:a.name})]})},a.id)})}):e.jsx(G,{}),(s.hasMore||s.isFetching)&&e.jsx(T,{isFetching:s.isFetching,fetchNext:c,nextCursor:s.nextCursor,fetchOnScroll:!0})]})]})}export{ge as ContentPartnersView};
2
+ //# sourceMappingURL=C2uxO8e2.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C2uxO8e2.chunk.js","sources":["../../src/apps/dashboard/views/content-partners/partial-loading/ContentPartnersPartialLoading.tsx","../../src/apps/dashboard/views/content-partners/ContentPartnersView.tsx"],"sourcesContent":["import React from 'react';\n\nimport styles from '../content-partners.module.scss';\n\nexport function ContentPartnersPartialLoading() {\n return (\n <>\n {[...Array(24)].map((_, index) => (\n <div key={`partial-loading-${index}`} className='col-12 col-md-6 col-xl-4'>\n <div className='d-flex align-items-center border w-100 h-100 rounded-3 overflow-hidden'>\n <div className={`${styles.logoContainer} flex-shrink-0 partial-loading-background`}></div>\n <p className='partial-loading-background fw-semibold mx-3 mb-0 w-50'>&nbsp;</p>\n </div>\n </div>\n ))}\n </>\n );\n}","import React from 'react';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { StreamableHeader } from 'libs/shared/apps/streamable-learning/components/header/StreamableHeader';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Company, Presentation } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { StreamableConstants } from 'shared/constants/StreamableConstants';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { CompanyRequests } from 'shared/flight-requests/CompanyRequests';\nimport { PresentationRequests } from 'shared/flight-requests/PresentationRequests';\nimport { SeoHelper } from 'shared/utils/StreamableSeoHelper';\n\nimport { ContentPartnersPartialLoading } from 'apps/dashboard/views/content-partners/partial-loading/ContentPartnersPartialLoading';\nimport { getStreamableHeaderAppLinks } from 'apps/dashboard/views/dashboard/DiscoverViewUtils';\n\nimport styles from './content-partners.module.scss';\n\nconst namespace = 'dashboard.contentPartners';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst SEARCH_RESULTS_LIMIT = 50;\n\ntype CompanySearchResults = SearchResults<SearchResultsObject<Company>>;\n\nexport function ContentPartnersView() {\n const alerts = useAlerts();\n const fetch = Flight.useGetFetch();\n\n const streamablePresentation = Flight.useBasicFetch<Presentation>(\n PresentationRequests.streamablePresentation()\n );\n\n useSetPageMetadata(PageMetadataHelper.getDefaultMetadata({\n title: getPhrase('pageTitle'),\n description: getPhrase('pageDescription'),\n canonicalLink: SeoHelper.getCanonicalLink(),\n allowIndexing: true,\n product: StreamableConstants.PRODUCT_NAME\n }));\n\n function getSearchRequest(cursor?: string) {\n if (!streamablePresentation.data) return;\n\n return CompanyRequests.companies(\n { presentation: streamablePresentation.data?.id.toString() },\n cursor,\n SEARCH_RESULTS_LIMIT\n );\n }\n\n function fetchNext(cursor?: string) {\n fetch(getSearchRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(LanguageService.getPhrase(namespace, 'error'));\n }\n\n const searchResults = useInfiniteList<SearchResultsObject<Company>, SearchResults>(\n getSearchRequest,\n fetchNext,\n onError,\n (data: CompanySearchResults) => data.results\n );\n\n return (\n <div className='px-4'>\n <StreamableHeader active='partners' appLinks={getStreamableHeaderAppLinks()} />\n\n <h1 className='h2 mb-3'><Text namespace={namespace} phrase='heading' /></h1>\n\n <div className='row g-3'>\n {searchResults.items?.length ? (\n <>\n {searchResults.items?.map((company: Company) => {\n const logoFallbackBgClassName = getBgColorClass(company.name, BG_COLOUR_CLASS_NAMES);\n return (\n <AppLink\n appLink={{\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.COMPANY_DASHBOARD,\n args: [ company.id, TextHelper.slugify(company.name) ]\n }}\n className='col-12 col-md-6 col-xl-4'\n key={company.id}\n >\n <div className='d-flex align-items-center border w-100 h-100 rounded-3 overflow-hidden'>\n <div className={`${styles.logoContainer} flex-shrink-0 position-relative`}>\n {company.logo ? (\n <img\n className={`w-100 ${!company.metadata?.colour && logoFallbackBgClassName}`}\n src={ImageHelper.createUrl(company.logo.url, { size: ImageSize.Medium })}\n alt={company.name}\n style={{\n backgroundColor: company.metadata?.colour\n }}\n />\n ) :\n <ImageFallback\n type={ImageFallbackType.Subject}\n extraClasses='w-100'\n />\n }\n </div>\n <p className='fw-semibold mx-3 mb-0'>{company.name}</p>\n </div>\n </AppLink>\n );\n })}\n </>\n ) : <ContentPartnersPartialLoading />}\n {(searchResults.hasMore || searchResults.isFetching) && (\n <InfiniteScrollFooter\n isFetching={searchResults.isFetching}\n fetchNext={fetchNext}\n nextCursor={searchResults.nextCursor}\n fetchOnScroll\n />\n )}\n </div>\n </div>\n );\n}"],"names":["ContentPartnersPartialLoading","_","index","jsxs","jsx","styles","namespace","getPhrase","LanguageService","SEARCH_RESULTS_LIMIT","ContentPartnersView","alerts","useAlerts","fetch","Flight.useGetFetch","streamablePresentation","Flight.useBasicFetch","PresentationRequests","useSetPageMetadata","PageMetadataHelper","SeoHelper","StreamableConstants","getSearchRequest","cursor","CompanyRequests","_a","fetchNext","onError","pageNumber","httpStatus","handleHttpError","searchResults","useInfiniteList","data","StreamableHeader","getStreamableHeaderAppLinks","Text","Fragment","company","logoFallbackBgClassName","getBgColorClass","BG_COLOUR_CLASS_NAMES","AppLink","AppChannels","Actions","TextHelper","ImageHelper","ImageSize","_b","ImageFallback","ImageFallbackType","InfiniteScrollFooter"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var o={exports:{}},p;function n(){return p||(p=1,(function(t){function r(f){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t.exports.__esModule=!0,t.exports.default=t.exports,r(f)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports})(o)),o.exports}export{n as r};
2
+ //# sourceMappingURL=C35NlkUr.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C35NlkUr.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/typeof.js"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_typeof","o","module"],"mappings":"8DAAA,SAASA,EAAQC,EAAG,CAClB,0BAEA,OAAOC,EAAA,QAAiBF,EAAwB,OAAO,QAArB,YAA2C,OAAO,OAAO,UAA1B,SAAqC,SAAUC,EAAG,CACjH,OAAO,OAAOA,CAClB,EAAM,SAAUA,EAAG,CACf,OAAOA,GAAmB,OAAO,QAArB,YAA+BA,EAAE,cAAgB,QAAUA,IAAM,OAAO,UAAY,SAAW,OAAOA,CACtH,EAAKC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASF,EAAQC,CAAC,CAC5F,CACAC,EAAA,QAAiBF,EAASE,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO","x_google_ignoreList":[0]}
@@ -0,0 +1,15 @@
1
+ import{j as t,d as c,ad as r,l as o,M as d}from"./app-C56EnOMP.js";import{B as m,a as x}from"./B_eK8A25.chunk.js";const u="_pillTabSelector_a6f6x_1",f="_tab_a6f6x_4",p="_minWidth_a6f6x_21",b="_radiusSmall_a6f6x_24",j="_tabLink_a6f6x_35",e={pillTabSelector:u,tab:f,minWidth:p,radiusSmall:b,tabLink:j};function i(n){return t.jsxs(t.Fragment,{children:[!!n.tab.svg&&t.jsx("div",{className:n.tab.name?"pe-1":"",children:t.jsx(o,{svg:n.tab.svg})}),n.tab.name,typeof n.tab.count=="number"&&t.jsx("div",{className:"ps-2",children:t.jsx(m,{type:x.Count,data:n.tab.count})})]})}y.defaultProps={borderRadius:"lg"};function y(n){function s(a){a.active||!a.onSelect||(a.onSelect(),a.analyticsData&&a.analyticsOptions&&d.logUserAction(a.analyticsData,a.analyticsOptions))}return t.jsx("nav",{className:n.className??"",ref:n.containerRef,children:t.jsx("ul",{className:`
2
+ list-unstyled d-inline-block m-0 ${e.pillTabSelector}
3
+ ${n.borderRadius?e.radiusSmall:""}
4
+ ${n.listClassName}
5
+ `,children:n.tabs.map((a,l)=>t.jsx("li",{className:`
6
+ p-0 ${e.tab} ${a.active?"btn btn-dark":"btn btn-outline-dark"}
7
+ ${a.name?e.minWidth:""} ${a.className}
8
+ `,children:a.appLink?t.jsx(c,{appLink:a.appLink,analyticsData:a.analyticsData,analyticsOptions:a.analyticsOptions,className:`
9
+ cursor-pointer d-flex align-items-center justify-content-center
10
+ text-decoration-none text-reset px-2 text-nowrap ${e.tabLink}
11
+ `,children:t.jsx(i,{tab:a})}):t.jsx(r,{className:`
12
+ cursor-pointer d-flex align-items-center justify-content-center
13
+ text-decoration-none text-reset px-2 text-nowrap ${e.tabLink}
14
+ `,onClick:()=>s(a),children:t.jsx(i,{tab:a})})},l))})})}export{y as P};
15
+ //# sourceMappingURL=C5QPXJGU.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C5QPXJGU.chunk.js","sources":["../../../../libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.module.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svg && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svg={props.tab.svg} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svg?: SvgIcon;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n"],"names":["TabContents","props","jsxs","Fragment","jsx","SvgContainer","Badge","BadgeType","PillTabSelector","onSelectTab","tab","AnalyticsHelper","styles","index","AppLink","DivButton"],"mappings":"4SAqBA,SAASA,EAAYC,EAAsC,CACzD,OACEC,EAAAA,KAAAC,WAAA,CACG,SAAA,CAAA,CAAC,CAACF,EAAM,IAAI,KACXG,EAAAA,IAAC,MAAA,CAAI,UAAWH,EAAM,IAAI,KAAO,OAAS,GACxC,SAAAG,EAAAA,IAACC,EAAA,CAAa,IAAKJ,EAAM,IAAI,IAAK,EACpC,EAGDA,EAAM,IAAI,KAEV,OAAQA,EAAM,IAAI,OAAW,UAC5BG,EAAAA,IAAC,OAAI,UAAU,OACb,SAAAA,EAAAA,IAACE,EAAA,CAAM,KAAMC,EAAU,MAAO,KAAMN,EAAM,IAAI,MAAO,CAAA,CACvD,CAAA,EAEJ,CAEJ,CA0BAO,EAAgB,aAAe,CAC7B,aAAc,IAChB,EAEO,SAASA,EAAgBP,EAA0C,CACxE,SAASQ,EAAYC,EAAoB,CACnCA,EAAI,QAAU,CAACA,EAAI,WAGvBA,EAAI,SAAA,EAEAA,EAAI,eAAiBA,EAAI,kBAC3BC,EAAgB,cAAcD,EAAI,cAAeA,EAAI,gBAAgB,EACzE,CAEA,OACEN,EAAAA,IAAC,MAAA,CAAI,UAAWH,EAAM,WAAa,GAAI,IAAKA,EAAM,aAChD,SAAAG,EAAAA,IAAC,KAAA,CAAG,UAAW;AAAA,2CACsBQ,EAAO,eAAe;AAAA,UACvDX,EAAM,aAAeW,EAAO,YAAc,EAAE;AAAA,UAC5CX,EAAM,aAAa;AAAA,QAEpB,SAAAA,EAAM,KAAK,IAAI,CAACS,EAAKG,IAElBT,EAAAA,IAAC,KAAA,CACC,UAAW;AAAA,sBACHQ,EAAO,GAAG,IAAIF,EAAI,OAAS,eAAiB,sBAAsB;AAAA,kBACtEA,EAAI,KAAOE,EAAO,SAAW,EAAE,IAAIF,EAAI,SAAS;AAAA,gBAInD,WAAI,QACHN,EAAAA,IAACU,EAAA,CACC,QAASJ,EAAI,QACb,cAAeA,EAAI,cACnB,iBAAkBA,EAAI,iBACtB,UAAW;AAAA;AAAA,uEAE0CE,EAAO,OAAO;AAAA,oBAGnE,SAAAR,EAAAA,IAACJ,GAAY,IAAAU,CAAA,CAAU,CAAA,CAAA,EAGzBN,EAAAA,IAACW,EAAA,CACC,UAAW;AAAA;AAAA,uEAE0CH,EAAO,OAAO;AAAA,oBAEnE,QAAS,IAAMH,EAAYC,CAAG,EAE9B,SAAAN,EAAAA,IAACJ,GAAY,IAAAU,CAAA,CAAU,CAAA,CAAA,CACzB,EAvBGG,CAAA,CA2BV,EACH,EACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{a5 as o,a6 as s}from"./app-C56EnOMP.js";const p={company(e,a){return{url:s.urlBuilder(`{gateway}/v1/objects/${e}`,a),publicUrl:s.urlBuilder(`/api/objects/${e}`,a),key:`company:${e}`}},companies(e={},a,r){const t=`search:v4:streamable:company:${a}:${r}`,c={query:"",searchType:"content",indices:[{index:"company",filters:e}],allowSubstitute:!1,cursor:a??void 0,limit:r,sorts:{name:"asc"}};return{url:"{gateway}/v4/search",publicUrl:"/api/search/v4",type:o.POST,data:c,key:t}}};export{p as C};
2
+ //# sourceMappingURL=C6mGMCz4.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C6mGMCz4.chunk.js","sources":["../../src/shared/flight-requests/CompanyRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nexport const CompanyRequests = {\n company(id: string, params?: HashObject): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/objects/${id}`, params),\n key: `company:${id}`\n };\n },\n \n companies(\n filters: HashObject = {},\n cursor?: string,\n limit?: number\n ): Flight.PublicRequest {\n const key = `search:v4:streamable:company:${cursor}:${limit}`;\n\n const indices = [{ index: 'company', filters }];\n\n const data = {\n query: '',\n searchType: 'content',\n indices,\n allowSubstitute: false,\n cursor: cursor ?? undefined,\n limit,\n sorts: {\n name: 'asc'\n }\n };\n\n return {\n url: '{gateway}/v4/search',\n publicUrl: '/api/search/v4',\n type: HttpVerbs.POST,\n data,\n key\n };\n }\n};"],"names":["CompanyRequests","id","params","UrlHelper","filters","cursor","limit","key","data","HttpVerbs"],"mappings":"+CAKO,MAAMA,EAAkB,CAC7B,QAAQC,EAAYC,EAA2C,CAC7D,MAAO,CACL,IAAKC,EAAU,WAAW,wBAAwBF,CAAE,GAAIC,CAAM,EAC9D,UAAWC,EAAU,WAAW,gBAAgBF,CAAE,GAAIC,CAAM,EAC5D,IAAK,WAAWD,CAAE,EAAA,CAEtB,EAEA,UACEG,EAAsB,GACtBC,EACAC,EACsB,CACtB,MAAMC,EAAM,gCAAgCF,CAAM,IAAIC,CAAK,GAIrDE,EAAO,CACX,MAAO,GACP,WAAY,UACZ,QALc,CAAC,CAAE,MAAO,UAAW,QAAAJ,EAAS,EAM5C,gBAAiB,GACjB,OAAQC,GAAU,OAClB,MAAAC,EACA,MAAO,CACL,KAAM,KAAA,CACR,EAGF,MAAO,CACL,IAAK,sBACL,UAAW,iBACX,KAAMG,EAAU,KAChB,KAAAD,EACA,IAAAD,CAAA,CAEJ,CACF"}
@@ -0,0 +1,2 @@
1
+ import{n as c,a6 as f,aK as u}from"./app-C56EnOMP.js";function o(e,n){if(!(n!=null&&n.length)||typeof e=="string"||!e)return{};const i=n.reduce((t,r)=>({...t,[r]:!0}),{});return Object.keys(e).reduce((t,r)=>(r in i&&(t[r]=e[r]),t),{})}const a={isBot(){if(!window.URLSearchParams)return!1;const e=new URLSearchParams(window.location.search);return(e==null?void 0:e.get("isBot"))==="true"},getCanonicalLink(e={}){const n=u.GetCurrentOrigin(),i=(e==null?void 0:e.customAppLink)||c.getCurrentAppLink(),t=o(i.params,e.allowedParams);let r=c.getHref({...i,params:t});return typeof e.hrefTransformer=="function"&&(r=e.hrefTransformer(r)),f.safeUrlConcat(n,r)}};export{a as S};
2
+ //# sourceMappingURL=C8ZuWYfb.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C8ZuWYfb.chunk.js","sources":["../../src/shared/utils/StreamableSeoHelper.ts"],"sourcesContent":["import { AppLinkHelper } from 'libs/common/backbone/core';\nimport { LocationUtils } from 'libs/common/backbone/core/LocationUtils';\nimport { Core } from 'libs/common/backbone/index';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface CanonicalLinkOption<T> {\n customAppLink?: Core.AppLink;\n hrefTransformer?: (href: string) => string;\n allowedParams?: T[];\n}\n\nfunction getAllowedParams<T extends string>(params: HashObject | string, allowedParams: T[]) {\n if (!allowedParams?.length || typeof params === 'string' || !params)\n return {};\n\n const allowedKeys = allowedParams.reduce((acc: HashObject, key) =>\n ({ ...acc, [key]: true }), {});\n\n return Object.keys(params).reduce((acc: HashObject, key) => {\n if (key in allowedKeys) {\n acc[key] = params[key];\n }\n return acc;\n }, {});\n}\n\nexport const SeoHelper = {\n isBot(): boolean {\n if (!window.URLSearchParams)\n return false;\n\n const queryParams = new URLSearchParams(window.location.search);\n\n return queryParams?.get('isBot') === 'true';\n },\n\n getCanonicalLink<T extends string>(options: CanonicalLinkOption<T> = {}): string {\n const origin = LocationUtils.GetCurrentOrigin();\n const appLink = options?.customAppLink || AppLinkHelper.getCurrentAppLink();\n\n const params = getAllowedParams<T>(appLink.params, options.allowedParams);\n\n let href = AppLinkHelper.getHref({ ...appLink, params });\n\n if (typeof options.hrefTransformer === 'function')\n href = options.hrefTransformer(href);\n\n return UrlHelper.safeUrlConcat(origin, href);\n }\n};"],"names":["getAllowedParams","params","allowedParams","allowedKeys","acc","key","SeoHelper","queryParams","options","origin","LocationUtils","appLink","AppLinkHelper","href","UrlHelper"],"mappings":"sDAYA,SAASA,EAAmCC,EAA6BC,EAAoB,CAC3F,GAAI,EAACA,GAAA,MAAAA,EAAe,SAAU,OAAOD,GAAW,UAAY,CAACA,EAC3D,MAAO,CAAA,EAET,MAAME,EAAcD,EAAc,OAAO,CAACE,EAAiBC,KACxD,CAAE,GAAGD,EAAK,CAACC,CAAG,EAAG,EAAA,GAAS,CAAA,CAAE,EAE/B,OAAO,OAAO,KAAKJ,CAAM,EAAE,OAAO,CAACG,EAAiBC,KAC9CA,KAAOF,IACTC,EAAIC,CAAG,EAAIJ,EAAOI,CAAG,GAEhBD,GACN,CAAA,CAAE,CACP,CAEO,MAAME,EAAY,CACvB,OAAiB,CACf,GAAI,CAAC,OAAO,gBACV,MAAO,GAET,MAAMC,EAAc,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAE9D,OAAOA,GAAA,YAAAA,EAAa,IAAI,YAAa,MACvC,EAEA,iBAAmCC,EAAkC,GAAY,CAC/E,MAAMC,EAASC,EAAc,iBAAA,EACvBC,GAAUH,GAAA,YAAAA,EAAS,gBAAiBI,EAAc,kBAAA,EAElDX,EAASD,EAAoBW,EAAQ,OAAQH,EAAQ,aAAa,EAExE,IAAIK,EAAOD,EAAc,QAAQ,CAAE,GAAGD,EAAS,OAAAV,EAAQ,EAEvD,OAAI,OAAOO,EAAQ,iBAAoB,aACrCK,EAAOL,EAAQ,gBAAgBK,CAAI,GAE9BC,EAAU,cAAcL,EAAQI,CAAI,CAC7C,CACF"}
@@ -0,0 +1,2 @@
1
+ var d=(e=>(e[e.Draft=0]="Draft",e[e.Published=1]="Published",e[e.Archived=2]="Archived",e[e.Pending=3]="Pending",e[e.Rejected=4]="Rejected",e[e.Processing=5]="Processing",e))(d||{}),c=(e=>(e.Draft="Draft",e.Published="Published",e.Archived="Archived",e.Pending="Pending",e.Rejected="Rejected",e.Processing="Processing",e))(c||{});export{c as C,d as a};
2
+ //# sourceMappingURL=CEmtkty-.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CEmtkty-.chunk.js","sources":["../../../../libs/shared/src/enums/CurationStatus.ts"],"sourcesContent":["/**\n * This enum maps directly to the CurationStatus enum in the \n * NuGet package ClickView.Models from master.\n */\nexport enum CurationStatus {\n Draft = 0,\n Published = 1,\n Archived = 2,\n Pending = 3,\n Rejected = 4,\n Processing = 5\n}\n\nexport enum CurationStatusString {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived',\n Pending = 'Pending',\n Rejected = 'Rejected',\n Processing = 'Processing'\n}"],"names":["CurationStatus","CurationStatusString"],"mappings":"AAIO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QACAA,EAAAA,EAAA,UAAY,CAAA,EAAZ,YACAA,EAAAA,EAAA,SAAW,CAAA,EAAX,WACAA,EAAAA,EAAA,QAAU,CAAA,EAAV,UACAA,EAAAA,EAAA,SAAW,CAAA,EAAX,WACAA,EAAAA,EAAA,WAAa,CAAA,EAAb,aANUA,IAAAA,GAAA,CAAA,CAAA,EASAC,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,UAAY,YACZA,EAAA,SAAW,WACXA,EAAA,QAAU,UACVA,EAAA,SAAW,WACXA,EAAA,WAAa,aANHA,IAAAA,GAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{a}from"./DvDdiDQN.chunk.js";import{B as r,S as n,a as o,U as l,A as h,b as u}from"./app-C56EnOMP.js";const p="braze:new:iam";class m extends r{get name(){return n.BrazeClient}get channelName(){return o.BRAZE}get clientInstance(){if(this.ready)return this.brazeClient}constructor(t){super(t)}initialize(){var t,e;(t=this.options.eventOptions)!=null&&t.logUtmParameters&&(this.utmParameters=l.getUtmParameters()),(e=this.options.eventOptions)!=null&&e.logAttributionData&&(this.attributionData=h.getDecodedAttributionData()),this.setup()}get isReady(){return this.ready&&this.options.client.shouldInitialize}setup(){var e;const{context:t}=this.options;if(this.iamQueue=[],this.brazeClient=new a.BrazeClient({apiOptions:this.getInstanceOptions(),allowAnonymous:!1,shouldInitialize:this.options.client.shouldInitialize,subscriptions:{subscribeToInAppMessage:i=>this.subscribeToInAppMessage(i)}}),t.user.isAuthenticated&&this.options.client.shouldInitialize){const i=this.getBrazeUser(t.user);(e=this.options.geoLocation)!=null&&e.countryCode&&(i.country=this.options.geoLocation.countryCode),this.setUser(i)}this.ready=!0}setUser(t){this.brazeClient.setUser(t)}setUserInit(t){this.brazeClient.setUserInit(t)}getBrazeUser(t){return{email:t.email,firstName:t.givenName,lastName:t.familyName,custom:{masterId:t.id,source:u.BRAZE_CLIENT_SOURCE}}}getInstanceOptions(){return{productName:this.options.client.productName,productVersion:this.options.client.version,apiKey:this.options.client.apiKey,baseUrl:this.options.client.baseUrl,enableLogging:!1,automaticallyShowInAppMessages:!1,allowUserSuppliedJavascript:!0}}subscribeToInAppMessage(t){var i,s;if(!((s=(i=this.options)==null?void 0:i.subscriptions)!=null&&s.inAppMessage)||t.isControl)return;const e=this.getChannel();this.iamQueue.push(t),e.trigger(p)}async getContentCards(){var t;return await((t=this.brazeClient.card)==null?void 0:t.getContentCards())}logContentCardDismissal(t){var e;return(e=this.brazeClient.card)==null?void 0:e.logDismissal(t)}logContentCardClick(t){var e;return(e=this.brazeClient.card)==null?void 0:e.logClick(t)}logContentCardImpressions(t){var e;return(e=this.brazeClient.card)==null?void 0:e.logImpressions(t)}logFormEvent(t){const e=this.hydrateAdditionalData(t);this.brazeClient.event.logForm(e)}logAnalyticsEvent(t){const e=this.hydrateAdditionalData(t);this.brazeClient.event.logAnalytics(e)}logEvent(t){const e=this.hydrateAdditionalData(t);return this.brazeClient.event.log(e)}showInAppMessage(t,e,i){return this.brazeClient.bam.show(t,e,i)}handleInAppMessages(t){if(this.iamQueue.length)for(;this.iamQueue.length;){const e=this.iamQueue.pop();if(!e)return;t(e)}}hydrateAdditionalData(t){var i,s;const e=t.additionalData||{};return this.utmParameters&&(e.utms=this.utmParameters),(i=this.attributionData)!=null&&i.originalReferrer&&(e.original_referrer=this.attributionData.originalReferrer),(s=this.attributionData)!=null&&s.internalReferrer&&(e.internal_referrer=this.attributionData.internalReferrer),{...t,additionalData:e}}}export{m as BrazeClientService,p as BrazeNewIamEvent};
2
+ //# sourceMappingURL=CICkmQW6.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CICkmQW6.chunk.js","sources":["../../../../libs/shared/src/services/BrazeClientService.ts"],"sourcesContent":["import type { AnalyticsEventType, BrazeClientOptions, BrazeUser, CaptionedImageCard, Card, ControlMessage, EventType, FormEventType, InAppMessage, LogEventOptions } from '@clickview/braze-client';\nimport { BrazeClient } from '@clickview/braze-client';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsClientOptions } from 'libs/analytics/clients/BaseAnalyticsClient';\nimport { AttributionData, UtmParameters } from 'libs/analytics/models/CollectionEvent';\nimport { AttributionHelper } from 'libs/analytics/utils/AttributionHelper';\nimport { UtmHelper } from 'libs/analytics/utils/UtmHelper';\n\nimport { SharedServiceChannels } from 'libs/shared/constants/RadioChannels';\nimport { SharedServices } from 'libs/shared/constants/SharedServices';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { HandleIamCallback } from 'libs/shared/interfaces/braze/BrazeIam';\nimport { GeoLocation } from 'libs/shared/interfaces/responses/GeoLocation';\nimport { SharedBrazeHelper } from 'libs/shared/utils/SharedBrazeHelper';\n\nexport interface BrazeClientServiceOptions extends AnalyticsClientOptions {\n client: {\n productName: string;\n version: string;\n apiKey: string;\n baseUrl: string;\n geoLocation: GeoLocation;\n shouldInitialize: boolean;\n },\n subscriptions?: {\n inAppMessage?: boolean;\n contentCards?: boolean;\n }\n context: {\n user: CurrentUser;\n };\n eventOptions?: {\n logUtmParameters?: boolean;\n logAttributionData?: boolean;\n },\n}\n\nexport const BrazeNewIamEvent = 'braze:new:iam';\n\nexport class BrazeClientService extends Core.Service {\n private brazeClient: BrazeClient;\n \n private iamQueue: InAppMessage[];\n private utmParameters?: UtmParameters;\n private attributionData?: AttributionData;\n\n declare protected options: BrazeClientServiceOptions;\n protected ready: boolean;\n\n // @ts-ignore\n public get name(): string {\n return SharedServices.BrazeClient;\n }\n\n // @ts-ignore\n public get channelName(): string {\n return SharedServiceChannels.BRAZE;\n }\n\n public get clientInstance(): BrazeClient {\n if (!this.ready) return;\n\n return this.brazeClient;\n }\n\n constructor(options: BrazeClientServiceOptions) {\n super(options);\n }\n\n public initialize(): void {\n if (this.options.eventOptions?.logUtmParameters) {\n this.utmParameters = UtmHelper.getUtmParameters();\n }\n\n if (this.options.eventOptions?.logAttributionData) {\n this.attributionData = AttributionHelper.getDecodedAttributionData();\n }\n\n this.setup();\n }\n\n public get isReady() {\n return this.ready && this.options.client.shouldInitialize;\n }\n\n public setup() {\n const { context } = this.options;\n\n this.iamQueue = [];\n\n this.brazeClient = new BrazeClient({\n apiOptions: this.getInstanceOptions(),\n allowAnonymous: false,\n shouldInitialize: this.options.client.shouldInitialize,\n subscriptions: {\n subscribeToInAppMessage: iam => this.subscribeToInAppMessage(iam)\n }\n });\n\n if (context.user.isAuthenticated && this.options.client.shouldInitialize) {\n const brazeUser: BrazeUser = this.getBrazeUser(context.user);\n \n if (this.options.geoLocation?.countryCode) {\n brazeUser.country = this.options.geoLocation.countryCode;\n }\n\n this.setUser(brazeUser);\n }\n\n this.ready = true;\n }\n\n public setUser(user: BrazeUser) {\n this.brazeClient.setUser(user);\n }\n\n public setUserInit(user: BrazeUser) {\n this.brazeClient.setUserInit(user);\n }\n\n private getBrazeUser(currentUser: CurrentUser): BrazeUser {\n return {\n email: currentUser.email,\n firstName: currentUser.givenName,\n lastName: currentUser.familyName,\n custom: {\n masterId: currentUser.id,\n source: SharedBrazeHelper.BRAZE_CLIENT_SOURCE\n }\n };\n }\n\n private getInstanceOptions(): BrazeClientOptions {\n return {\n productName: this.options.client.productName,\n productVersion: this.options.client.version,\n apiKey: this.options.client.apiKey,\n baseUrl: this.options.client.baseUrl,\n enableLogging: false,\n automaticallyShowInAppMessages: false,\n allowUserSuppliedJavascript: true\n };\n }\n\n private subscribeToInAppMessage(iam: InAppMessage | ControlMessage) {\n if (!this.options?.subscriptions?.inAppMessage || iam.isControl) return;\n \n const channel = this.getChannel();\n this.iamQueue.push(iam as InAppMessage);\n channel.trigger(BrazeNewIamEvent);\n }\n\n public async getContentCards(): Promise<CaptionedImageCard[]> {\n return await this.brazeClient.card?.getContentCards() as CaptionedImageCard[];\n }\n\n public logContentCardDismissal(card: Card): void {\n return this.brazeClient.card?.logDismissal(card);\n }\n\n public logContentCardClick(card: Card): void {\n return this.brazeClient.card?.logClick(card);\n }\n\n public logContentCardImpressions(cards: Card[]): void {\n return this.brazeClient.card?.logImpressions(cards);\n }\n\n public logFormEvent(event: LogEventOptions<FormEventType>) {\n const hydratedEvent = this.hydrateAdditionalData(event);\n \n this.brazeClient.event.logForm(hydratedEvent);\n }\n\n public logAnalyticsEvent(event: LogEventOptions<AnalyticsEventType>) {\n const hydratedEvent = this.hydrateAdditionalData(event);\n\n this.brazeClient.event.logAnalytics(hydratedEvent);\n }\n\n public logEvent(event: LogEventOptions): void {\n const hydratedEvent = this.hydrateAdditionalData(event);\n\n return this.brazeClient.event.log(hydratedEvent);\n }\n\n public showInAppMessage(\n inAppMessage: InAppMessage | ControlMessage,\n parentNode?: Element | null,\n onDisplayCallback?: undefined | (() => void)\n ) {\n return this.brazeClient.bam.show(inAppMessage, parentNode, onDisplayCallback);\n }\n\n public handleInAppMessages(callback: HandleIamCallback) {\n if (!this.iamQueue.length) return;\n\n while (this.iamQueue.length) {\n const currIam = this.iamQueue.pop();\n \n if (!currIam) return;\n\n callback(currIam);\n }\n }\n\n private hydrateAdditionalData<T = EventType>(event: LogEventOptions<T>): LogEventOptions<T> {\n const additionalData: HashObject<any> = event.additionalData || {};\n if (this.utmParameters) {\n additionalData['utms'] = this.utmParameters;\n }\n\n if (this.attributionData?.originalReferrer) {\n additionalData['original_referrer'] = this.attributionData.originalReferrer;\n }\n\n if (this.attributionData?.internalReferrer) {\n additionalData['internal_referrer'] = this.attributionData.internalReferrer;\n }\n \n return {\n ...event,\n additionalData\n };\n }\n}"],"names":["BrazeNewIamEvent","BrazeClientService","Core.Service","SharedServices","SharedServiceChannels","options","_a","UtmHelper","_b","AttributionHelper","context","BrazeClient","iam","brazeUser","user","currentUser","SharedBrazeHelper","channel","card","cards","event","hydratedEvent","inAppMessage","parentNode","onDisplayCallback","callback","currIam","additionalData"],"mappings":"4GAwCO,MAAMA,EAAmB,gBAEzB,MAAMC,UAA2BC,CAAa,CAWnD,IAAW,MAAe,CACxB,OAAOC,EAAe,WACxB,CAGA,IAAW,aAAsB,CAC/B,OAAOC,EAAsB,KAC/B,CAEA,IAAW,gBAA8B,CACvC,GAAK,KAAK,MAEV,OAAO,KAAK,WACd,CAEA,YAAYC,EAAoC,CAC9C,MAAMA,CAAO,CACf,CAEO,YAAmB,UACpBC,EAAA,KAAK,QAAQ,eAAb,MAAAA,EAA2B,mBAC7B,KAAK,cAAgBC,EAAU,iBAAA,IAG7BC,EAAA,KAAK,QAAQ,eAAb,MAAAA,EAA2B,qBAC7B,KAAK,gBAAkBC,EAAkB,0BAAA,GAG3C,KAAK,MAAA,CACP,CAEA,IAAW,SAAU,CACnB,OAAO,KAAK,OAAS,KAAK,QAAQ,OAAO,gBAC3C,CAEO,OAAQ,OACb,KAAM,CAAE,QAAAC,GAAY,KAAK,QAazB,GAXA,KAAK,SAAW,CAAA,EAEhB,KAAK,YAAc,IAAIC,cAAY,CACjC,WAAY,KAAK,mBAAA,EACjB,eAAgB,GAChB,iBAAkB,KAAK,QAAQ,OAAO,iBACtC,cAAe,CACb,wBAAyBC,GAAO,KAAK,wBAAwBA,CAAG,CAAA,CAClE,CACD,EAEGF,EAAQ,KAAK,iBAAmB,KAAK,QAAQ,OAAO,iBAAkB,CACxE,MAAMG,EAAuB,KAAK,aAAaH,EAAQ,IAAI,GAEvDJ,EAAA,KAAK,QAAQ,cAAb,MAAAA,EAA0B,cAC5BO,EAAU,QAAU,KAAK,QAAQ,YAAY,aAG/C,KAAK,QAAQA,CAAS,CACxB,CAEA,KAAK,MAAQ,EACf,CAEO,QAAQC,EAAiB,CAC9B,KAAK,YAAY,QAAQA,CAAI,CAC/B,CAEO,YAAYA,EAAiB,CAClC,KAAK,YAAY,YAAYA,CAAI,CACnC,CAEQ,aAAaC,EAAqC,CACxD,MAAO,CACL,MAAOA,EAAY,MACnB,UAAWA,EAAY,UACvB,SAAUA,EAAY,WACtB,OAAQ,CACN,SAAUA,EAAY,GACtB,OAAQC,EAAkB,mBAAA,CAC5B,CAEJ,CAEQ,oBAAyC,CAC/C,MAAO,CACL,YAAa,KAAK,QAAQ,OAAO,YACjC,eAAgB,KAAK,QAAQ,OAAO,QACpC,OAAQ,KAAK,QAAQ,OAAO,OAC5B,QAAS,KAAK,QAAQ,OAAO,QAC7B,cAAe,GACf,+BAAgC,GAChC,4BAA6B,EAAA,CAEjC,CAEQ,wBAAwBJ,EAAoC,SAClE,GAAI,GAACJ,GAAAF,EAAA,KAAK,UAAL,YAAAA,EAAc,gBAAd,MAAAE,EAA6B,eAAgBI,EAAI,UAAW,OAEjE,MAAMK,EAAU,KAAK,WAAA,EACrB,KAAK,SAAS,KAAKL,CAAmB,EACtCK,EAAQ,QAAQjB,CAAgB,CAClC,CAEA,MAAa,iBAAiD,OAC5D,OAAO,OAAMM,EAAA,KAAK,YAAY,OAAjB,YAAAA,EAAuB,kBACtC,CAEO,wBAAwBY,EAAkB,OAC/C,OAAOZ,EAAA,KAAK,YAAY,OAAjB,YAAAA,EAAuB,aAAaY,EAC7C,CAEO,oBAAoBA,EAAkB,OAC3C,OAAOZ,EAAA,KAAK,YAAY,OAAjB,YAAAA,EAAuB,SAASY,EACzC,CAEO,0BAA0BC,EAAqB,OACpD,OAAOb,EAAA,KAAK,YAAY,OAAjB,YAAAA,EAAuB,eAAea,EAC/C,CAEO,aAAaC,EAAuC,CACzD,MAAMC,EAAgB,KAAK,sBAAsBD,CAAK,EAEtD,KAAK,YAAY,MAAM,QAAQC,CAAa,CAC9C,CAEO,kBAAkBD,EAA4C,CACnE,MAAMC,EAAgB,KAAK,sBAAsBD,CAAK,EAEtD,KAAK,YAAY,MAAM,aAAaC,CAAa,CACnD,CAEO,SAASD,EAA8B,CAC5C,MAAMC,EAAgB,KAAK,sBAAsBD,CAAK,EAEtD,OAAO,KAAK,YAAY,MAAM,IAAIC,CAAa,CACjD,CAEO,iBACLC,EACAC,EACAC,EACA,CACA,OAAO,KAAK,YAAY,IAAI,KAAKF,EAAcC,EAAYC,CAAiB,CAC9E,CAEO,oBAAoBC,EAA6B,CACtD,GAAK,KAAK,SAAS,OAEnB,KAAO,KAAK,SAAS,QAAQ,CAC3B,MAAMC,EAAU,KAAK,SAAS,IAAA,EAE9B,GAAI,CAACA,EAAS,OAEdD,EAASC,CAAO,CAClB,CACF,CAEQ,sBAAqCN,EAA+C,SAC1F,MAAMO,EAAkCP,EAAM,gBAAkB,CAAA,EAChE,OAAI,KAAK,gBACPO,EAAe,KAAU,KAAK,gBAG5BrB,EAAA,KAAK,kBAAL,MAAAA,EAAsB,mBACxBqB,EAAe,kBAAuB,KAAK,gBAAgB,mBAGzDnB,EAAA,KAAK,kBAAL,MAAAA,EAAsB,mBACxBmB,EAAe,kBAAuB,KAAK,gBAAgB,kBAGtD,CACL,GAAGP,EACH,eAAAO,CAAA,CAEJ,CACF"}
@@ -0,0 +1,2 @@
1
+ import{j as r}from"./app-C56EnOMP.js";function l(o){return r.jsx("svg",{...o,children:r.jsx("path",{d:"M11.267 15.695 5.304 9.79a1.046 1.046 0 0 1 0-1.473l.01-.011a1.034 1.034 0 0 1 1.467 0L12 13.474l5.22-5.17a1.034 1.034 0 0 1 1.465 0l.011.012a1.046 1.046 0 0 1 0 1.473l-5.963 5.906a1.034 1.034 0 0 1-1.466 0",fill:"currentColor"})})}export{l as C};
2
+ //# sourceMappingURL=CLumRL-T.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLumRL-T.chunk.js","sources":["../../../../libs/shared/src/images/svg/arrows/ChevronDownSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function ChevronDownSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M11.267 15.695 5.304 9.79a1.046 1.046 0 0 1 0-1.473l.01-.011a1.034 1.034 0 0 1 1.467 0L12 13.474l5.22-5.17a1.034 1.034 0 0 1 1.465 0l.011.012a1.046 1.046 0 0 1 0 1.473l-5.963 5.906a1.034 1.034 0 0 1-1.466 0'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["ChevronDownSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAeC,EAAsC,CACnE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,iNACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{R as m,n as l,W as d,X as o,j as r,c as g,r as p,a5 as i,bw as y}from"./app-C56EnOMP.js";import{B as v}from"./DAh7Ea13.chunk.js";import{u as h}from"./Byn8R7bs.chunk.js";const w="settings.settingsLayout",f=e=>{const{hasPermissions:a}=p(),t=h();if(e)return a(e);const s=l.getCurrentAppLink();return s.application!==o.SETTINGS?!0:t.some(u=>u.modules.some(n=>"appLink"in n?n.appLink.action===s.action:!1))};function k(e){var s;const a=f(e.requiredPermissions);if(m.useEffect(()=>{a||l.trigger({application:o.SETTINGS,action:d.Settings.HOME},{replace:!0})},[a]),!a)return r.jsx(r.Fragment,{});const t=e.breadcrumbs.map((u,n)=>({name:u,appLink:{application:o.SETTINGS,action:d.Settings.HOME},active:n===e.breadcrumbs.length-1}));return r.jsxs("div",{className:"px-3",children:[r.jsxs("div",{className:"d-flex align-items-center justify-content-between",children:[r.jsx("h1",{className:"h2",children:e.heading}),(s=e.headingButton)==null?void 0:s.call(e)]}),r.jsx("div",{className:"pb-3",children:r.jsx(v,{breadcrumbs:[{name:g.getPhrase(w,"settingsBreadcrumb"),appLink:{application:o.SETTINGS,action:d.Settings.HOME}},...t]})}),e.description&&r.jsxs(r.Fragment,{children:[r.jsx("p",{children:e.description}),r.jsx("hr",{})]}),e.children]})}const b={getUser(e){return{url:`{gateway}/v1/users/${e}?query=avatar`,key:`school:users:${e}`}},updateUser(e,a,t,s){return{url:"{gateway}/v1/users/me/profile",key:"edit:user",type:i.PUT,data:e,invalidationKeys:["search:aggregation"],success:a,error:t,always:s}},updateAvatar(e,a,t,s){return{url:"{gateway}/v1/users/me/avatar",key:"update:avatar",type:i.PUT,invalidationKeys:["currentuser",`school:users:${a}`],data:{fileId:e,fileIdType:y.ImageAPIv2},success:t,error:s}},deleteAvatar(e,a,t,s){return{url:`{gateway}/v1/users/me/avatar/${e}`,key:"delete:avatar",type:i.DELETE,updateState:{keys:[`school:users:${a}`,"currentuser"],updateData:u=>{const n=u[`school:users:${a}`],c=u.currentuser;return n.avatar=null,c.avatar=null,{[`school:users:${a}`]:n,currentuser:c}}},success:t,error:s}},changeEmail(e,a,t,s){return{url:"{gateway}/v1/users/me/email",key:"change:email",type:i.PUT,data:{email:e},success:a,error:t,always:s}},changePassword(e,a,t,s){return{url:"{gateway}/v1/users/me/password",key:"change:password",type:i.PUT,data:{currentPassword:e.currentPassword,newPassword:e.newPassword},success:a,error:t,always:s}},changeUserPassword(e,a,t,s,u,n,c){return{url:"{gateway}/v1/users/admin/change-password",key:`change:password:${a}:${e}`,type:i.PUT,data:{userId:e,newPassword:t,changeOnNextLogin:s},success:u,error:n,always:c}},resendActivationEmail(e,a,t){return{url:"{gateway}/v1/users/admin/activation",key:"send:activation:email",type:i.POST,data:{userId:e},success:a,error:t}},sendPasswordResetEmail(e,a,t,s){return{url:"{gateway}/v1/users/admin/account-reminder",key:"send:password:reset:email",type:i.POST,data:{userIds:[e],customerId:a},success:t,error:s}},resendVerificationEmail(e,a,t,s){return{url:"{gateway}/v1/users/admin/email-verification",key:"send:verification:email",type:i.POST,data:{userId:e,customerId:a},success:t,error:s}}};export{k as S,b as U};
2
+ //# sourceMappingURL=CO_D2O4I.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CO_D2O4I.chunk.js","sources":["../../src/apps/settings/components/settings-layout/SettingsLayout.tsx","../../src/apps/settings/flight-requests/UserManagerRequests.ts"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { ChangePasswordRequest, EditCurrentUserDetails } from 'libs/shared/apps/user-manager/interfaces';\nimport { FileIdType } from 'libs/shared/enums/Images';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { User } from 'libs/shared/interfaces';\n\n\nexport const UserManagerRequests = {\n getUser(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/users/${id}?query=avatar`,\n key: `school:users:${id}`\n };\n },\n\n updateUser(\n details: EditCurrentUserDetails,\n success?: (updatedUser?: User) => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/profile',\n key: 'edit:user',\n type: HttpVerbs.PUT,\n data: details,\n invalidationKeys: ['search:aggregation'],\n success,\n error,\n always\n };\n },\n\n /**\n * Avatar requests\n */\n updateAvatar(imageId: string, userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/avatar',\n key: 'update:avatar',\n type: HttpVerbs.PUT,\n invalidationKeys: [ 'currentuser', `school:users:${userId}` ],\n data: {\n fileId: imageId,\n fileIdType: FileIdType.ImageAPIv2\n },\n success,\n error\n };\n },\n\n deleteAvatar(avatarId: string, userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/avatar/${avatarId}`,\n key: 'delete:avatar',\n type: HttpVerbs.DELETE,\n updateState: {\n keys: [ `school:users:${userId}`, 'currentuser' ],\n updateData: (data: HashObject) => {\n const userObj = data[`school:users:${userId}`];\n const currentUserObj = data.currentuser;\n\n userObj.avatar = null;\n currentUserObj.avatar = null;\n\n return {\n [`school:users:${userId}`]: userObj,\n ['currentuser']: currentUserObj\n };\n }\n },\n success,\n error\n };\n },\n\n /**\n * Account settings\n */\n changeEmail(\n email: string,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/email`,\n key: 'change:email',\n type: HttpVerbs.PUT,\n data: {\n email\n },\n success,\n error,\n always\n };\n },\n\n changePassword(\n passwordModel: ChangePasswordRequest,\n success?: () => void,\n error?: (jqXHR: JQuery.jqXHR) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/password`,\n key: 'change:password',\n type: HttpVerbs.PUT,\n data: {\n currentPassword: passwordModel.currentPassword,\n newPassword: passwordModel.newPassword\n },\n success,\n error,\n always\n };\n },\n\n changeUserPassword(\n userId: string,\n userType: UserGroup,\n newPassword: string,\n changeOnNextLogin: boolean,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/users/admin/change-password`,\n key: `change:password:${userType}:${userId}`,\n type: HttpVerbs.PUT,\n data: {\n userId,\n newPassword,\n changeOnNextLogin\n },\n success,\n error,\n always\n };\n },\n\n resendActivationEmail(userId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/activation',\n key: 'send:activation:email',\n type: HttpVerbs.POST,\n data: { userId },\n success,\n error\n };\n },\n\n sendPasswordResetEmail(userId: string, customerId: string, success?: () => void, error?: () => void): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/account-reminder',\n key: 'send:password:reset:email',\n type: HttpVerbs.POST,\n data: { userIds: [userId], customerId },\n success,\n error\n };\n },\n\n resendVerificationEmail(\n userId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/users/admin/email-verification',\n key: 'send:verification:email',\n type: HttpVerbs.POST,\n data: { userId, customerId },\n success,\n error\n };\n }\n};\n\n"],"names":["namespace","useCanAccessSettings","requiredPermissions","hasPermissions","usePermissions","settingsGroups","useGetSettingsGroups","currentRoute","Core.AppLinkHelper","AppChannels","group","settingsModule","SettingsLayout","props","canAccess","React","Actions","jsx","Fragment","breadcrumbs","name","i","jsxs","_a","Breadcrumbs","LanguageService","UserManagerRequests","id","details","success","error","always","HttpVerbs","imageId","userId","FileIdType","avatarId","data","userObj","currentUserObj","email","passwordModel","userType","newPassword","changeOnNextLogin","customerId"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const m={numItems:5,minWidth:50,maxWidth:100},n={getPartialLoadingItems(a={}){const t={...m,...a},i=()=>Math.max(Math.floor(Math.random()*t.maxWidth),t.minWidth);return[...Array(t.numItems)].map(()=>({width:`${i()}px`}))}};export{n as P};
2
+ //# sourceMappingURL=CPXlV0fg.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CPXlV0fg.chunk.js","sources":["../../../../libs/shared/src/utils/PartialLoadingHelper.ts"],"sourcesContent":["const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};"],"names":["DEFAULT_PARTIAL_LOADING_OPTIONS","PartialLoadingHelper","options","opts","getRandomFilterWidth"],"mappings":"AAAA,MAAMA,EAAyD,CAC7D,SAAU,EACV,SAAU,GACV,SAAU,GACZ,EAYaC,EAAuB,CAClC,uBAAuBC,EAAiC,GAA0B,CAChF,MAAMC,EAAO,CACX,GAAGH,EACH,GAAGE,CAAA,EAGCE,EAAuB,IAAM,KAAK,IAAI,KAAK,MAAM,KAAK,OAAA,EAAWD,EAAK,QAAQ,EAAGA,EAAK,QAAQ,EAEpG,MAAO,CAAC,GAAG,MAAMA,EAAK,QAAQ,CAAC,EAAE,IAAI,KAAO,CAAE,MAAO,GAAGC,EAAA,CAAsB,MAAO,CACvF,CACF"}
@@ -0,0 +1,2 @@
1
+ import{g as c,j as n,G as i,e as a,ar as l}from"./app-C56EnOMP.js";function x(t){let s=t.buttons.map(e=>{const o=()=>{e.success?l.isFunction(t.onDone)&&t.onDone():l.isFunction(t.onFail)&&t.onFail(),t.closePopup()};return{buttonText:e.text,className:e.className,onClick:o,type:e.type,close:e.close}});return s=c.sortBy(s,"close"),n.jsxs(i,{title:t.title,closePopup:t.closePopup,children:[n.jsx("p",{dangerouslySetInnerHTML:{__html:a.sanitize(t.text)}}),n.jsx("div",{className:"d-flex justify-content-end border-top pt-3 px-3 mx-n3",children:s.map((e,o)=>n.jsx("button",{className:e.className,onClick:e.onClick,type:e.type,children:e.buttonText},o))})]})}export{x as DialogView};
2
+ //# sourceMappingURL=CQZOieOF.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CQZOieOF.chunk.js","sources":["../../../../libs/shared/src/views/dialog/DialogView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { DialogOptions, PopupViewProps } from 'libs/shared/interfaces';\n\ninterface DialogViewProps extends DialogOptions {\n onDone?: () => void;\n onFail?: () => void;\n}\n\ntype PropTypes = React.PropsWithChildren<DialogViewProps & PopupViewProps>;\n\nexport function DialogView(props: PropTypes): React.ReactElement {\n let buttons = props.buttons.map(b => {\n const onClick = () => {\n if (b.success)\n FunctionHelper.isFunction(props.onDone) && props.onDone();\n else\n FunctionHelper.isFunction(props.onFail) && props.onFail();\n\n props.closePopup();\n };\n\n return {\n buttonText: b.text,\n className: b.className,\n onClick,\n type: b.type,\n close: b.close\n };\n });\n\n /**\n * The dismiss action should always be on the left side of the popup\n */\n buttons = ArrayHelper.sortBy(buttons, 'close');\n\n return (\n <Popup title={props.title} closePopup={props.closePopup}>\n <p dangerouslySetInnerHTML={{ __html: TextHelper.sanitize(props.text) }} />\n <div className='d-flex justify-content-end border-top pt-3 px-3 mx-n3'>\n {buttons.map((b, idx) => (\n <button key={idx} className={b.className} onClick={b.onClick} type={b.type}>\n {b.buttonText}\n </button>\n ))}\n </div>\n </Popup>\n );\n}"],"names":["DialogView","props","buttons","b","onClick","FunctionHelper","ArrayHelper","Popup","jsx","TextHelper","idx"],"mappings":"mEAgBO,SAASA,EAAWC,EAAsC,CAC/D,IAAIC,EAAUD,EAAM,QAAQ,IAAIE,GAAK,CACnC,MAAMC,EAAU,IAAM,CAChBD,EAAE,QACJE,EAAe,WAAWJ,EAAM,MAAM,GAAKA,EAAM,OAAA,EAEjDI,EAAe,WAAWJ,EAAM,MAAM,GAAKA,EAAM,OAAA,EAEnDA,EAAM,WAAA,CACR,EAEA,MAAO,CACL,WAAYE,EAAE,KACd,UAAWA,EAAE,UACb,QAAAC,EACA,KAAMD,EAAE,KACR,MAAOA,EAAE,KAAA,CAEb,CAAC,EAKD,OAAAD,EAAUI,EAAY,OAAOJ,EAAS,OAAO,SAG1CK,EAAA,CAAM,MAAON,EAAM,MAAO,WAAYA,EAAM,WAC3C,SAAA,CAAAO,EAAAA,IAAC,IAAA,CAAE,wBAAyB,CAAE,OAAQC,EAAW,SAASR,EAAM,IAAI,CAAA,EAAK,EACzEO,EAAAA,IAAC,MAAA,CAAI,UAAU,wDACZ,SAAAN,EAAQ,IAAI,CAACC,EAAGO,IACfF,EAAAA,IAAC,SAAA,CAAiB,UAAWL,EAAE,UAAW,QAASA,EAAE,QAAS,KAAMA,EAAE,KACnE,SAAAA,EAAE,UAAA,EADQO,CAEb,CACD,CAAA,CACH,CAAA,EACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{h as n}from"./app-C56EnOMP.js";function c(o){return function(t){return t.id,t.name,n.VideoListItem,[]}}export{c as u};
2
+ //# sourceMappingURL=CQoWqq54.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CQoWqq54.chunk.js","sources":["../../src/shared/hooks/useStreamableVideoActions.ts"],"sourcesContent":["// import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Video } from 'libs/shared/interfaces';\n\n// const namespace = 'shared.streambleHooks';\n// const getPhrase = LanguageService.encloseNamespace(namespace);\n\ntype Location = 'play-page' | 'video-list';\n\n// Placeholder if we need any actions in the future\nexport function useStreamableVideoActions(location: Location) {\n return function getStreamableActions(video: Video): ActionOptions[] {\n const analyticsData = { id: video.id, name: video.name };\n const locationContext = location === 'video-list' ? LocationContext.VideoListItem : LocationContext.PlayPage;\n analyticsData;\n locationContext;\n\n const actions: ActionOptions[] = [\n ];\n\n return actions;\n };\n}"],"names":["useStreamableVideoActions","location","video","LocationContext"],"mappings":"sCAaO,SAASA,EAA0BC,EAAoB,CAC5D,OAAO,SAA8BC,EAA+B,CAClE,OAA4BA,EAAM,GAAUA,EAAM,KACEC,EAAgB,cAInC,CAAA,CAInC,CACF"}
@@ -0,0 +1,2 @@
1
+ import{j as c}from"./app-C56EnOMP.js";function t(r){return c.jsx("svg",{...r,children:c.jsx("path",{d:"M19.64 10.28a.55.55 0 1 1 1.1 0v6.878c0 1.582-1.386 2.842-3.07 2.842H6.33c-1.684 0-3.07-1.26-3.07-2.842V10.28a.55.55 0 1 1 1.1 0v6.877c0 .95.87 1.742 1.97 1.742h11.34c1.1 0 1.97-.793 1.97-1.742zM20.19 4c.99 0 1.81.747 1.81 1.696V7.99a.55.55 0 0 1-.55.55H2.55A.55.55 0 0 1 2 7.99V5.696C2 4.747 2.821 4 3.81 4zm.71 1.696c0-.317-.307-.596-.71-.596H3.81c-.403 0-.71.28-.71.596v1.742h17.8zm-5.83 5.73c0 .95-.821 1.697-1.81 1.697h-2.52c-.989 0-1.81-.747-1.81-1.696 0-.95.821-1.696 1.81-1.696h2.52c.989 0 1.81.747 1.81 1.696zm-1.1 0c0-.316-.307-.595-.71-.595h-2.52c-.403 0-.71.28-.71.596 0 .317.307.596.71.596h2.52c.403 0 .71-.28.71-.596z",fill:"currentColor"})})}export{t as A};
2
+ //# sourceMappingURL=CRT9qru0.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CRT9qru0.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/ArchiveSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function ArchiveSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M19.64 10.28a.55.55 0 1 1 1.1 0v6.878c0 1.582-1.386 2.842-3.07 2.842H6.33c-1.684 0-3.07-1.26-3.07-2.842V10.28a.55.55 0 1 1 1.1 0v6.877c0 .95.87 1.742 1.97 1.742h11.34c1.1 0 1.97-.793 1.97-1.742zM20.19 4c.99 0 1.81.747 1.81 1.696V7.99a.55.55 0 0 1-.55.55H2.55A.55.55 0 0 1 2 7.99V5.696C2 4.747 2.821 4 3.81 4zm.71 1.696c0-.317-.307-.596-.71-.596H3.81c-.403 0-.71.28-.71.596v1.742h17.8zm-5.83 5.73c0 .95-.821 1.697-1.81 1.697h-2.52c-.989 0-1.81-.747-1.81-1.696 0-.95.821-1.696 1.81-1.696h2.52c.989 0 1.81.747 1.81 1.696zm-1.1 0c0-.316-.307-.595-.71-.595h-2.52c-.403 0-.71.28-.71.596 0 .317.307.596.71.596h2.52c.403 0 .71-.28.71-.596z'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["ArchiveSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAWC,EAAsC,CAC/D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,0nBACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{ah as v}from"./app-C56EnOMP.js";var S=new Map,b=new WeakMap,A=0,x=void 0;function M(e){return e?(b.has(e)||(A+=1,b.set(e,A.toString())),b.get(e)):"0"}function O(e){return Object.keys(e).sort().filter(t=>e[t]!==void 0).map(t=>`${t}_${t==="root"?M(e.root):e[t]}`).toString()}function T(e){const t=O(e);let n=S.get(t);if(!n){const u=new Map;let c;const i=new IntersectionObserver(s=>{s.forEach(r=>{var o;const g=r.isIntersecting&&c.some(a=>r.intersectionRatio>=a);e.trackVisibility&&typeof r.isVisible>"u"&&(r.isVisible=g),(o=u.get(r.target))==null||o.forEach(a=>{a(g,r)})})},e);c=i.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:i,elements:u},S.set(t,n)}return n}function _(e,t,n={},u=x){if(typeof window.IntersectionObserver>"u"&&u!==void 0){const o=e.getBoundingClientRect();return t(u,{isIntersecting:u,target:e,intersectionRatio:typeof n.threshold=="number"?n.threshold:0,time:0,boundingClientRect:o,intersectionRect:o,rootBounds:o}),()=>{}}const{id:c,observer:i,elements:s}=T(n),r=s.get(e)||[];return s.has(e)||s.set(e,r),r.push(t),i.observe(e),function(){r.splice(r.indexOf(t),1),r.length===0&&(s.delete(e),i.unobserve(e)),s.size===0&&(i.disconnect(),S.delete(c))}}function C({threshold:e,delay:t,trackVisibility:n,rootMargin:u,root:c,triggerOnce:i,skip:s,initialInView:r,fallbackInView:o,onChange:g}={}){var a;const[h,V]=v.useState(null),l=v.useRef(),[R,p]=v.useState({inView:!!r,entry:void 0});l.current=g,v.useEffect(()=>{if(s||!h)return;let d;return d=_(h,(E,I)=>{p({inView:E,entry:I}),l.current&&l.current(E,I),I.isIntersecting&&i&&d&&(d(),d=void 0)},{root:c,rootMargin:u,threshold:e,trackVisibility:n,delay:t},o),()=>{d&&d()}},[Array.isArray(e)?e.toString():e,h,c,u,i,s,n,o,t]);const w=(a=R.entry)==null?void 0:a.target,y=v.useRef();!h&&w&&!i&&!s&&y.current!==w&&(y.current=w,p({inView:!!r,entry:void 0}));const f=[V,R.inView,R.entry];return f.ref=f[0],f.inView=f[1],f.entry=f[2],f}export{C as u};
2
+ //# sourceMappingURL=CU6iZ8MR.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CU6iZ8MR.chunk.js","sources":["../../../../../node_modules/react-intersection-observer/index.mjs"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root)\n return \"0\";\n if (RootIds.has(root))\n return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip)\n return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef();\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref)\n return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current)\n callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef();\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map"],"names":["observerMap","RootIds","rootId","unsupportedValue","getRootId","root","optionsToId","options","key","createObserver","id","instance","elements","thresholds","observer","entries","entry","_a","inView","threshold","callback","observe","element","fallbackInView","bounds","callbacks","useInView","delay","trackVisibility","rootMargin","triggerOnce","skip","initialInView","onChange","ref","setRef","React2.useState","React2.useRef","state","setState","React2.useEffect","unobserve","entryTarget","previousEntryTarget","result"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{j as l}from"./app-C56EnOMP.js";const t=2;function r(e){var n;return((n=e.availableCurriculums)==null?void 0:n.length)<t||!e.selectedCurriculum?l.jsx(l.Fragment,{}):l.jsx("select",{className:`mb-3 form-select ${e.className}`,onChange:a=>e.onChangeCurriculum(a.target.value),value:e.selectedCurriculum.id,children:e.availableCurriculums.map(a=>l.jsx("option",{id:a.id,value:a.id,children:a.name},a.id))})}export{r as C};
2
+ //# sourceMappingURL=CUltMbyK.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CUltMbyK.chunk.js","sources":["../../../../libs/shared/src/components/curriculum-links/CurriculumDropdown.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Presentation } from 'libs/shared/interfaces';\n\nconst MIN_CURRICULUMS = 2;\n\ninterface CurriculumDropdownProps {\n availableCurriculums: Presentation[];\n onChangeCurriculum: (id: string) => void;\n selectedCurriculum?: Presentation;\n className?: string;\n}\n\nexport function CurriculumDropdown(props: CurriculumDropdownProps): JSX.Element {\n // No need to show a dropdown if they don't have enough curriculums\n if (props.availableCurriculums?.length < MIN_CURRICULUMS || !props.selectedCurriculum)\n return <></>;\n\n return (\n <select\n className={`mb-3 form-select ${props.className}`}\n onChange={e => props.onChangeCurriculum(e.target.value)}\n value={props.selectedCurriculum.id}\n >\n {props.availableCurriculums.map(curriculum => {\n return (\n <option\n key={curriculum.id}\n id={curriculum.id}\n value={curriculum.id}\n >\n {curriculum.name}\n </option>\n );\n })}\n </select>\n );\n}"],"names":["MIN_CURRICULUMS","CurriculumDropdown","props","_a","jsx","Fragment","e","curriculum"],"mappings":"sCAIA,MAAMA,EAAkB,EASjB,SAASC,EAAmBC,EAA6C,OAE9E,QAAIC,EAAAD,EAAM,uBAAN,YAAAC,EAA4B,QAASH,GAAmB,CAACE,EAAM,mBAC1DE,EAAAA,IAAAC,EAAAA,SAAA,EAAE,EAGTD,EAAAA,IAAC,SAAA,CACC,UAAW,oBAAoBF,EAAM,SAAS,GAC9C,SAAUI,GAAKJ,EAAM,mBAAmBI,EAAE,OAAO,KAAK,EACtD,MAAOJ,EAAM,mBAAmB,GAE/B,SAAAA,EAAM,qBAAqB,IAAIK,GAE5BH,EAAAA,IAAC,SAAA,CAEC,GAAIG,EAAW,GACf,MAAOA,EAAW,GAEjB,SAAAA,EAAW,IAAA,EAJPA,EAAW,EAAA,CAOrB,CAAA,CAAA,CAGP"}
@@ -0,0 +1,2 @@
1
+ var a={exports:{}},p;function o(){return p||(p=1,(function(r){function e(){return r.exports=e=Object.assign?Object.assign.bind():function(x){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var n in s)({}).hasOwnProperty.call(s,n)&&(x[n]=s[n])}return x},r.exports.__esModule=!0,r.exports.default=r.exports,e.apply(null,arguments)}r.exports=e,r.exports.__esModule=!0,r.exports.default=r.exports})(a)),a.exports}export{o as r};
2
+ //# sourceMappingURL=CW7x8M-z.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CW7x8M-z.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/extends.js"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"names":["_extends","module","n","e","t","r"],"mappings":"8DAAA,SAASA,GAAW,CAClB,OAAOC,EAAA,QAAiBD,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUE,EAAG,CACrF,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAASE,KAAKD,GAAI,CAAA,GAAI,eAAe,KAAKA,EAAGC,CAAC,IAAMH,EAAEG,CAAC,EAAID,EAAEC,CAAC,EACpE,CACI,OAAOH,CACX,EAAKD,qBAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASD,EAAS,MAAM,KAAM,SAAS,CACjH,CACAC,EAAA,QAAiBD,EAAUC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO","x_google_ignoreList":[0]}