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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  2. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  3. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  4. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  5. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  6. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  7. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  8. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  9. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  10. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  11. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  12. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  13. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  14. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  15. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  16. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  17. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  18. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  19. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  20. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  21. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  22. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  23. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  24. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  25. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  26. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  27. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  28. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  29. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  30. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  31. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  32. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  33. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  34. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  35. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  36. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  37. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  38. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  39. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  40. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  41. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  42. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  43. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  44. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  45. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  46. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  47. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  48. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  49. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  50. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  51. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  52. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  53. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  54. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  55. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  56. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  57. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  58. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  59. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  60. package/dist/bundles.json +2 -2
  61. package/dist/css/B-attovs.chunk.css +9 -0
  62. package/dist/css/B1NucFMn.chunk.css +1 -0
  63. package/dist/css/BPdg7JW4.chunk.css +1 -0
  64. package/dist/css/BPrUSCaY.chunk.css +1 -0
  65. package/dist/css/BR0fUt9D.chunk.css +1 -0
  66. package/dist/css/BhYm6SRm.chunk.css +1 -0
  67. package/dist/css/BiRz4h1c.chunk.css +1 -0
  68. package/dist/css/Bq1ChJn4.chunk.css +1 -0
  69. package/dist/css/Bt85j9js.chunk.css +1 -0
  70. package/dist/css/BuYrqi9E.chunk.css +1 -0
  71. package/dist/css/BugV1Bpa.chunk.css +1 -0
  72. package/dist/css/BuuVPl7n.chunk.css +1 -0
  73. package/dist/css/C1NkrNqQ.chunk.css +1 -0
  74. package/dist/css/C1qv5jz5.chunk.css +1 -0
  75. package/dist/css/C7XoyEPr.chunk.css +1 -0
  76. package/dist/css/C7_MDu56.chunk.css +1 -0
  77. package/dist/css/CC5F5C8O.chunk.css +1 -0
  78. package/dist/css/CChSC6Ta.chunk.css +1 -0
  79. package/dist/css/CCsCPLDG.chunk.css +1 -0
  80. package/dist/css/CD1qrI1T.chunk.css +1 -0
  81. package/dist/css/CKqvCBj4.chunk.css +1 -0
  82. package/dist/css/CLZ0Ycds.chunk.css +1 -0
  83. package/dist/css/CO7M4rZW.chunk.css +1 -0
  84. package/dist/css/CY0yvCW4.chunk.css +1 -0
  85. package/dist/css/CYGsw8FT.chunk.css +1 -0
  86. package/dist/css/Cbi3KYBa.chunk.css +1 -0
  87. package/dist/css/CgWQu_Ss.chunk.css +1 -0
  88. package/dist/css/CliS8Q8r.chunk.css +1 -0
  89. package/dist/css/D-kQKsZN.chunk.css +1 -0
  90. package/dist/css/D2NwUVrK.chunk.css +1 -0
  91. package/dist/css/D4g1IoUU.chunk.css +1 -0
  92. package/dist/css/DBgpcO3T.chunk.css +1 -0
  93. package/dist/css/DDnpOnVB.chunk.css +1 -0
  94. package/dist/css/DZJSONGP.chunk.css +1 -0
  95. package/dist/css/DeAfaPiD.chunk.css +1 -0
  96. package/dist/css/Dj731zLm.chunk.css +1 -0
  97. package/dist/css/DjPPxa0A.chunk.css +1 -0
  98. package/dist/css/DlOtoSz0.chunk.css +1 -0
  99. package/dist/css/DwduQat7.chunk.css +1 -0
  100. package/dist/css/Dzuu2GTx.chunk.css +1 -0
  101. package/dist/css/JAvsJreH.chunk.css +1 -0
  102. package/dist/css/NKlFYVOc.chunk.css +1 -0
  103. package/dist/css/VZd8qGtK.chunk.css +1 -0
  104. package/dist/css/Y7U--2na.chunk.css +1 -0
  105. package/dist/css/ir3IcK_l.chunk.css +1 -0
  106. package/dist/css/jbMisi9r.chunk.css +1 -0
  107. package/dist/css/kS5aDtIJ.chunk.css +1 -0
  108. package/dist/css/mqCL1o7m.chunk.css +1 -0
  109. package/dist/css/qZzkUeZk.chunk.css +1 -0
  110. package/dist/css/sC_H3yXE.chunk.css +1 -0
  111. package/dist/css/wR_6C_NV.chunk.css +1 -0
  112. package/dist/en.json +1 -0
  113. package/dist/scripts/38Gc6FvJ.chunk.js +2 -0
  114. package/dist/scripts/38Gc6FvJ.chunk.js.map +1 -0
  115. package/dist/scripts/9vP26Hjl.chunk.js +2 -0
  116. package/dist/scripts/9vP26Hjl.chunk.js.map +1 -0
  117. package/dist/scripts/B-YTLo4E.chunk.js +2 -0
  118. package/dist/scripts/B-YTLo4E.chunk.js.map +1 -0
  119. package/dist/scripts/B2rqAGbQ.chunk.js +2 -0
  120. package/dist/scripts/B2rqAGbQ.chunk.js.map +1 -0
  121. package/dist/scripts/B46nd_gM.chunk.js +2 -0
  122. package/dist/scripts/B46nd_gM.chunk.js.map +1 -0
  123. package/dist/scripts/B61dxODs.chunk.js +2 -0
  124. package/dist/scripts/B61dxODs.chunk.js.map +1 -0
  125. package/dist/scripts/B928Y1m-.chunk.js +2 -0
  126. package/dist/scripts/B928Y1m-.chunk.js.map +1 -0
  127. package/dist/scripts/BBnDr_iy.chunk.js +2 -0
  128. package/dist/scripts/BBnDr_iy.chunk.js.map +1 -0
  129. package/dist/scripts/BDwX0xO5.chunk.js +7 -0
  130. package/dist/scripts/BDwX0xO5.chunk.js.map +1 -0
  131. package/dist/scripts/BFcg4phV.chunk.js +15 -0
  132. package/dist/scripts/BFcg4phV.chunk.js.map +1 -0
  133. package/dist/scripts/BOH3SvVi.chunk.js +2 -0
  134. package/dist/scripts/BOH3SvVi.chunk.js.map +1 -0
  135. package/dist/scripts/BPzvNgkA.chunk.js +10 -0
  136. package/dist/scripts/BPzvNgkA.chunk.js.map +1 -0
  137. package/dist/scripts/BWkYFXR0.chunk.js +2 -0
  138. package/dist/scripts/BWkYFXR0.chunk.js.map +1 -0
  139. package/dist/scripts/BYrL8Bl0.chunk.js +2 -0
  140. package/dist/scripts/BYrL8Bl0.chunk.js.map +1 -0
  141. package/dist/scripts/BaMuTXqa.chunk.js +2 -0
  142. package/dist/scripts/BaMuTXqa.chunk.js.map +1 -0
  143. package/dist/scripts/Bbj3u3zY.chunk.js +2 -0
  144. package/dist/scripts/Bbj3u3zY.chunk.js.map +1 -0
  145. package/dist/scripts/Bd-gJLT1.chunk.js +2 -0
  146. package/dist/scripts/Bd-gJLT1.chunk.js.map +1 -0
  147. package/dist/scripts/BdHxGaRy.chunk.js +2 -0
  148. package/dist/scripts/BdHxGaRy.chunk.js.map +1 -0
  149. package/dist/scripts/BdPgUz8g.chunk.js +2 -0
  150. package/dist/scripts/BdPgUz8g.chunk.js.map +1 -0
  151. package/dist/scripts/Be6BKGLG.chunk.js +356 -0
  152. package/dist/scripts/Be6BKGLG.chunk.js.map +1 -0
  153. package/dist/scripts/BfK6q73t.chunk.js +8 -0
  154. package/dist/scripts/BfK6q73t.chunk.js.map +1 -0
  155. package/dist/scripts/Bg1w511R.chunk.js +2 -0
  156. package/dist/scripts/Bg1w511R.chunk.js.map +1 -0
  157. package/dist/scripts/Bg6K2hsA.chunk.js +3 -0
  158. package/dist/scripts/Bg6K2hsA.chunk.js.map +1 -0
  159. package/dist/scripts/BiLpxxSD.chunk.js +2 -0
  160. package/dist/scripts/BiLpxxSD.chunk.js.map +1 -0
  161. package/dist/scripts/BmN5JsPi.chunk.js +5 -0
  162. package/dist/scripts/BmN5JsPi.chunk.js.map +1 -0
  163. package/dist/scripts/BnSh6tRF.chunk.js +2 -0
  164. package/dist/scripts/BnSh6tRF.chunk.js.map +1 -0
  165. package/dist/scripts/Bnt14Hw8.chunk.js +2 -0
  166. package/dist/scripts/Bnt14Hw8.chunk.js.map +1 -0
  167. package/dist/scripts/BpRVTpnA.chunk.js +8 -0
  168. package/dist/scripts/BpRVTpnA.chunk.js.map +1 -0
  169. package/dist/scripts/BsoISj2P.chunk.js +2 -0
  170. package/dist/scripts/BsoISj2P.chunk.js.map +1 -0
  171. package/dist/scripts/BuNZOfIz.chunk.js +2 -0
  172. package/dist/scripts/BuNZOfIz.chunk.js.map +1 -0
  173. package/dist/scripts/BvQxdtl3.chunk.js +2 -0
  174. package/dist/scripts/BvQxdtl3.chunk.js.map +1 -0
  175. package/dist/scripts/C2zcSUEr.chunk.js +2 -0
  176. package/dist/scripts/C2zcSUEr.chunk.js.map +1 -0
  177. package/dist/scripts/C35NlkUr.chunk.js +2 -0
  178. package/dist/scripts/C35NlkUr.chunk.js.map +1 -0
  179. package/dist/scripts/C5Fq7Tf-.chunk.js +2 -0
  180. package/dist/scripts/C5Fq7Tf-.chunk.js.map +1 -0
  181. package/dist/scripts/CD-ZU1Sa.chunk.js +2 -0
  182. package/dist/scripts/CD-ZU1Sa.chunk.js.map +1 -0
  183. package/dist/scripts/CEmtkty-.chunk.js +2 -0
  184. package/dist/scripts/CEmtkty-.chunk.js.map +1 -0
  185. package/dist/scripts/CO1Up6zQ.chunk.js +2 -0
  186. package/dist/scripts/CO1Up6zQ.chunk.js.map +1 -0
  187. package/dist/scripts/CPNjAJN5.chunk.js +2 -0
  188. package/dist/scripts/CPNjAJN5.chunk.js.map +1 -0
  189. package/dist/scripts/CPXlV0fg.chunk.js +2 -0
  190. package/dist/scripts/CPXlV0fg.chunk.js.map +1 -0
  191. package/dist/scripts/CQJIB_e-.chunk.js +2 -0
  192. package/dist/scripts/CQJIB_e-.chunk.js.map +1 -0
  193. package/dist/scripts/CRusuLqR.chunk.js +2 -0
  194. package/dist/scripts/CRusuLqR.chunk.js.map +1 -0
  195. package/dist/scripts/CTWahyAB.chunk.js +2 -0
  196. package/dist/scripts/CTWahyAB.chunk.js.map +1 -0
  197. package/dist/scripts/CU5Dd7rS.chunk.js +2 -0
  198. package/dist/scripts/CU5Dd7rS.chunk.js.map +1 -0
  199. package/dist/scripts/CW7x8M-z.chunk.js +2 -0
  200. package/dist/scripts/CW7x8M-z.chunk.js.map +1 -0
  201. package/dist/scripts/CX-Bc0hf.chunk.js +2 -0
  202. package/dist/scripts/CX-Bc0hf.chunk.js.map +1 -0
  203. package/dist/scripts/CY1om5lx.chunk.js +2 -0
  204. package/dist/scripts/CY1om5lx.chunk.js.map +1 -0
  205. package/dist/scripts/C_79jeAr.chunk.js +2 -0
  206. package/dist/scripts/C_79jeAr.chunk.js.map +1 -0
  207. package/dist/scripts/C_pobyVf.chunk.js +3 -0
  208. package/dist/scripts/C_pobyVf.chunk.js.map +1 -0
  209. package/dist/scripts/Cgf5lDwO.chunk.js +2 -0
  210. package/dist/scripts/Cgf5lDwO.chunk.js.map +1 -0
  211. package/dist/scripts/Ci9wGu6N.chunk.js +2 -0
  212. package/dist/scripts/Ci9wGu6N.chunk.js.map +1 -0
  213. package/dist/scripts/Cmu1J2M7.chunk.js +262 -0
  214. package/dist/scripts/Cmu1J2M7.chunk.js.map +1 -0
  215. package/dist/scripts/Cp-yDIHE.chunk.js +2 -0
  216. package/dist/scripts/Cp-yDIHE.chunk.js.map +1 -0
  217. package/dist/scripts/CqWRz_Vd.chunk.js +2 -0
  218. package/dist/scripts/CqWRz_Vd.chunk.js.map +1 -0
  219. package/dist/scripts/Cs-XAmfP.chunk.js +2 -0
  220. package/dist/scripts/Cs-XAmfP.chunk.js.map +1 -0
  221. package/dist/scripts/CsxsnXoH.chunk.js +2 -0
  222. package/dist/scripts/CsxsnXoH.chunk.js.map +1 -0
  223. package/dist/scripts/CvuMDF0y.chunk.js +2 -0
  224. package/dist/scripts/CvuMDF0y.chunk.js.map +1 -0
  225. package/dist/scripts/CwRpHtAf.chunk.js +2 -0
  226. package/dist/scripts/CwRpHtAf.chunk.js.map +1 -0
  227. package/dist/scripts/D4OCofAF.chunk.js +2 -0
  228. package/dist/scripts/D4OCofAF.chunk.js.map +1 -0
  229. package/dist/scripts/D4x4hAdA.chunk.js +2 -0
  230. package/dist/scripts/D4x4hAdA.chunk.js.map +1 -0
  231. package/dist/scripts/DBaknZA7.chunk.js +2 -0
  232. package/dist/scripts/DBaknZA7.chunk.js.map +1 -0
  233. package/dist/scripts/DBdD19pY.chunk.js +53 -0
  234. package/dist/scripts/DBdD19pY.chunk.js.map +1 -0
  235. package/dist/scripts/DELBynwO.chunk.js +2 -0
  236. package/dist/scripts/DELBynwO.chunk.js.map +1 -0
  237. package/dist/scripts/DEixuHfi.chunk.js +2 -0
  238. package/dist/scripts/DEixuHfi.chunk.js.map +1 -0
  239. package/dist/scripts/DFhkO_lZ.chunk.js +2 -0
  240. package/dist/scripts/DFhkO_lZ.chunk.js.map +1 -0
  241. package/dist/scripts/DIIFVn0p.chunk.js +2 -0
  242. package/dist/scripts/DIIFVn0p.chunk.js.map +1 -0
  243. package/dist/scripts/DIhfGjAK.chunk.js +2 -0
  244. package/dist/scripts/DIhfGjAK.chunk.js.map +1 -0
  245. package/dist/scripts/DK1p1ffZ.chunk.js +2 -0
  246. package/dist/scripts/DK1p1ffZ.chunk.js.map +1 -0
  247. package/dist/scripts/DK6BRHnl.chunk.js +2 -0
  248. package/dist/scripts/DK6BRHnl.chunk.js.map +1 -0
  249. package/dist/scripts/DNbkIXc2.chunk.js +2 -0
  250. package/dist/scripts/DNbkIXc2.chunk.js.map +1 -0
  251. package/dist/scripts/DRmZj7Fw.chunk.js +2 -0
  252. package/dist/scripts/DRmZj7Fw.chunk.js.map +1 -0
  253. package/dist/scripts/DTcDjqUi.chunk.js +8 -0
  254. package/dist/scripts/DTcDjqUi.chunk.js.map +1 -0
  255. package/dist/scripts/DVmtgkhY.chunk.js +2 -0
  256. package/dist/scripts/DVmtgkhY.chunk.js.map +1 -0
  257. package/dist/scripts/DWkg1qc2.chunk.js +2 -0
  258. package/dist/scripts/DWkg1qc2.chunk.js.map +1 -0
  259. package/dist/scripts/D_nzH8Cw.chunk.js +2 -0
  260. package/dist/scripts/D_nzH8Cw.chunk.js.map +1 -0
  261. package/dist/scripts/DaJTPRJr.chunk.js +2 -0
  262. package/dist/scripts/DaJTPRJr.chunk.js.map +1 -0
  263. package/dist/scripts/Dal4C0kV.chunk.js +2 -0
  264. package/dist/scripts/Dal4C0kV.chunk.js.map +1 -0
  265. package/dist/scripts/DecSY6Xq.chunk.js +2 -0
  266. package/dist/scripts/DecSY6Xq.chunk.js.map +1 -0
  267. package/dist/scripts/DgL-ti6b.chunk.js +2 -0
  268. package/dist/scripts/DgL-ti6b.chunk.js.map +1 -0
  269. package/dist/scripts/Dhn0D6IV.chunk.js +2 -0
  270. package/dist/scripts/Dhn0D6IV.chunk.js.map +1 -0
  271. package/dist/scripts/DuidBpWd.chunk.js +2 -0
  272. package/dist/scripts/DuidBpWd.chunk.js.map +1 -0
  273. package/dist/scripts/DvDdiDQN.chunk.js +7 -0
  274. package/dist/scripts/DvDdiDQN.chunk.js.map +1 -0
  275. package/dist/scripts/Dx9ncX-C.chunk.js +2 -0
  276. package/dist/scripts/Dx9ncX-C.chunk.js.map +1 -0
  277. package/dist/scripts/Dxt3JwJz.chunk.js +2 -0
  278. package/dist/scripts/Dxt3JwJz.chunk.js.map +1 -0
  279. package/dist/scripts/Dy57waqb.chunk.js +2 -0
  280. package/dist/scripts/Dy57waqb.chunk.js.map +1 -0
  281. package/dist/scripts/DzLh2mnb.chunk.js +2 -0
  282. package/dist/scripts/DzLh2mnb.chunk.js.map +1 -0
  283. package/dist/scripts/F-K8Bwdk.chunk.js +2 -0
  284. package/dist/scripts/F-K8Bwdk.chunk.js.map +1 -0
  285. package/dist/scripts/G4u5okSS.chunk.js +2 -0
  286. package/dist/scripts/G4u5okSS.chunk.js.map +1 -0
  287. package/dist/scripts/KAizYpNf.chunk.js +2 -0
  288. package/dist/scripts/KAizYpNf.chunk.js.map +1 -0
  289. package/dist/scripts/LIBRZSqN.chunk.js +8 -0
  290. package/dist/scripts/LIBRZSqN.chunk.js.map +1 -0
  291. package/dist/scripts/LgZBXsgq.chunk.js +2 -0
  292. package/dist/scripts/LgZBXsgq.chunk.js.map +1 -0
  293. package/dist/scripts/QlJI4d4R.chunk.js +2 -0
  294. package/dist/scripts/QlJI4d4R.chunk.js.map +1 -0
  295. package/dist/scripts/ShERxFU5.chunk.js +2 -0
  296. package/dist/scripts/ShERxFU5.chunk.js.map +1 -0
  297. package/dist/scripts/Ynb9IAgu.chunk.js +2 -0
  298. package/dist/scripts/Ynb9IAgu.chunk.js.map +1 -0
  299. package/dist/scripts/_8CvUiOV.chunk.js +2 -0
  300. package/dist/scripts/_8CvUiOV.chunk.js.map +1 -0
  301. package/dist/scripts/aXDrx9_z.chunk.js +6 -0
  302. package/dist/scripts/aXDrx9_z.chunk.js.map +1 -0
  303. package/dist/scripts/app-DiXzpOyg.js +220 -0
  304. package/dist/scripts/app-DiXzpOyg.js.map +1 -0
  305. package/dist/scripts/bww2eGbI.chunk.js +2 -0
  306. package/dist/scripts/bww2eGbI.chunk.js.map +1 -0
  307. package/dist/scripts/cvX-F_mx.chunk.js +2 -0
  308. package/dist/scripts/cvX-F_mx.chunk.js.map +1 -0
  309. package/dist/scripts/gtdeja1H.chunk.js +2 -0
  310. package/dist/scripts/gtdeja1H.chunk.js.map +1 -0
  311. package/dist/scripts/m9wd_474.chunk.js +2 -0
  312. package/dist/scripts/m9wd_474.chunk.js.map +1 -0
  313. package/dist/scripts/nay4aGaa.chunk.js +2 -0
  314. package/dist/scripts/nay4aGaa.chunk.js.map +1 -0
  315. package/dist/scripts/pkzD5BEm.chunk.js +2 -0
  316. package/dist/scripts/pkzD5BEm.chunk.js.map +1 -0
  317. package/dist/scripts/qO6ZefON.chunk.js +2 -0
  318. package/dist/scripts/qO6ZefON.chunk.js.map +1 -0
  319. package/dist/scripts/s4utqqzH.chunk.js +2 -0
  320. package/dist/scripts/s4utqqzH.chunk.js.map +1 -0
  321. package/dist/scripts/sxyRyCzh.chunk.js +2 -0
  322. package/dist/scripts/sxyRyCzh.chunk.js.map +1 -0
  323. package/dist/scripts/tzNty_oG.chunk.js +2 -0
  324. package/dist/scripts/tzNty_oG.chunk.js.map +1 -0
  325. package/dist/scripts/vjyJbQe4.chunk.js +2 -0
  326. package/dist/scripts/vjyJbQe4.chunk.js.map +1 -0
  327. package/dist/scripts/vuoBilPQ.chunk.js +2 -0
  328. package/dist/scripts/vuoBilPQ.chunk.js.map +1 -0
  329. package/dist/scripts/vwgUbn2Z.chunk.js +2 -0
  330. package/dist/scripts/vwgUbn2Z.chunk.js.map +1 -0
  331. package/dist/scripts/wOGv44_K.chunk.js +2 -0
  332. package/dist/scripts/wOGv44_K.chunk.js.map +1 -0
  333. package/dist/scripts/xbvkqJGe.chunk.js +2 -0
  334. package/dist/scripts/xbvkqJGe.chunk.js.map +1 -0
  335. package/dist/scripts/xywWSa0t.chunk.js +2 -0
  336. package/dist/scripts/xywWSa0t.chunk.js.map +1 -0
  337. package/dist/scripts/zUz4ZfV2.chunk.js +2 -0
  338. package/dist/scripts/zUz4ZfV2.chunk.js.map +1 -0
  339. package/package.json +5 -3
  340. package/typings/utils/imports.d.ts +2 -1
  341. package/vite.config.ts +6 -0
  342. package/dist/css/103-streamable-learning-5060b6cda5.chunk.css +0 -7
  343. package/dist/css/1269-streamable-learning-a12c4ebc99.chunk.css +0 -2
  344. package/dist/css/1457-streamable-learning-c8c8b3b9b1.chunk.css +0 -50
  345. package/dist/css/2334-streamable-learning-de03ae073a.chunk.css +0 -2
  346. package/dist/css/3322-streamable-learning-510e1aa3f3.chunk.css +0 -34
  347. package/dist/css/3838-streamable-learning-da10685fe8.chunk.css +0 -22
  348. package/dist/css/4254-streamable-learning-e493f4a027.chunk.css +0 -2
  349. package/dist/css/4607-streamable-learning-2605302fc2.chunk.css +0 -90
  350. package/dist/css/4772-streamable-learning-f83b838d71.chunk.css +0 -9
  351. package/dist/css/5565-streamable-learning-0caae3809b.chunk.css +0 -13
  352. package/dist/css/6017-streamable-learning-098a205d01.chunk.css +0 -6
  353. package/dist/css/6356-streamable-learning-8c5b220bf6.chunk.css +0 -1
  354. package/dist/css/6987-streamable-learning-8f682301c6.chunk.css +0 -1
  355. package/dist/css/7317-streamable-learning-b5d226bbb6.chunk.css +0 -5
  356. package/dist/css/8058-streamable-learning-539cf7be18.chunk.css +0 -12
  357. package/dist/css/8294-streamable-learning-c797263ac2.chunk.css +0 -1
  358. package/dist/css/8496-streamable-learning-ce19f6ca52.chunk.css +0 -13
  359. package/dist/css/8601-streamable-learning-f525210660.chunk.css +0 -6
  360. package/dist/css/9514-streamable-learning-251703c6d1.chunk.css +0 -2
  361. package/dist/css/9766-streamable-learning-31650ffe5d.chunk.css +0 -8
  362. package/dist/css/9842-streamable-learning-24729103f7.chunk.css +0 -4
  363. package/dist/css/9899-streamable-learning-0338f8d2dc.chunk.css +0 -4
  364. package/dist/css/9951-streamable-learning-e9a916b2ef.chunk.css +0 -99
  365. package/dist/css/streamable-learning-dd0c1095d5.css +0 -23
  366. package/dist/languages/en.json +0 -1
  367. package/dist/scripts/103-aceced8961-streamable-learning.chunk.js +0 -1
  368. package/dist/scripts/1097-680a971192-streamable-learning.chunk.js +0 -2
  369. package/dist/scripts/1097-680a971192-streamable-learning.chunk.js.LICENSE.txt +0 -105
  370. package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js +0 -2
  371. package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js.LICENSE.txt +0 -1
  372. package/dist/scripts/1457-899f40d09a-streamable-learning.chunk.js +0 -1
  373. package/dist/scripts/1482-b1dd75897c-streamable-learning.chunk.js +0 -1
  374. package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js +0 -2
  375. package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js.LICENSE.txt +0 -9
  376. package/dist/scripts/2042-d51622d63e-streamable-learning.chunk.js +0 -1
  377. package/dist/scripts/2087-eba9033b1c-streamable-learning.chunk.js +0 -1
  378. package/dist/scripts/2245-8cd3224e1b-streamable-learning.chunk.js +0 -1
  379. package/dist/scripts/2334-00b028191d-streamable-learning.chunk.js +0 -1
  380. package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js +0 -2
  381. package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js.LICENSE.txt +0 -1
  382. package/dist/scripts/2877-5ffc9711f6-streamable-learning.chunk.js +0 -1
  383. package/dist/scripts/2911-2ec3a6600a-streamable-learning.chunk.js +0 -1
  384. package/dist/scripts/3057-731a8ca978-streamable-learning.chunk.js +0 -1
  385. package/dist/scripts/3093-efbcc927ea-streamable-learning.chunk.js +0 -1
  386. package/dist/scripts/3186-d1a6ccffde-streamable-learning.chunk.js +0 -1
  387. package/dist/scripts/3322-33c015dec9-streamable-learning.chunk.js +0 -1
  388. package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +0 -1
  389. package/dist/scripts/3838-4a38f33dc2-streamable-learning.chunk.js +0 -1
  390. package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +0 -1
  391. package/dist/scripts/4254-1e95cdfdf2-streamable-learning.chunk.js +0 -1
  392. package/dist/scripts/4607-2ef017d2ae-streamable-learning.chunk.js +0 -2
  393. package/dist/scripts/4607-2ef017d2ae-streamable-learning.chunk.js.LICENSE.txt +0 -1
  394. package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js +0 -2
  395. package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js.LICENSE.txt +0 -1
  396. package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +0 -1
  397. package/dist/scripts/5088-2e09e1ba6e-streamable-learning.chunk.js +0 -1
  398. package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +0 -1
  399. package/dist/scripts/5446-2cbe9f9d1b-streamable-learning.chunk.js +0 -1
  400. package/dist/scripts/5543-205aaa36a6-streamable-learning.chunk.js +0 -1
  401. package/dist/scripts/5565-224d86dc1b-streamable-learning.chunk.js +0 -1
  402. package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +0 -1
  403. package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js +0 -2
  404. package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js.LICENSE.txt +0 -1
  405. package/dist/scripts/6356-eefa3ff22e-streamable-learning.chunk.js +0 -1
  406. package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js +0 -2
  407. package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js.LICENSE.txt +0 -1
  408. package/dist/scripts/6987-e58de31cfe-streamable-learning.chunk.js +0 -1
  409. package/dist/scripts/7317-6b7186c85d-streamable-learning.chunk.js +0 -1
  410. package/dist/scripts/7347-772848ba8a-streamable-learning.chunk.js +0 -1
  411. package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js +0 -2
  412. package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js.LICENSE.txt +0 -1
  413. package/dist/scripts/7904-96574373ca-streamable-learning.chunk.js +0 -1
  414. package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +0 -1
  415. package/dist/scripts/8058-51c4b442d6-streamable-learning.chunk.js +0 -1
  416. package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js +0 -2
  417. package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js.LICENSE.txt +0 -60
  418. package/dist/scripts/8397-39ce77876d-streamable-learning.chunk.js +0 -1
  419. package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js +0 -2
  420. package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js.LICENSE.txt +0 -1
  421. package/dist/scripts/8599-b74e1ab6e3-streamable-learning.chunk.js +0 -1
  422. package/dist/scripts/8601-37783cf18b-streamable-learning.chunk.js +0 -1
  423. package/dist/scripts/8819-2a50dd6a9b-streamable-learning.chunk.js +0 -1
  424. package/dist/scripts/8937-5103db88d8-streamable-learning.chunk.js +0 -1
  425. package/dist/scripts/9390-bbaf07ad0f-streamable-learning.chunk.js +0 -1
  426. package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +0 -1
  427. package/dist/scripts/9766-855b276f54-streamable-learning.chunk.js +0 -2
  428. package/dist/scripts/9766-855b276f54-streamable-learning.chunk.js.LICENSE.txt +0 -1
  429. package/dist/scripts/9842-ca3b069e5d-streamable-learning.chunk.js +0 -1
  430. package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js +0 -2
  431. package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js.LICENSE.txt +0 -1
  432. package/dist/scripts/9951-122cbba64f-streamable-learning.chunk.js +0 -2
  433. package/dist/scripts/9951-122cbba64f-streamable-learning.chunk.js.LICENSE.txt +0 -1
  434. package/dist/scripts/bundle-d51fd463b2.min.js +0 -2
  435. package/dist/scripts/bundle-d51fd463b2.min.js.LICENSE.txt +0 -108
  436. package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js +0 -2
  437. package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js.LICENSE.txt +0 -21
@@ -0,0 +1,2 @@
1
+ import{j as e,b4 as x,l as d,Y as j,as as g,d as b,M as N,aL as v,m as f,ai as h,K as y,I as k}from"./app-DiXzpOyg.js";function T(n){return e.jsx("svg",{...n,children:e.jsx("path",{d:"M12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3",fill:"currentColor"})})}const C="_dropdownToggle_1jkd1_1",S={dropdownToggle:C};function p(){return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{padding:"0.53125rem 1rem"},children:e.jsx("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"8rem"}})}),e.jsx("div",{style:{padding:"0.53125rem 1rem"},children:e.jsx("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"12rem"}})}),e.jsx("div",{style:{padding:"0.53125rem 1rem"},children:e.jsx("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"11rem"}})}),e.jsx("div",{style:{padding:"0.53125rem 1rem"},children:e.jsx("div",{className:"partial-loading-background",style:{height:"1.0625rem",width:"9rem"}})})]})}function r(n){let o="dropdown-item";return n&&(o+=` ${n}`),o}function u(n){const o=g.isFunction(n.action.label)?n.action.label():e.jsx(e.Fragment,{children:n.action.label});if(n.action.appLink)return e.jsxs(b,{appLink:n.action.appLink,onClick:n.action.onClick,className:r(n.action.className),analyticsData:n.action.analyticsData,analyticsOptions:n.action.analyticsOptions,openInNewTab:n.action.openInNewTab,disabled:n.action.disabled,children:[n.action.svg&&e.jsx(d,{svg:n.action.svg,className:"d-inline-block svg-container me-2 align-middle"}),e.jsx("span",{className:"align-middle",children:o})]});function l(i){i.preventDefault(),n.action.analyticsData&&n.action.analyticsOptions&&N.logUserAction(n.action.analyticsData,n.action.analyticsOptions),g.isFunction(n.action.onClick)&&n.action.onClick(),n.action.href&&v.PageLoad(n.action.href,n.action.openInNewTab)}return n.action.href?e.jsxs("a",{className:r(n.action.className),onClick:l,href:n.action.href,children:[n.action.svg&&e.jsx(d,{svg:n.action.svg,className:"d-inline-block svg-container me-2 align-middle"}),e.jsx("span",{className:"align-middle",children:o})]}):e.jsxs("span",{className:`cursor-pointer ${r(n.action.className)}`,onClick:l,role:"button",tabIndex:0,onKeyDown:i=>i.key==="Enter"&&l(i),children:[n.action.svg&&e.jsx(d,{svg:n.action.svg,className:"d-inline-block svg-container me-2"}),o]})}w.defaultProps={dropdownToggleClassName:"btn btn-light",dropdownToggleSvgSize:f.Small};function w(n){if(!n.actions||!n.actions.length)return e.jsx(e.Fragment,{});const o=n.actions.some(t=>t.lazyPlaceholder);let l="dropdown";n.className&&(l+=` ${n.className}`);const i=`actions-dropdown-${x.getRandomInt()}`;let s=`dropdown-toggle px-0 ${S.dropdownToggle}`;n.dropdownToggleClassName&&(s+=` ${n.dropdownToggleClassName}`);let a;return e.jsxs("div",{className:l,children:[e.jsx("button",{className:s,type:"button",id:i,"data-bs-toggle":"dropdown","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false","aria-label":"More actions dropdown",onClick:o?n.fetchMore:null,children:e.jsx(d,{svg:T,size:n.dropdownToggleSvgSize})}),e.jsx("ul",{className:"dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal","aria-labelledby":i,children:o?e.jsx(p,{}):n.actions.map((t,c)=>{const m=a!==void 0&&a!==t.group;return a=t.group,t.tooltip?e.jsxs("li",{children:[m&&e.jsx("hr",{className:"dropdown-divider",role:"separator"}),e.jsx(j,{title:t.tooltip,spanHack:!0,children:e.jsx(u,{action:t})})]},c):e.jsxs("li",{children:[m&&e.jsx("hr",{className:"dropdown-divider",role:"separator"}),e.jsx(u,{action:t})]},c)})})]})}function I(n){const o=h.useMemo(()=>n.actions.sort((a,t)=>a.order-t.order),[n.actions]),l=[],i=[];o.forEach(a=>{a.button?l.push(a):i.push(a)});let s="d-flex";return n.className&&(s+=` ${n.className}`),!l.length&&!i.length?e.jsx(e.Fragment,{}):e.jsxs("div",{className:s,children:[l.length?l.map((a,t)=>e.jsx(h.Fragment,{children:(()=>{if(a.label){const c=g.isFunction(a.label)?a.label():e.jsx(e.Fragment,{children:a.label});return e.jsx(y,{appLink:a.appLink,href:a.href,onClick:a.onClick,svg:a.svg,svgSize:n.dropdownToggleSvgSize,className:a.className,tooltip:a.tooltip,showSpinner:a.showSpinner,analyticsData:a.analyticsData,analyticsOptions:a.analyticsOptions,openInNewTab:a.openInNewTab,disabled:a.disabled,children:c})}return e.jsx(k,{appLink:a.appLink,href:a.href,onClick:a.onClick,svg:a.svg,className:a.className,analyticsData:a.analyticsData,analyticsOptions:a.analyticsOptions,openInNewTab:a.openInNewTab,disabled:a.disabled,showBorder:a.showBorder,customSize:n.customSize,ariaLabel:a.tooltip,tooltip:a.tooltip})})()},t)):e.jsx(e.Fragment,{}),n.sortComponent&&n.sortComponent,i.length?e.jsx(w,{actions:i,dropdownToggleClassName:n.actionsDropdownClassName,dropdownToggleSvgSize:n.dropdownToggleSvgSize,fetchMore:n.fetchMore}):e.jsx(e.Fragment,{})]})}export{I as A};
2
+ //# sourceMappingURL=bww2eGbI.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bww2eGbI.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/MoreSvg.tsx","../../../../libs/shared/src/components/actions/ActionsDropdown.tsx","../../../../libs/shared/src/components/actions/Actions.tsx"],"sourcesContent":["import React from 'react';\n\nexport function MoreSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M12 13.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0 5.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3m0-11a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { MoreSvg } from 'libs/shared/images/svg/actions/MoreSvg';\n\nimport { ActionOptions } from './Actions';\n\nimport styles from './actions.module.scss';\n\nfunction LazyDropdownItems(): JSX.Element {\n return (\n <>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '8rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '12rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '11rem' }}></div>\n </div>\n <div style={{ padding: '0.53125rem 1rem' }}>\n <div className='partial-loading-background' style={{ height: '1.0625rem', width: '9rem' }}></div>\n </div>\n </>\n );\n}\n\nfunction getDropdownItemClassName(actionClassName?: string): string {\n let className = 'dropdown-item';\n\n if (actionClassName)\n className += ` ${actionClassName}`;\n\n return className;\n}\n\nexport type DropdownActionOptions = Omit<ActionOptions, 'button'>;\n\ninterface ActionsDropdownItemProps {\n action: DropdownActionOptions;\n}\n\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\n const label = FunctionHelper.isFunction(props.action.label)\n ? props.action.label()\n : <>{props.action.label}</>;\n\n if (props.action.appLink)\n return (\n <AppLink\n appLink={props.action.appLink}\n onClick={props.action.onClick}\n className={getDropdownItemClassName(props.action.className)}\n analyticsData={props.action.analyticsData}\n analyticsOptions={props.action.analyticsOptions}\n openInNewTab={props.action.openInNewTab}\n disabled={props.action.disabled}\n >\n {props.action.svg && <SvgContainer svg={props.action.svg} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label}</span>\n </AppLink>\n );\n\n function onClick(e: React.MouseEvent | React.KeyboardEvent): void {\n e.preventDefault();\n\n if (props.action.analyticsData && props.action.analyticsOptions)\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\n\n if (FunctionHelper.isFunction(props.action.onClick))\n props.action.onClick();\n\n if (props.action.href)\n Core.LocationUtils.PageLoad(props.action.href, props.action.openInNewTab);\n }\n\n if (props.action.href) {\n return (\n <a\n className={getDropdownItemClassName(props.action.className)}\n onClick={onClick}\n href={props.action.href}\n >\n {props.action.svg && <SvgContainer svg={props.action.svg} className='d-inline-block svg-container me-2 align-middle' />}\n <span className='align-middle'>{label}</span>\n </a>\n );\n }\n\n return (\n <span\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\n onClick={onClick}\n role='button'\n tabIndex={0}\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && onClick(e)}\n >\n {props.action.svg && <SvgContainer svg={props.action.svg} className='d-inline-block svg-container me-2' />}\n {label}\n </span>\n );\n}\n\ninterface ActionsDropdownProps {\n actions: DropdownActionOptions[];\n className?: string;\n dropdownToggleClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n fetchMore?: () => void;\n}\n\nActionsDropdown.defaultProps = {\n dropdownToggleClassName: 'btn btn-light',\n dropdownToggleSvgSize: SvgContainerSize.Small\n};\n\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\n if (!props.actions || !props.actions.length)\n return <></>;\n\n const isLazy = props.actions.some(a => a.lazyPlaceholder);\n\n let className = 'dropdown';\n\n if (props.className)\n className += ` ${props.className}`;\n\n // Generate unique id to avoid collisions.\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\n\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\n\n if (props.dropdownToggleClassName)\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\n\n let currentGroup: string;\n\n return (\n <div className={className}>\n <button\n className={dropdownToggleClassName}\n type='button'\n id={dropdownToggleId}\n data-bs-toggle='dropdown'\n data-toggle='dropdown'\n aria-haspopup='true'\n aria-expanded='false'\n aria-label={'More actions dropdown'}\n onClick={isLazy ? props.fetchMore : null}\n >\n <SvgContainer svg={MoreSvg} size={props.dropdownToggleSvgSize} />\n </button>\n <ul className='dropdown-menu dropdown-menu-end dropdown-menu-right font-size-normal' aria-labelledby={dropdownToggleId}>\n {isLazy ?\n <LazyDropdownItems /> :\n props.actions.map((a, idx) => {\n const showDivider = currentGroup !== undefined && currentGroup !== a.group;\n currentGroup = a.group;\n \n if (a.tooltip) {\n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <Tooltip title={a.tooltip} spanHack>\n <ActionsDropdownItem action={a} />\n </Tooltip>\n \n </li>\n );\n }\n \n return (\n <li key={idx}>\n {showDivider && <hr className='dropdown-divider' role='separator'></hr>}\n <ActionsDropdownItem action={a} />\n </li>\n );\n })\n }\n </ul>\n </div>\n );\n}","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport { ActionButton } from './ActionButton';\nimport { ActionsDropdown } from './ActionsDropdown';\n\nexport interface ActionOptions {\n order?: number;\n label?: string | (() => JSX.Element);\n appLink?: Core.AppLink;\n href?: string;\n onClick?: () => void;\n svg?: SvgIcon;\n className?: string;\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\n tooltip?: string;\n showSpinner?: boolean;\n showBorder?: boolean; // only works for button without text label\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n disabled?: boolean;\n openInNewTab?: boolean; // Only used if appLink or href is provided\n group?: string;\n lazyPlaceholder?: boolean;\n}\n\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\n\ninterface ActionsProps {\n actions: ActionOptions[];\n className?: string;\n actionsDropdownClassName?: string;\n dropdownToggleSvgSize?: SvgContainerSize;\n sortComponent?: JSX.Element;\n customSize?: boolean;\n fetchMore?: () => void;\n}\n\nexport function Actions(props: ActionsProps): JSX.Element {\n const orderedActions = React.useMemo(() => props.actions.sort((a, b) => a.order - b.order), [props.actions]);\n\n const buttonActions: ActionOptions[] = [];\n const moreActions: ActionOptions[] = [];\n\n orderedActions.forEach(a => {\n if (a.button)\n buttonActions.push(a);\n else\n moreActions.push(a);\n });\n\n let className = 'd-flex';\n\n if (props.className)\n className += ` ${props.className}`;\n\n if (!buttonActions.length && !moreActions.length)\n return <></>;\n\n return (\n <div className={className}>\n {buttonActions.length ? buttonActions.map((a, idx) => (\n <React.Fragment key={idx}>\n {(() => {\n if (a.label) {\n const label: JSX.Element = FunctionHelper.isFunction(a.label)\n ? a.label()\n : <>{a.label}</>;\n\n return (\n <ActionButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svg={a.svg}\n svgSize={props.dropdownToggleSvgSize}\n className={a.className}\n tooltip={a.tooltip}\n showSpinner={a.showSpinner}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n >\n {label}\n </ActionButton>\n );\n }\n\n return (\n <IconButton\n appLink={a.appLink}\n href={a.href}\n onClick={a.onClick}\n svg={a.svg}\n className={a.className}\n analyticsData={a.analyticsData}\n analyticsOptions={a.analyticsOptions}\n openInNewTab={a.openInNewTab}\n disabled={a.disabled}\n showBorder={a.showBorder}\n customSize={props.customSize}\n ariaLabel={a.tooltip}\n tooltip={a.tooltip}\n />\n );\n })()}\n </React.Fragment>\n )) : <></>}\n {props.sortComponent && props.sortComponent}\n {moreActions.length ? (\n <ActionsDropdown\n actions={moreActions}\n dropdownToggleClassName={props.actionsDropdownClassName}\n dropdownToggleSvgSize={props.dropdownToggleSvgSize}\n fetchMore={props.fetchMore}\n />\n ) : <></>}\n </div>\n );\n}"],"names":["MoreSvg","props","jsx","LazyDropdownItems","jsxs","Fragment","getDropdownItemClassName","actionClassName","className","ActionsDropdownItem","label","FunctionHelper","AppLink","SvgContainer","onClick","e","AnalyticsHelper","Core.LocationUtils","ActionsDropdown","SvgContainerSize","isLazy","a","dropdownToggleId","RandomHelper","dropdownToggleClassName","styles","currentGroup","idx","showDivider","Tooltip","Actions","orderedActions","React.useMemo","b","buttonActions","moreActions","React.Fragment","ActionButton","IconButton"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var a=(t=>(t.Pdf="pdf",t.Image="image",t.PowerPoint="powerpoint",t.Document="document",t.Excel="excel",t.Zip="archive",t.File="text",t))(a||{});export{a as R};
2
+ //# sourceMappingURL=cvX-F_mx.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cvX-F_mx.chunk.js","sources":["../../../../libs/shared/src/enums/ResourceFileType.ts"],"sourcesContent":["// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n"],"names":["ResourceFileType"],"mappings":"AACO,IAAKA,GAAAA,IACVA,EAAA,IAAM,MACNA,EAAA,MAAQ,QACRA,EAAA,WAAa,aACbA,EAAA,SAAW,WACXA,EAAA,MAAQ,QACRA,EAAA,IAAM,UACNA,EAAA,KAAO,OAPGA,IAAAA,GAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{j as s,c as _,as as j,p as k,q as C,_ as $,ai as y,Y as A,ae as P,T as w,n as f,O as x,l as D}from"./app-DiXzpOyg.js";import{P as S}from"./CPXlV0fg.chunk.js";import{b as T,c as I}from"./DTcDjqUi.chunk.js";import{V as L}from"./aXDrx9_z.chunk.js";import{A as E}from"./D4OCofAF.chunk.js";import{D as l}from"./BdHxGaRy.chunk.js";const H="_disabled_3300r_1",F="_disabledHighlighted_3300r_4",W="_badge_3300r_7",h={disabled:H,disabledHighlighted:F,badge:W},M="shared.audienceItem",O=_.encloseNamespace(M);function B(e){return e.split(" ").map(a=>a.charAt(0).toUpperCase()+a.substring(1)).join(" ")}function V(e,a){return e?a?`${h.disabledHighlighted} text-light`:"bg-gray-900 text-light":a?`${h.disabled} text-secondary`:"bg-light"}v.defaultProps={extraClasses:""};function v(e){const{audience:a,highlight:t,setAudience:n,isDisabled:r,extraClasses:g}=e,u=V(t,r),m=r?"cursor-default":"cursor-pointer",i=`${h.badge} lh-1 rounded-pill d-inline-block me-1 user-select-none ${m} ${u} ${g}`,o=()=>{r||!j.isFunction(n)||n(a,!t)};return s.jsx("button",{type:"button",className:i,onClick:o,role:"checkbox","aria-checked":t,"aria-label":`${O("ariaFilter")} ${a.name}`,disabled:r,children:B(a.name)})}const R="subjects.audienceFilter";function de(e){const{audiences:a,activeAudiences:t,appLink:n}=e,r=e.disabled||!n,[,g]=k($.AUDIENCE_FILTER,void 0,{storage:C.SessionStorage});y.useEffect(()=>{e.disablePersist||g(t)},[t]);function u(i,o){if(r)return;const b=o?[...(t==null?void 0:t.map(c=>c.name))??[],i.name]:t.map(c=>c.name).filter(c=>c!==i.name),N=()=>{const c=x.omit(n.params,["a"]);return b.length?Object.assign({},c,{a:b}):c};f.trigger({...n,params:N()},{replace:!0})}function m(){if(r)return;const i=x.omit(n.params,["a"]);f.trigger({...n,params:i},{replace:!0})}return!a||!a.length?s.jsx(s.Fragment,{}):s.jsx(A,{title:e.tooltip,spanHack:!0,children:s.jsxs("div",{className:"d-flex flex-wrap row-gap-2",children:[a.map(i=>s.jsx(v,{audience:i,highlight:!r&&!!(t!=null&&t.find(o=>o.masterId===i.masterId)),setAudience:u,isDisabled:r},i.masterId)),!r&&!!t&&!!Object.keys(t).length&&s.jsx(P,{className:"info-link d-inline-block ms-1",onClick:m,children:s.jsx(w,{namespace:R,phrase:"clear"})})]})})}const U=S.getPartialLoadingItems({numItems:6}),ge=()=>s.jsx("div",{className:"d-flex flex-wrap row-gap-2",children:U.map(({width:e},a)=>s.jsx("span",{className:"rounded-pill partial-loading-background me-1",dangerouslySetInnerHTML:{__html:"&nbsp"},style:{width:e}},a))}),q={[l.Archived]:{svg:E,svgColorClassName:"text-secondary",actionName:"Archive",statusName:"Archived"},[l.Draft]:{svg:T,svgColorClassName:"",actionName:"Draft",statusName:"Draft"},[l.Published]:{svg:L,svgColorClassName:"text-success",actionName:"Publish",statusName:"Published"}},K="_badge_1fgi1_1",Y="_draftLight_1fgi1_5",z="_draftDark_1fgi1_10",G="_published_1fgi1_15",J="_archived_1fgi1_20",d={badge:K,draftLight:Y,draftDark:z,published:G,archived:J};function Q(e){let a=`rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${d.badge}`;switch(e.status){case l.Published:a+=` ${d.published}`;break;case l.Archived:a+=` ${d.archived}`;break;case l.Draft:a+=` ${e.darkMode?d.draftDark:d.draftLight}`;break}return e.wrapperClassName&&(a+=` ${e.wrapperClassName}`),a}function X(e){const{statusName:a,svg:t}=q[e.status];return s.jsxs("div",{className:Q(e),children:[s.jsx(D,{svg:t}),s.jsx("div",{children:a})]})}const Z="_stickyWrapper_r2aeo_1",ee="_badgeWrapper_r2aeo_8",ae="_badge_r2aeo_8",p={stickyWrapper:Z,badgeWrapper:ee,badge:ae},se="shared.classificationPreviewBanner",te=_.encloseNamespace(se);function ue(e){return s.jsxs("div",{className:`${p.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`,children:[s.jsx("div",{className:`position-absolute d-flex ${p.badgeWrapper}`,children:s.jsx(X,{status:e.status,wrapperClassName:`${p.badge}`,darkMode:!0})}),s.jsx("div",{className:"flex-grow-1",children:s.jsxs("h1",{className:"text-center my-3 h5",children:[s.jsx(I,{emoji:"👀"}),te(e.type==="topic"?"topicTitle":"companyTitle")]})})]})}export{de as A,ue as P,ge as a};
2
+ //# sourceMappingURL=gtdeja1H.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gtdeja1H.chunk.js","sources":["../../../../libs/shared/src/apps/subjects/components/audience-item/AudienceItem.tsx","../../../../libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.tsx","../../../../libs/shared/src/apps/subjects/constants/DashboardStatusConfig.ts","../../../../libs/shared/src/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge.tsx","../../../../libs/shared/src/apps/subjects/components/preview-banner/PreviewBanner.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport styles from './audience-item.module.scss';\n\nconst namespace = 'shared.audienceItem';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction lowerCaseToTitleCase(str: string): string {\n return str.split(' ').map((s: string) => s.charAt(0).toUpperCase() + s.substring(1)).join(' ');\n}\n\nfunction getColourClass(highlight: boolean, isDisabled: boolean): string {\n if (highlight) return isDisabled ? `${styles.disabledHighlighted} text-light` : 'bg-gray-900 text-light';\n if (isDisabled) return `${styles.disabled} text-secondary`;\n return 'bg-light';\n}\n\ninterface AudienceItemProps {\n audience: PresentationAudience;\n highlight: boolean;\n setAudience?: (audience: PresentationAudience, highlight: boolean) => void;\n isDisabled?: boolean;\n extraClasses?: string;\n}\n\nAudienceItem.defaultProps = {\n extraClasses: ''\n};\n\nexport function AudienceItem(props: AudienceItemProps): React.ReactElement {\n const { audience, highlight, setAudience, isDisabled, extraClasses } = props;\n\n const colourClass = getColourClass(highlight, isDisabled);\n const cursorClass = isDisabled ? 'cursor-default' : 'cursor-pointer';\n const className = `${styles.badge} lh-1 rounded-pill d-inline-block me-1 user-select-none ${cursorClass} ${colourClass} ${extraClasses}`;\n\n const onClick = () => {\n if (isDisabled || !FunctionHelper.isFunction(setAudience))\n return;\n\n setAudience(audience, !highlight);\n };\n\n return (\n <button\n type='button'\n className={className}\n onClick={onClick}\n role='checkbox'\n aria-checked={highlight}\n aria-label={`${getPhrase('ariaFilter')} ${audience.name}`}\n disabled={isDisabled}\n >\n {lowerCaseToTitleCase(audience.name)}\n </button>\n );\n}","import * as React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AudienceItem } from 'libs/shared/apps/subjects/components/audience-item/AudienceItem';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { PresentationAudience } from 'libs/shared/interfaces';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\n\nconst namespace = 'subjects.audienceFilter';\n\ninterface AudienceFilterProps {\n audiences: PresentationAudience[];\n activeAudiences?: PresentationAudience[];\n disabled?: boolean;\n appLink: Core.AppLink;\n disablePersist?: boolean;\n tooltip?: string;\n}\n\nexport function AudienceFilter(props: AudienceFilterProps): React.ReactElement {\n const { audiences, activeAudiences, appLink } = props;\n\n const isDisabled = props.disabled || !appLink;\n\n const [ , setActiveAudiences ] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n React.useEffect(() => {\n if (!props.disablePersist)\n setActiveAudiences(activeAudiences);\n }, [activeAudiences]);\n\n function onToggleAudience(audience: PresentationAudience, isSelected: boolean): void {\n if (isDisabled)\n return;\n\n const activeAudienceNames = isSelected\n ? [ ...(activeAudiences?.map(a => a.name) ?? []), audience.name ]\n : activeAudiences.map(a => a.name).filter(name => name !== audience.name);\n\n const getParams = () => {\n const otherParams = ObjectHelper.omit(appLink.params, ['a']);\n\n if (!activeAudienceNames.length)\n return otherParams;\n\n return Object.assign({}, otherParams, { a: activeAudienceNames });\n };\n\n Core.AppLinkHelper.trigger({\n ...appLink,\n params: getParams()\n }, { replace: true });\n }\n\n function onClickClearAudiences(): void {\n if (isDisabled)\n return;\n\n const params = ObjectHelper.omit(appLink.params, ['a']);\n\n Core.AppLinkHelper.trigger({\n ...appLink,\n params\n }, { replace: true });\n }\n\n if (!audiences || !audiences.length)\n return <></>;\n\n return (\n <Tooltip title={props.tooltip} spanHack>\n <div className='d-flex flex-wrap row-gap-2'>\n {audiences.map((a: PresentationAudience) => (\n <AudienceItem\n key={a.masterId}\n audience={a}\n highlight={!isDisabled && !!activeAudiences?.find(aa => aa.masterId === a.masterId)}\n setAudience={onToggleAudience}\n isDisabled={isDisabled}\n />\n ))}\n {(!isDisabled && !!activeAudiences && !!Object.keys(activeAudiences).length) && (\n <DivButton className='info-link d-inline-block ms-1' onClick={onClickClearAudiences}>\n <Text namespace={namespace} phrase='clear' />\n </DivButton>\n )}\n </div>\n </Tooltip>\n );\n}\n\nconst PARTIAL_AUDIENCES = PartialLoadingHelper.getPartialLoadingItems({ numItems: 6 });\n\nexport const PartialAudienceFilter = () => (\n <div className={'d-flex flex-wrap row-gap-2'}>\n {PARTIAL_AUDIENCES.map(({ width }, idx) => (\n <span\n key={idx}\n className='rounded-pill partial-loading-background me-1'\n dangerouslySetInnerHTML={{ __html: '&nbsp' }}\n style={{ width }}\n />\n ))}\n </div>\n);","import { EditSvg } from 'libs/shared/images/svg/actions/EditSvg';\nimport { VisibleOnSvg } from 'libs/shared/images/svg/actions/VisibleOnSvg';\nimport { ArchiveSvg } from 'libs/shared/images/svg/objects/ArchiveSvg';\nimport { DashboardStatus } from 'libs/shared/interfaces/models/Dashboard';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\ninterface DashboardStatusConfigType {\n statusName: string;\n actionName: string;\n svg: SvgIcon;\n svgColorClassName: string;\n}\n\nexport const DashboardStatusConfig: Record<DashboardStatus, DashboardStatusConfigType> = {\n [DashboardStatus.Archived]: {\n svg: ArchiveSvg,\n svgColorClassName: 'text-secondary',\n actionName: 'Archive',\n statusName: 'Archived'\n },\n [DashboardStatus.Draft]: {\n svg: EditSvg,\n svgColorClassName: '',\n actionName: 'Draft',\n statusName: 'Draft'\n },\n [DashboardStatus.Published]: {\n svg: VisibleOnSvg,\n svgColorClassName: 'text-success',\n actionName: 'Publish',\n statusName: 'Published'\n }\n};","import React from 'react';\n\nimport { DashboardStatusConfig } from 'libs/shared/apps/subjects/constants/DashboardStatusConfig';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './dashboard-status-badge.module.scss';\n\nfunction getClassName(props: DashboardStatusBadgeProps): string {\n let className = `rounded-pill d-flex align-items-center ps-2 py-1 fw-semibold ms-2 ${styles.badge}`;\n\n switch (props.status) {\n case DashboardStatus.Published:\n className += ` ${styles.published}`;\n break;\n case DashboardStatus.Archived:\n className += ` ${styles.archived}`;\n break;\n case DashboardStatus.Draft:\n className += ` ${props.darkMode ? styles.draftDark : styles.draftLight}`;\n break;\n }\n\n if (props.wrapperClassName)\n className += ` ${props.wrapperClassName}`;\n\n return className;\n}\n\ninterface DashboardStatusBadgeProps {\n status: DashboardStatus;\n darkMode?: boolean;\n wrapperClassName?: string;\n}\n\nexport function DashboardStatusBadge(props: DashboardStatusBadgeProps): JSX.Element {\n const { statusName, svg } = DashboardStatusConfig[props.status];\n\n return (\n <div className={getClassName(props)}>\n <SvgContainer svg={svg} />\n <div>{statusName}</div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DashboardStatusBadge } from 'libs/shared/apps/subjects/components/classification-dashboard/dashboard-status-badge/DashboardStatusBadge';\nimport { EmojiText } from 'libs/shared/components/emoji-text/EmojiText';\nimport { DashboardStatus } from 'libs/shared/interfaces';\n\nimport styles from './preview-banner.module.scss';\n\nconst namespace = 'shared.classificationPreviewBanner';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PreviewBannerProps {\n status: DashboardStatus;\n type: 'company' | 'topic';\n}\n\nexport function PreviewBanner(props: PreviewBannerProps): JSX.Element {\n return (\n <div className={`${styles.stickyWrapper} py-2 d-flex justify-content-space-between bg-dark text-white mx-2 rounded`}>\n <div className={`position-absolute d-flex ${styles.badgeWrapper}`}>\n <DashboardStatusBadge status={props.status} wrapperClassName={`${styles.badge}`} darkMode />\n </div>\n <div className='flex-grow-1'>\n <h1 className='text-center my-3 h5'>\n <EmojiText emoji='👀' />\n {getPhrase(props.type === 'topic' ? 'topicTitle' : 'companyTitle')}\n </h1>\n </div>\n </div>\n );\n}\n"],"names":["namespace","getPhrase","LanguageService","lowerCaseToTitleCase","str","s","getColourClass","highlight","isDisabled","styles","AudienceItem","props","audience","setAudience","extraClasses","colourClass","cursorClass","className","onClick","FunctionHelper","jsx","AudienceFilter","audiences","activeAudiences","appLink","setActiveAudiences","useViewModel","SharedViewModelKeys","StorageType","React.useEffect","onToggleAudience","isSelected","activeAudienceNames","a","name","getParams","otherParams","ObjectHelper","Core.AppLinkHelper","onClickClearAudiences","params","Fragment","Tooltip","jsxs","aa","DivButton","Text","PARTIAL_AUDIENCES","PartialLoadingHelper","PartialAudienceFilter","width","idx","DashboardStatusConfig","DashboardStatus","ArchiveSvg","EditSvg","VisibleOnSvg","getClassName","DashboardStatusBadge","statusName","svg","SvgContainer","PreviewBanner","EmojiText"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{M as w,aK as m,i as p,k as c,a6 as i}from"./app-DiXzpOyg.js";let l=null;const s={getVideoDownloadUrl(o,t){return i.safeUrlConcat(i.makeHttps(o),`/download?token=${t}`)},downloadResource(o,t,e,n){var d;let a=l;l||(a=l=document.createElement("iframe"),document.body.appendChild(a),a.style.display="none"),a.src=o.url,n||w.logUserAction({id:o==null?void 0:o.id,name:o==null?void 0:o.name,resourceType:(d=o==null?void 0:o.metadata)==null?void 0:d.resourceType,...t},{actionType:c.Download,entity:p.Resource,workflowPhase:m.Complete,...e})},async downloadBlob(o,t){const e=await fetch(o);if(!e.ok)throw new Error("Error downloading file");const n=URL.createObjectURL(await e.blob()),a=document.createElement("a");a.href=n,a.download=t,document.body.appendChild(a),a.click(),document.body.removeChild(a),window.setTimeout(()=>URL.revokeObjectURL(n),100)}};export{s as D};
2
+ //# sourceMappingURL=m9wd_474.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m9wd_474.chunk.js","sources":["../../../../libs/shared/src/utils/DownloadHelper.ts"],"sourcesContent":["import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { Resource } from '../interfaces';\n\nlet downloadRef: HTMLIFrameElement = null;\n\nexport const DownloadHelper = {\n getVideoDownloadUrl(downloadProxyUrl: string, token: string): string {\n return UrlHelper.safeUrlConcat(UrlHelper.makeHttps(downloadProxyUrl), `/download?token=${token}`);\n },\n\n downloadResource(\n resource: Resource,\n analyticsData: HashObject,\n analyticsOptions: AnalyticsOptions,\n skipEventLogging?: boolean\n ): void {\n let iframe = downloadRef;\n\n if (!downloadRef) {\n iframe = downloadRef = document.createElement('iframe');\n document.body.appendChild(iframe);\n\n iframe.style.display = 'none';\n }\n\n iframe.src = resource.url;\n\n if (!skipEventLogging)\n AnalyticsHelper.logUserAction({\n id: resource?.id,\n name: resource?.name,\n resourceType: resource?.metadata?.resourceType,\n ...analyticsData\n }, {\n actionType: UserAction.Download,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete,\n ...analyticsOptions\n });\n },\n\n async downloadBlob(fileUrl: string, fileName: string): Promise<void> {\n const response = await fetch(fileUrl);\n\n if (!response.ok) {\n throw new Error('Error downloading file');\n }\n\n // Mime type is inferred from the download\n const downloadUrl = URL.createObjectURL(await response.blob());\n\n const a = document.createElement('a');\n a.href = downloadUrl;\n a.download = fileName;\n\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Delay revoking the URL to ensure the download is initiated\n window.setTimeout(() => URL.revokeObjectURL(downloadUrl), 100);\n }\n};"],"names":["downloadRef","DownloadHelper","downloadProxyUrl","token","UrlHelper","resource","analyticsData","analyticsOptions","skipEventLogging","iframe","AnalyticsHelper","_a","UserAction","EntityType","WorkflowPhase","fileUrl","fileName","response","downloadUrl"],"mappings":"oEAQA,IAAIA,EAAiC,KAE9B,MAAMC,EAAiB,CAC5B,oBAAoBC,EAA0BC,EAAuB,CACnE,OAAOC,EAAU,cAAcA,EAAU,UAAUF,CAAgB,EAAG,mBAAmBC,CAAK,EAAE,CAClG,EAEA,iBACEE,EACAC,EACAC,EACAC,EACM,OACN,IAAIC,EAAST,EAERA,IACHS,EAAST,EAAc,SAAS,cAAc,QAAQ,EACtD,SAAS,KAAK,YAAYS,CAAM,EAEhCA,EAAO,MAAM,QAAU,QAGzBA,EAAO,IAAMJ,EAAS,IAEjBG,GACHE,EAAgB,cAAc,CAC5B,GAAIL,GAAA,YAAAA,EAAU,GACd,KAAMA,GAAA,YAAAA,EAAU,KAChB,cAAcM,EAAAN,GAAA,YAAAA,EAAU,WAAV,YAAAM,EAAoB,aAClC,GAAGL,CAAA,EACF,CACD,WAAYM,EAAW,SACvB,OAAQC,EAAW,SACnB,cAAeC,EAAc,SAC7B,GAAGP,CAAA,CACJ,CACL,EAEA,MAAM,aAAaQ,EAAiBC,EAAiC,CACnE,MAAMC,EAAW,MAAM,MAAMF,CAAO,EAEpC,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAM,wBAAwB,EAI1C,MAAMC,EAAc,IAAI,gBAAgB,MAAMD,EAAS,MAAM,EAEvD,EAAI,SAAS,cAAc,GAAG,EACpC,EAAE,KAAOC,EACT,EAAE,SAAWF,EAEb,SAAS,KAAK,YAAY,CAAC,EAC3B,EAAE,MAAA,EACF,SAAS,KAAK,YAAY,CAAC,EAG3B,OAAO,WAAW,IAAM,IAAI,gBAAgBE,CAAW,EAAG,GAAG,CAC/D,CACF"}
@@ -0,0 +1,2 @@
1
+ var o=(r=>(r.Draft="Draft",r.ComingSoon="ComingSoon",r.Published="Published",r))(o||{});export{o as C};
2
+ //# sourceMappingURL=nay4aGaa.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nay4aGaa.chunk.js","sources":["../../../../libs/shared/src/enums/ClassificationStatus.ts"],"sourcesContent":["// Maps to enum in SubjectApi but uses the\n// key rather than the value as SubjectsApi returns the key.\nexport enum ClassificationStatus {\n Draft = 'Draft',\n ComingSoon = 'ComingSoon',\n Published = 'Published'\n}"],"names":["ClassificationStatus"],"mappings":"AAEO,IAAKA,GAAAA,IACVA,EAAA,MAAQ,QACRA,EAAA,WAAa,aACbA,EAAA,UAAY,YAHFA,IAAAA,GAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ var t=(a=>(a[a.FilterOut=0]="FilterOut",a[a.StripMetadata=1]="StripMetadata",a))(t||{});export{t as P};
2
+ //# sourceMappingURL=pkzD5BEm.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkzD5BEm.chunk.js","sources":["../../../../libs/shared/src/enums/PermissionFilterOption.ts"],"sourcesContent":["export enum PermissionFilterOption {\n FilterOut,\n StripMetadata\n}"],"names":["PermissionFilterOption"],"mappings":"AAAO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,UAAA,CAAA,EAAA,YACAA,EAAAA,EAAA,cAAA,CAAA,EAAA,gBAFUA,IAAAA,GAAA,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{t as n,a6 as i,bc as c,dt as b}from"./app-DiXzpOyg.js";import{P as f}from"./pkzD5BEm.chunk.js";var a=(e=>(e.Playlists="playlists",e.Series="series",e.Videos="videos",e.PinnedVideos="pinnedVideos",e))(a||{});const y=e=>`subjectpresentationaudiences.id:[${e.join(",")}]`,L={topicsFromAllAvailablePresentations(e){const s={filterType:"topics",presentationId:e};return{url:i.urlBuilder("{gateway}/v1/search/filters",s),publicUrl:i.urlBuilder("/api/search/filters",s),key:"classification:availableTopics",normalize:!1}},availablePresentations(e){const s={type:e==null?void 0:e.toLowerCase()};return{url:i.urlBuilder("{gateway}/v1/users/me/presentations/available",s),publicUrl:i.urlBuilder("/api/subjects/presentations/available",s),key:`available:presentations:${e}`,normalizeOptions:{namespace:"presentation"}}},topLevelTopics(e){const s={query:c.CLASSIFICATION_COLLECTION,sort:"alphabetical"};return{url:i.urlBuilder(`{gateway}/v1/subjects/presentations/${e}/classifications`,s),publicUrl:i.urlBuilder(`/api/subjects/presentations/${e}/classifications`,s),key:`presentation:${e}:classifications`}},presentationById(e){return{url:`{gateway}/v1/subjects/presentations/${e}`,publicUrl:`/api/subjects/presentations/${e}`,key:`presentation:${e}`}},presentationBySlug(e,s,r){const t={type:r.toLowerCase(),contentRegion:s};return{url:i.urlBuilder(`/api/subjects/presentations/${e}`,t),publicUrl:i.urlBuilder(`/api/subjects/presentations/${e}`,t),key:`current:presentation:${r.toLowerCase()}:${s}:${e??""}`,bootstrapName:"presentation",normalizeOptions:{namespace:"presentation"}}},presentation(e,s){const r={type:e==null?void 0:e.toLowerCase()};return{url:i.urlBuilder("{gateway}/v1/users/me/presentations",r),publicUrl:i.urlBuilder(`/api/subjects/presentations/${s}`,r),key:`current:presentation${e?`:${e.toLowerCase()}`:""}${s?`:${s}`:""}`,normalizeOptions:{namespace:"presentation"}}},classifications(){return{url:i.urlBuilder("{gateway}/v1/users/me/classifications",{query:c.CLASSIFICATION_COLLECTION,type:n.Subject.toLowerCase()}),publicUrl:i.urlBuilder("/api/subjects/classifications",{query:b.CLASSIFICATION_COLLECTION,type:n.Subject.toLowerCase()}),key:"classifications"}},classification(e,s,r){return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}`,{query:c.CLASSIFICATION(s)}),publicUrl:i.urlBuilder(`/api/subjects/classifications/${e}`,{query:b.CLASSIFICATION}),key:`classification:${e}`,error:r}},path(e,s){const r={type:s};return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}/path`,r),publicUrl:`/api/subjects/classifications/${e}/path`,key:`classification:${e}:path`}},paths(e){return{url:`/api/subjects/classifications/${e}/paths`,key:`classification:${e}:paths`}},children(e){return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}/children`,{query:c.CLASSIFICATION_COLLECTION}),publicUrl:i.urlBuilder(`/api/subjects/classifications/${e}/children`,{query:b.CLASSIFICATION_COLLECTION}),key:`classification:${e}:children`}},videos(e,s,r){if(!s)return;let t="limit:100,orderbydesc:timestamp";r.length&&(t+=`,${y(r)}`);const l={query:`{${t}}(videoCollection),subjectpresentationaudiences{presentationId:${s}}`,permissionFilterOption:f.StripMetadata};return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}/${a.PinnedVideos}`,l),publicUrl:i.urlBuilder(`/api/subjects/classifications/${e}/${a.PinnedVideos}`,l),key:`classification:${e}:${a.PinnedVideos}:${r.join(":")}`}},playlists(e,s,r){if(!s)return;let t="limit:100,orderby:name";r.length&&(t+=`,${y(r)}`);const l={query:`{${t}}${c.PLAYLIST_COLLECTION},subjectpresentationaudiences{presentationId:${s}}`,permissionFilterOption:f.StripMetadata};return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}/${a.Playlists}`,l),publicUrl:i.urlBuilder(`/api/subjects/classifications/${e}/${a.Playlists}`,l),key:`classification:${e}:${a.Playlists}:${r.join(":")}`,formatData:u=>{var o;if(u)return{...u,data:(o=u.data)==null?void 0:o.filter($=>{var p;return(p=$.cover)==null?void 0:p.url})}}}},series(e,s,r){if(!s)return;let t="limit:100";r.length&&(t+=`,${y(r)}`);const l={query:`{${t}}${c.SERIES},subjectpresentationaudiences{presentationId:${s}}`,permissionFilterOption:f.StripMetadata};return{url:i.urlBuilder(`{gateway}/v1/subjects/classifications/${e}/${a.Series}`,l),publicUrl:i.urlBuilder(`/api/subjects/classifications/${e}/${a.Series}`,l),key:`classification:${e}:${a.Series}:${r.join(":")}`,formatData:u=>{var o;if(u)return{...u,data:(o=u.data)==null?void 0:o.filter($=>{var p;return(p=$.tallPoster)==null?void 0:p.url})}}}},curriculumLinks(e,s){return{url:i.urlBuilder(`/api/subjects/presentations/${s}/objects/${e}/classifications/paths`,{type:n.Curriculum.toLowerCase()}),publicUrl:i.urlBuilder(`/api/subjects/presentations/${s}/objects/${e}/classifications/paths`,{type:n.Curriculum.toLowerCase()}),key:`curriculum:links:${e}:${s}`,normalize:!1}},subjectLinks(e,s){const r=i.urlBuilder(`/api/subjects/presentations/${s}/objects/${e}/classifications/paths`,{type:n.Subject.toLowerCase()});return{url:r,publicUrl:r,key:`subject:links:${e}:${s}`,normalize:!1}},getMappedCurriculums(e,s){const r={type:n.Curriculum.toLowerCase()};return{url:i.urlBuilder(`{gateway}/v1/objects/${e}/presentations`,r),publicUrl:i.urlBuilder(`/api/subjects/${e}/presentations`,{...r,pid:s}),key:`mapped:curriculums:${e}:${s.join(",")}`,normalize:!1}},regionAlternatives(e,s,r,t){return{url:`/api/subjects/classifications/${e}/region-alternatives`,publicUrl:`/api/subjects/classifications/${e}/region-alternatives`,key:`classification:regionAlternatives:${e}`,normalize:!1,success:s,error:r,always:t}}};export{L as C};
2
+ //# sourceMappingURL=qO6ZefON.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qO6ZefON.chunk.js","sources":["../../../../libs/shared/src/apps/subjects/enums/ClassificationMemberType.ts","../../../../libs/shared/src/flight-requests/ClassificationRequests.ts"],"sourcesContent":["export enum ClassificationMemberType {\n Playlists = 'playlists',\n Series = 'series',\n Videos = 'videos',\n PinnedVideos = 'pinnedVideos'\n}","import { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { ClassificationMemberType } from 'libs/shared/apps/subjects/enums/ClassificationMemberType';\nimport { PublicWithStatement, SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { PresentationType } from 'libs/shared/enums/PresentationType';\nimport { PlaylistCollection, RegionAlternative, SeriesCollection } from 'libs/shared/interfaces';\n\nconst getClassificationMemberFilter = (ids: string[]) => `subjectpresentationaudiences.id:[${ids.join(',')}]`;\n\nexport const ClassificationRequests = {\n topicsFromAllAvailablePresentations(ids: string[]): Flight.PublicRequest {\n const params = { filterType: 'topics', presentationId: ids };\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/search/filters', params),\n publicUrl: UrlHelper.urlBuilder('/api/search/filters', params),\n key: 'classification:availableTopics',\n normalize: false\n };\n },\n\n availablePresentations(type?: PresentationType): Flight.PublicRequest {\n const queryStringOpts = { type: type?.toLowerCase() };\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/users/me/presentations/available', queryStringOpts),\n publicUrl: UrlHelper.urlBuilder('/api/subjects/presentations/available', queryStringOpts),\n key: `available:presentations:${type}`,\n normalizeOptions: {\n namespace: 'presentation'\n }\n };\n },\n\n topLevelTopics(presentationId: string): Flight.PublicRequest {\n const params = {\n query: SharedWithStatements.CLASSIFICATION_COLLECTION,\n sort: 'alphabetical'\n };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/presentations/${presentationId}/classifications`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/presentations/${presentationId}/classifications`, params),\n key: `presentation:${presentationId}:classifications`\n };\n },\n\n presentationById(presentationId: string): Flight.PublicRequest {\n return {\n url: `{gateway}/v1/subjects/presentations/${presentationId}`,\n publicUrl: `/api/subjects/presentations/${presentationId}`,\n key: `presentation:${presentationId}`\n };\n },\n\n presentationBySlug(presentationSlug: string, contentRegion: string, type: PresentationType): Flight.PublicRequest {\n const params = {\n type: type.toLowerCase(),\n contentRegion: contentRegion\n };\n\n return {\n url: UrlHelper.urlBuilder(`/api/subjects/presentations/${presentationSlug}`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/presentations/${presentationSlug}`, params),\n key: `current:presentation:${type.toLowerCase()}:${contentRegion}:${presentationSlug ?? ''}`,\n bootstrapName: 'presentation',\n normalizeOptions: {\n namespace: 'presentation'\n }\n };\n },\n\n presentation(type: PresentationType, presentationId?: string): Flight.PublicRequest {\n const params = {\n type: type?.toLowerCase()\n };\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/users/me/presentations', params),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/presentations/${presentationId}`, params),\n key: `current:presentation${type ? `:${type.toLowerCase()}` : ''}${presentationId ? `:${presentationId}` : ''}`,\n normalizeOptions: {\n namespace: 'presentation'\n }\n };\n },\n\n classifications(): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/users/me/classifications', {\n query: SharedWithStatements.CLASSIFICATION_COLLECTION,\n type: PresentationType.Subject.toLowerCase()\n }),\n publicUrl: UrlHelper.urlBuilder('/api/subjects/classifications', {\n query: PublicWithStatement.CLASSIFICATION_COLLECTION,\n type: PresentationType.Subject.toLowerCase()\n }),\n key: `classifications`\n };\n },\n\n classification(id: string, userId?: string, error?: (xhr: Xhr) => void): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}`, {\n query: SharedWithStatements.CLASSIFICATION(userId)\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/classifications/${id}`, {\n query: PublicWithStatement.CLASSIFICATION\n }),\n key: `classification:${id}`,\n error\n };\n },\n\n path(id: string, presentationType?: PresentationType): Flight.PublicRequest {\n const params = { type: presentationType };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}/path`, params),\n publicUrl: `/api/subjects/classifications/${id}/path`,\n key: `classification:${id}:path`\n };\n },\n\n paths(id: string): Flight.Request {\n return {\n url: `/api/subjects/classifications/${id}/paths`,\n key: `classification:${id}:paths`\n };\n },\n\n children(id: string): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}/children`, {\n query: SharedWithStatements.CLASSIFICATION_COLLECTION\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/classifications/${id}/children`, {\n query: PublicWithStatement.CLASSIFICATION_COLLECTION\n }),\n key: `classification:${id}:children`\n };\n },\n\n videos(\n id: string,\n presentationId: string,\n activeAudiences: string[]\n ): Flight.PublicRequest {\n if (!presentationId)\n return;\n\n let filter = 'limit:100,orderbydesc:timestamp';\n\n if (activeAudiences.length)\n filter += `,${getClassificationMemberFilter(activeAudiences)}`;\n\n const query = `{${filter}}(videoCollection),subjectpresentationaudiences{presentationId:${presentationId}}`;\n\n // TODO (public): Remove this permissionFilterOpts\n const queryStringObj = {\n query,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}/${ClassificationMemberType.PinnedVideos}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/classifications/${id}/${ClassificationMemberType.PinnedVideos}`, queryStringObj),\n key: `classification:${id}:${ClassificationMemberType.PinnedVideos}:${activeAudiences.join(':')}`\n };\n },\n\n /**\n * This request should only be used when displaying the playlist widget within a classification/topic page.\n * The current behaviour is to filter out any playlist that don't yet have a poster, this will ensure that\n * all topic pages are only showed in a complete state.\n */\n playlists(id: string, presentationId: string, activeAudiences: string[]): Flight.PublicRequest {\n if (!presentationId)\n return;\n\n let filter = 'limit:100,orderby:name';\n\n if (activeAudiences.length)\n filter += `,${getClassificationMemberFilter(activeAudiences)}`;\n\n const query = `{${filter}}${SharedWithStatements.PLAYLIST_COLLECTION}` +\n `,subjectpresentationaudiences{presentationId:${presentationId}}`;\n\n // TODO (public): Remove this permissionFilterOpts\n const queryStringObj = {\n query,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}/${ClassificationMemberType.Playlists}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/classifications/${id}/${ClassificationMemberType.Playlists}`, queryStringObj),\n key: `classification:${id}:${ClassificationMemberType.Playlists}:${activeAudiences.join(':')}`,\n formatData: (playlist: PlaylistCollection): PlaylistCollection => {\n if (!playlist)\n return;\n\n return {\n ...playlist,\n data: playlist.data?.filter(p => p.cover?.url)\n };\n }\n };\n },\n\n /**\n * This request should only be used when displaying the series widget within a classification/topic page.\n * The current behaviour is to filter out any series that don't yet have a poster, this will ensure that\n * all topic pages are only showed in a complete state.\n */\n series(id: string, presentationId: string, activeAudiences: string[]): Flight.PublicRequest {\n if (!presentationId)\n return;\n\n let filter = 'limit:100';\n\n if (activeAudiences.length)\n filter += `,${getClassificationMemberFilter(activeAudiences)}`;\n\n const query = `{${filter}}${SharedWithStatements.SERIES}` +\n `,subjectpresentationaudiences{presentationId:${presentationId}}`;\n\n // TODO (public): Remove this permissionFilterOpts\n const queryStringObj = {\n query,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/subjects/classifications/${id}/${ClassificationMemberType.Series}`, queryStringObj),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/classifications/${id}/${ClassificationMemberType.Series}`, queryStringObj),\n key: `classification:${id}:${ClassificationMemberType.Series}:${activeAudiences.join(':')}`,\n formatData: (series: SeriesCollection): SeriesCollection => {\n if (!series)\n return;\n\n return {\n ...series,\n data: series.data?.filter(s => s.tallPoster?.url)\n };\n }\n };\n },\n\n curriculumLinks(id: string, curriculumId: string): Flight.PublicRequest {\n return {\n url: UrlHelper.urlBuilder(`/api/subjects/presentations/${curriculumId}/objects/${id}/classifications/paths`, {\n type: PresentationType.Curriculum.toLowerCase()\n }),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/presentations/${curriculumId}/objects/${id}/classifications/paths`, {\n type: PresentationType.Curriculum.toLowerCase()\n }),\n key: `curriculum:links:${id}:${curriculumId}`,\n normalize: false\n };\n },\n\n subjectLinks(id: string, presentationId: string): Flight.PublicRequest {\n const url = UrlHelper.urlBuilder(`/api/subjects/presentations/${presentationId}/objects/${id}/classifications/paths`, {\n type: PresentationType.Subject.toLowerCase()\n });\n\n return {\n url,\n publicUrl: url,\n key: `subject:links:${id}:${presentationId}`,\n normalize: false\n };\n },\n\n getMappedCurriculums(\n id: string,\n pids: string[]\n ): Flight.PublicRequest {\n const params: HashObject = {\n type: PresentationType.Curriculum.toLowerCase()\n };\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}/presentations`, params),\n publicUrl: UrlHelper.urlBuilder(`/api/subjects/${id}/presentations`, { ...params, pid: pids }),\n key: `mapped:curriculums:${id}:${pids.join(',')}`,\n normalize: false\n };\n },\n\n regionAlternatives(\n classificationId: string,\n success?: (data: RegionAlternative[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.PublicRequest {\n return {\n url: `/api/subjects/classifications/${classificationId}/region-alternatives`,\n publicUrl: `/api/subjects/classifications/${classificationId}/region-alternatives`,\n key: `classification:regionAlternatives:${classificationId}`,\n normalize: false,\n success,\n error,\n always\n };\n }\n};\n"],"names":["ClassificationMemberType","getClassificationMemberFilter","ids","ClassificationRequests","params","UrlHelper","type","queryStringOpts","presentationId","SharedWithStatements","presentationSlug","contentRegion","PresentationType","PublicWithStatement","id","userId","error","presentationType","activeAudiences","filter","queryStringObj","PermissionFilterOption","playlist","_a","p","series","s","curriculumId","url","pids","classificationId","success","always"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as t,Y as n,c as a,l as i}from"./app-DiXzpOyg.js";import{T as c}from"./BaMuTXqa.chunk.js";const l="_tag_1f6v7_1",r="_tooltip_1f6v7_5",s={tag:l,tooltip:r},e="specialEventCalendar.comingSoonTag";function p(o){return t.jsx(n,{title:a.getPhrase(e,"tooltip"),spanHackClassName:`d-block ${s.tooltip}`,spanHack:!0,children:t.jsxs("div",{className:`d-flex text-dark align-items-center ${s.tag} ${o.className}`,children:[t.jsx(i,{svg:c}),!o.onlyIcon&&a.getPhrase(e,"comingSoon")]})})}export{p as C};
2
+ //# sourceMappingURL=s4utqqzH.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s4utqqzH.chunk.js","sources":["../../../../libs/shared/src/apps/calendar/components/coming-soon-tag/ComingSoonTag.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { TimerSvg } from 'libs/shared/images/svg/status/TimerSvg';\n\nimport styles from './coming-soon-tag.module.scss';\n\nconst namespace = 'specialEventCalendar.comingSoonTag';\n\ninterface ComingSoonProps {\n className?: string;\n onlyIcon?: boolean;\n}\n\nexport function ComingSoonTag(props: ComingSoonProps): JSX.Element {\n return (\n <Tooltip title={LanguageService.getPhrase(namespace, 'tooltip')} spanHackClassName={`d-block ${styles.tooltip}`} spanHack>\n <div className={`d-flex text-dark align-items-center ${styles.tag} ${props.className}`}>\n <SvgContainer svg={TimerSvg} />\n {!props.onlyIcon && LanguageService.getPhrase(namespace, 'comingSoon')}\n </div>\n </Tooltip>\n );\n}"],"names":["namespace","ComingSoonTag","props","jsx","Tooltip","LanguageService","styles","jsxs","SvgContainer","TimerSvg"],"mappings":"mKAUMA,EAAY,qCAOX,SAASC,EAAcC,EAAqC,CACjE,OACEC,EAAAA,IAACC,EAAA,CAAQ,MAAOC,EAAgB,UAAUL,EAAW,SAAS,EAAG,kBAAmB,WAAWM,EAAO,OAAO,GAAI,SAAQ,GACvH,SAAAC,EAAAA,KAAC,MAAA,CAAI,UAAW,uCAAuCD,EAAO,GAAG,IAAIJ,EAAM,SAAS,GAClF,SAAA,CAAAC,EAAAA,IAACK,EAAA,CAAa,IAAKC,CAAA,CAAU,EAC5B,CAACP,EAAM,UAAYG,EAAgB,UAAUL,EAAW,YAAY,CAAA,CAAA,CACvE,CAAA,CACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as l}from"./app-DiXzpOyg.js";function a(e){return l.jsx("svg",{...e,children:l.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16m0-15a7 7 0 1 1 0 14 7 7 0 0 1 0-14m.5 4a.5.5 0 0 0-1 0v5.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L12.5 14.293z",clipRule:"evenodd"})})}export{a as D};
2
+ //# sourceMappingURL=sxyRyCzh.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sxyRyCzh.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/DownloadSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function DownloadSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16m0-15a7 7 0 1 1 0 14 7 7 0 0 1 0-14m.5 4a.5.5 0 0 0-1 0v5.293l-2.146-2.147a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L12.5 14.293z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n"],"names":["DownloadSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,iMACF,SAAS,SAAA,CAAA,EAEb,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as a}from"./app-DiXzpOyg.js";function n(e){return a.jsx("svg",{...e,children:a.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m4-2a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1zM9 11.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5M5.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M9 16.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5M5.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3",clipRule:"evenodd"})})}export{n as T};
2
+ //# sourceMappingURL=tzNty_oG.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tzNty_oG.chunk.js","sources":["../../../../libs/shared/src/images/svg/objects/TableOfContentsSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function TableOfContentsSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M5.5 8a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m4-2a.5.5 0 0 0 0 1h10a.5.5 0 0 0 0-1zM9 11.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5M5.5 13a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M9 16.5a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1h-10a.5.5 0 0 1-.5-.5M5.5 18a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n"],"names":["TableOfContentsSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAmBC,EAAsC,CACvE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,uSACF,SAAS,SAAA,CAAA,EAEb,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{ai as u,as as C,bn as f}from"./app-DiXzpOyg.js";import{u as E}from"./B928Y1m-.chunk.js";const g=400;function H(e){const l=()=>{if(!e.isFetching){if(e.scrollContainer){const{scrollContainer:r}=e,n=r.getBoundingClientRect().height+r.scrollTop,o=r.scrollHeight-g;if(n<o)return}else{const r=window.innerHeight+document.documentElement.scrollTop,n=document.documentElement.scrollHeight-g;if(r<n)return}e.fetchNextPage()}};u.useEffect(()=>{const r=C.throttle(l,200),n=e.scrollContainer||window;return e.hasMore&&n.addEventListener("scroll",r),()=>n.removeEventListener("scroll",r)},[e.hasMore,e.fetchNextPage,e.scrollContainer])}function I(e,l,r,n,o,d){const[m,a]=u.useState(0),s=l;function F(i){if(!e)return null;const c=e(i);return c?c.key:null}const t=E(F,n);function S(){if(!(!l||!e||!t))return a(i=>i+1),s(t.nextCursor)}return H({fetchNextPage:S,hasMore:!!(t!=null&&t.nextCursor),isFetching:t==null?void 0:t.isFetching,scrollContainer:d}),u.useEffect(()=>{t&&t.shouldInitialFetch&&l&&(s(),a(i=>i+1))},[t==null?void 0:t.shouldInitialFetch,l]),u.useEffect(()=>{var c,h;if(!(t!=null&&t.statusCode)||!C.isFunction(r))return;const i=+((h=(c=t.statusCode)==null?void 0:c.toString())==null?void 0:h.substr(0,1));i!==f.ClientError&&i!==f.ServerError||r(m,t.statusCode)},[t==null?void 0:t.statusCode]),{items:t==null?void 0:t.items,hasMore:!!(t!=null&&t.nextCursor),nextCursor:t==null?void 0:t.nextCursor,isFetching:t==null?void 0:t.isFetching,totalItems:t==null?void 0:t.totalItems,hasFirstPageCompleted:t==null?void 0:t.hasFirstPageCompleted}}export{I as u};
2
+ //# sourceMappingURL=vjyJbQe4.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vjyJbQe4.chunk.js","sources":["../../../../libs/shared/src/hooks/UseInfiniteScroll.ts","../../../../libs/shared/src/hooks/UseInfiniteList.ts"],"sourcesContent":["import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}"],"names":["SCROLL_TOLERANCE","useInfiniteScroll","options","handleScroll","scrollContainer","currentScrollHeight","totalHeight","useEffect","onScroll","FunctionHelper","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","pagesFetched","setPagesFetched","useState","fetchNextFn","getKey","cursor","request","response","useSelectAllPages","fetchNextPage","currentVal","httpStatusClass","_b","_a","HttpStatusClass"],"mappings":"+FAIA,MAAMA,EAAmB,IASlB,SAASC,EAAkBC,EAAyC,CACzE,MAAMC,EAAe,IAAY,CAC/B,GAAI,CAAAD,EAAQ,WAGZ,IAAKA,EAAQ,gBAON,CACL,KAAM,CAAE,gBAAAE,GAAoBF,EACtBG,EAAsBD,EAAgB,sBAAA,EAAwB,OAASA,EAAgB,UAEvFE,EAAcF,EAAgB,aAAeJ,EAEnD,GAAIK,EAAsBC,EACxB,MACJ,KAf8B,CAC5B,MAAMD,EAAsB,OAAO,YAAc,SAAS,gBAAgB,UAEpEC,EAAc,SAAS,gBAAgB,aAAeN,EAE5D,GAAIK,EAAsBC,EACxB,MACJ,CAUAJ,EAAQ,cAAA,EACV,EAEAK,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAWC,EAAe,SAASN,EAAc,GAAG,EAEpDC,EAAkBF,EAAQ,iBAAmB,OAEnD,OAAIA,EAAQ,SACVE,EAAgB,iBAAiB,SAAUI,CAAQ,EAE9C,IAAMJ,EAAgB,oBAAoB,SAAUI,CAAQ,CACrE,EAAG,CAAEN,EAAQ,QAASA,EAAQ,cAAeA,EAAQ,eAAgB,CAAC,CACxE,CCjBO,SAASQ,EACdC,EACAC,EACAC,EACAC,EACAC,EACAX,EACgC,CAChC,KAAM,CAAEY,EAAcC,CAAgB,EAAIC,EAAAA,SAAS,CAAC,EAE9CC,EAAcP,EAEpB,SAASQ,EAAOC,EAAyB,CACvC,GAAI,CAACV,EACH,OAAO,KAET,MAAMW,EAAUX,EAAWU,CAAM,EAEjC,OAAKC,EAGEA,EAAQ,IAFN,IAGX,CAEA,MAAMC,EAAWC,EACfJ,EACAN,CAEF,EAEA,SAASW,GAAsB,CAC7B,GAAI,GAACb,GAAa,CAACD,GAAc,CAACY,GAGlC,OAAAN,EAAgBS,GAAcA,EAAa,CAAC,EACrCP,EAAYI,EAAS,UAAU,CACxC,CAEA,OAAAtB,EAAkB,CAChB,cAAAwB,EACA,QAAS,CAAC,EAACF,GAAA,MAAAA,EAAU,YACrB,WAAYA,GAAA,YAAAA,EAAU,WACtB,gBAAAnB,CAAA,CACD,EAEDG,EAAAA,UAAU,IAAM,CACTgB,GAGDA,EAAS,oBAAsBX,IACjCO,EAAA,EACAF,EAAgBS,GAAcA,EAAa,CAAC,EAEhD,EAAG,CAAEH,GAAA,YAAAA,EAAU,mBAAoBX,CAAU,CAAC,EAE9CL,EAAAA,UAAU,IAAM,SACd,GAAI,EAACgB,GAAA,MAAAA,EAAU,aAAc,CAACd,EAAe,WAAWI,CAAO,EAC7D,OAEF,MAAMc,EAAmC,GAAEC,GAAAC,EAAAN,EAAS,aAAT,YAAAM,EAAqB,aAArB,YAAAD,EAAiC,OAAO,EAAG,IAElFD,IAAoBG,EAAgB,aAAeH,IAAoBG,EAAgB,aAG3FjB,EAAQG,EAAcO,EAAS,UAAU,CAC3C,EAAG,CAACA,GAAA,YAAAA,EAAU,UAAU,CAAC,EAElB,CACL,MAAOA,GAAA,YAAAA,EAAU,MACjB,QAAS,CAAC,EAACA,GAAA,MAAAA,EAAU,YACrB,WAAYA,GAAA,YAAAA,EAAU,WACtB,WAAYA,GAAA,YAAAA,EAAU,WACtB,WAAYA,GAAA,YAAAA,EAAU,WACtB,sBAAuBA,GAAA,YAAAA,EAAU,qBAAA,CAErC"}
@@ -0,0 +1,2 @@
1
+ import{dh as $}from"./app-DiXzpOyg.js";const u=(n,s,e)=>{n=n.toString();const t=s-n.length;return t<=0?n:new Array(t+1).join(e)+n},c={ToDisplayDuration(n,s){if(!$(n))return"";const e=new Date(n),t=e.getUTCHours(),r=u(e.getUTCMinutes(),2,"0"),o=u(e.getUTCSeconds(),2,"0");return s||t>0?`${t}:${r}:${o}`:`${r}:${o}`},ToDisplayDurationNewStyle(n,s){if(!$(n))return"";const e=new Date(n),t=e.getUTCHours();let r=e.getUTCMinutes();const o=e.getUTCSeconds();if((t>0||r>0)&&o>=30&&(r=r+1),t>0){const i=t>1?"hrs":"hr";return r>0?s&&o>0?`${t}${i} ${r}m ${o}s`:`${t}${i} ${r}m `:`${t} ${i}`}return r>0?s&&o>0?`${r}m ${o}s`:`${r}m`:`${o}s`}};export{c as D};
2
+ //# sourceMappingURL=vuoBilPQ.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vuoBilPQ.chunk.js","sources":["../../../../libs/shared/src/utils/DurationHelper.ts"],"sourcesContent":["import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n const h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n }\n};\n\nexport { DurationHelper };"],"names":["padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit"],"mappings":"uCAEA,MAAMA,EAAU,CAACC,EAAwBC,EAAqBC,IAAoB,CAChFF,EAAQA,EAAM,SAAA,EAEd,MAAMG,EAAOF,EAAcD,EAAM,OAEjC,OAAIG,GAAQ,EACHH,EAEF,IAAI,MAAMG,EAAO,CAAC,EAAE,KAAKD,CAAO,EAAIF,CAC7C,EAEMI,EAAiB,CAIrB,kBAAkBC,EAAsBC,EAA2B,CACjE,GAAI,CAACC,EAAWF,CAAY,EAC1B,MAAO,GAET,MAAMG,EAAO,IAAI,KAAKH,CAAY,EAE5BI,EAAID,EAAK,YAAA,EACTE,EAAIX,EAAQS,EAAK,cAAA,EAAiB,EAAG,GAAG,EACxCG,EAAIZ,EAAQS,EAAK,cAAA,EAAiB,EAAG,GAAG,EAE9C,OAAIF,GAAWG,EAAI,EACV,GAAGA,CAAC,IAAIC,CAAC,IAAIC,CAAC,GAGhB,GAAGD,CAAC,IAAIC,CAAC,EAClB,EAEA,0BAA0BN,EAAsBO,EAAkC,CAChF,GAAI,CAACL,EAAWF,CAAY,EAC1B,MAAO,GAET,MAAMG,EAAO,IAAI,KAAKH,CAAY,EAE5BI,EAAID,EAAK,YAAA,EACf,IAAIE,EAAIF,EAAK,cAAA,EACb,MAAMG,EAAIH,EAAK,cAAA,EAOf,IAJKC,EAAI,GAAKC,EAAI,IAAMC,GAAK,KAC3BD,EAAIA,EAAI,GAGND,EAAI,EAAG,CACT,MAAMI,EAAWJ,EAAI,EAAI,MAAQ,KAEjC,OAAIC,EAAI,EACFE,GAAkBD,EAAI,EACjB,GAAGF,CAAC,GAAGI,CAAQ,IAAIH,CAAC,KAAKC,CAAC,IAG5B,GAAGF,CAAC,GAAGI,CAAQ,IAAIH,CAAC,KAGtB,GAAGD,CAAC,IAAII,CAAQ,EACzB,CAEA,OAAIH,EAAI,EACFE,GAAkBD,EAAI,EACjB,GAAGD,CAAC,KAAKC,CAAC,IAGZ,GAAGD,CAAC,IAGN,GAAGC,CAAC,GACb,CACF"}
@@ -0,0 +1,2 @@
1
+ import{j as s,d as x,c as b}from"./app-DiXzpOyg.js";import{T as n}from"./C2zcSUEr.chunk.js";const T="_tagList_ihahv_1",f="_badgeBase_ihahv_5",C="_disabled_ihahv_8",p="_partialTag_ihahv_16",y="_removeBadge_ihahv_19",B="_removeBadgeText_ihahv_23",N="_close_ihahv_26",o={tagList:T,badgeBase:f,disabled:C,partialTag:p,removeBadge:y,removeBadgeText:B,close:N},w="shared.tags",L=b.encloseNamespace(w);function j(e,l){switch(e){case n.Pedagogy:case n.Skill:return"pedagogy-tag text-white";case n.Hidden:return"hidden-tag fw-normal";case n.Normal:return l?"":"bg-gray-100 fw-normal";default:return""}}function R(e){var u,_;const{tag:l,appLink:i,onClick:r,disabled:g,tagClass:v="tag"}=e,t=l.name.toLowerCase(),m=(u=l.tagType)==null?void 0:u.toLowerCase(),c=m===n.Normal&&e.themeColours&&!!((_=e.themeColours)!=null&&_.secondary);let a=`${o.badgeBase} rounded-pill py-1 px-2 my-1 me-1 ${v} ${j(m,c)}`,d="text-truncate text-nowrap";c&&(a+=" text-white"),(i||r)&&!g&&(a+=" cursor-pointer"),g&&(a+=" "+o.disabled),e.onRemove&&(a+=" "+o.removeBadge,d+=` ${o.removeBadgeText} d-inline-flex align-items-center lh-1`),i||(a+=" d-inline-block");const h=c?{backgroundColor:e.themeColours.secondary}:{};return i?s.jsx(x,{onClick:r,appLink:i,className:a,title:t,style:h,children:s.jsx("span",{className:d,children:t})}):s.jsx("button",{onClick:r,className:a,title:t,style:h,"aria-label":`${L("ariaFilter")} ${t}`,children:s.jsxs("span",{className:d,children:[t,e.onRemove&&s.jsx("button",{onClick:e.onRemove,className:`${o.close} btn-close font-size-normal`,role:"button","aria-label":"Close"})]})})}export{R as T,o as s};
2
+ //# sourceMappingURL=vwgUbn2Z.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vwgUbn2Z.chunk.js","sources":["../../../../libs/shared/src/components/tags/TagItem.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.module.scss';\n\nconst namespace = 'shared.tags';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType, hasThemeColour: boolean): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag fw-normal';\n\n case TagType.Normal:\n if (!hasThemeColour)\n return 'bg-gray-100 fw-normal';\n return '';\n\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n const hasThemeColour = (tagType === TagType.Normal && props.themeColours) && !!props.themeColours?.secondary;\n let classNames = `${styles.badgeBase} rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType, hasThemeColour)}`;\n let textContainerClass = `text-truncate text-nowrap`;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove) {\n classNames += ' ' + styles.removeBadge;\n textContainerClass += ' ' + `${styles.removeBadgeText} d-inline-flex align-items-center lh-1`;\n }\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className={textContainerClass}>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <button\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n aria-label={`${getPhrase('ariaFilter')} ${name}`}\n >\n <span className={textContainerClass}>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </button>\n );\n}"],"names":["namespace","getPhrase","LanguageService","getTagTypeClass","tagType","hasThemeColour","TagType","TagItem","props","tag","appLink","onClick","disabled","tagClass","name","_a","_b","classNames","styles","textContainerClass","style","jsx","AppLink","jsxs"],"mappings":"mWAWMA,EAAY,cACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAY5D,SAASG,EAAgBC,EAAkBC,EAAiC,CAC1E,OAAQD,EAAA,CACN,KAAKE,EAAQ,SACb,KAAKA,EAAQ,MACX,MAAO,0BAET,KAAKA,EAAQ,OACX,MAAO,uBAET,KAAKA,EAAQ,OACX,OAAKD,EAEE,GADE,wBAGX,QACE,MAAO,EAAA,CAEb,CAEO,SAASE,EAAQC,EAAkC,SACxD,KAAM,CAAE,IAAAC,EAAK,QAAAC,EAAS,QAAAC,EAAS,SAAAC,EAAU,SAAAC,EAAW,OAAUL,EAExDM,EAAOL,EAAI,KAAK,YAAA,EAChBL,GAAUW,EAAAN,EAAI,UAAJ,YAAAM,EAAa,cAEvBV,EAAkBD,IAAYE,EAAQ,QAAUE,EAAM,cAAiB,CAAC,GAACQ,EAAAR,EAAM,eAAN,MAAAQ,EAAoB,WACnG,IAAIC,EAAa,GAAGC,EAAO,SAAS,qCAAqCL,CAAQ,IAAIV,EAAgBC,EAASC,CAAc,CAAC,GACzHc,EAAqB,4BAErBd,IACFY,GAAc,gBAEXP,GAAWC,IAAY,CAACC,IAC3BK,GAAc,mBAEZL,IACFK,GAAc,IAAMC,EAAO,UAEzBV,EAAM,WACRS,GAAc,IAAMC,EAAO,YAC3BC,GAAsB,IAASD,EAAO,eAAe,0CAElDR,IACHO,GAAc,mBAEhB,MAAMG,EAA6Bf,EAC/B,CAAE,gBAAiBG,EAAM,aAAa,SAAA,EACtC,CAAA,EAEJ,OAAIE,EAEAW,EAAAA,IAACC,EAAA,CACC,QAAAX,EACA,QAAAD,EACA,UAAWO,EACX,MAAOH,EACP,MAAAM,EAEA,SAAAC,EAAAA,IAAC,OAAA,CAAK,UAAWF,EAAqB,SAAAL,CAAA,CAAK,CAAA,CAAA,EAM/CO,EAAAA,IAAC,SAAA,CACC,QAAAV,EACA,UAAWM,EACX,MAAOH,EACP,MAAAM,EACA,aAAY,GAAGnB,EAAU,YAAY,CAAC,IAAIa,CAAI,GAE9C,SAAAS,EAAAA,KAAC,OAAA,CAAK,UAAWJ,EACd,SAAA,CAAAL,EACAN,EAAM,UACLa,EAAAA,IAAC,SAAA,CACC,QAASb,EAAM,SACf,UAAW,GAAGU,EAAO,KAAK,8BAC1B,KAAK,SACL,aAAW,OAAA,CAAA,CACb,CAAA,CAEJ,CAAA,CAAA,CAGN"}
@@ -0,0 +1,2 @@
1
+ import{j as r}from"./app-DiXzpOyg.js";function a(s){return r.jsx("svg",{...s,children:r.jsx("path",{d:"M11 11V7.002a.999.999 0 1 1 2 0V11h3.998a.999.999 0 1 1 0 2H13v3.998a.999.999 0 1 1-2 0V13H7.002a.999.999 0 1 1 0-2z",fill:"currentColor"})})}export{a as P};
2
+ //# sourceMappingURL=wOGv44_K.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wOGv44_K.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/PlusSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function PlusSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M11 11V7.002a.999.999 0 1 1 2 0V11h3.998a.999.999 0 1 1 0 2H13v3.998a.999.999 0 1 1-2 0V13H7.002a.999.999 0 1 1 0-2z'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["PlusSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAQC,EAAsC,CAC5D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,uHACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{h as n,i as s,k as l,n as c,c as e,j as k,a0 as r,W as o,X as p}from"./app-DiXzpOyg.js";import{P as b}from"./BFcg4phV.chunk.js";const A="_pillTab_1wdcp_2",h={pillTab:A},i="streamable.header";function D(a){var d,g,y,m,u,L;const t=[{name:e.getPhrase(i,"heading"),appLink:(d=a.appLinks)==null?void 0:d.discover,active:a.active==="discover",analyticsData:{name:e.getPhrase(i,"heading"),url:c.getHref((g=a.appLinks)==null?void 0:g.discover)},analyticsOptions:{actionType:l.Click,entity:s.Url,location:n.MagicTabs}},{name:e.getPhrase(i,"livestreams"),appLink:(y=a.appLinks)==null?void 0:y.calendar,active:a.active==="calendar",analyticsData:{name:e.getPhrase(i,"livestreams"),url:c.getHref((m=a.appLinks)==null?void 0:m.calendar)},analyticsOptions:{actionType:l.Click,entity:s.Url,location:n.MagicTabs}},{name:e.getPhrase(i,"partners"),appLink:(u=a.appLinks)==null?void 0:u.partners,active:a.active==="partners",analyticsData:{name:e.getPhrase(i,"partners"),url:c.getHref((L=a.appLinks)==null?void 0:L.partners)},analyticsOptions:{actionType:l.Click,entity:s.Url,location:n.MagicTabs}}];return k.jsx("div",{className:"py-3 text-center",children:k.jsx(b,{tabs:t,className:h.pillTab})})}function f(a){return{...r,classification:t=>r.classification(t,a),classificationDirectory:()=>r.classificationDirectory(a),series:()=>null,latestReleases:()=>null,classificationLatestReleases:()=>null,playlist:()=>null,onboardingAppLinks:()=>null,onboardingStep:()=>null,watchHistory:()=>null,widgetWizard:()=>null}}function H(){return{discover:{application:p.DASHBOARD,action:o.Dashboard.HOME},calendar:{application:p.CALENDAR,action:o.Calendar.CALENDAR},partners:{application:p.DASHBOARD,action:o.Dashboard.CONTENT_PARTNERS}}}export{D as S,f as a,H as g};
2
+ //# sourceMappingURL=xbvkqJGe.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xbvkqJGe.chunk.js","sources":["../../../../libs/shared/src/apps/streamable-learning/components/header/StreamableHeader.tsx","../../src/apps/dashboard/views/dashboard/DiscoverViewUtils.ts"],"sourcesContent":["import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport styles from './streamable-header.module.scss';\n\nconst namespace = 'streamable.header';\n\nexport interface StreamableHeaderAppLinks {\n discover: Core.AppLink;\n calendar: Core.AppLink;\n partners: Core.AppLink;\n}\n\ninterface StreamableHeaderProps {\n appLinks?: StreamableHeaderAppLinks;\n active: keyof StreamableHeaderAppLinks;\n}\n\nexport function StreamableHeader(props: StreamableHeaderProps): JSX.Element {\n const tabs = [{\n name: LanguageService.getPhrase(namespace, 'heading'),\n appLink: props.appLinks?.discover,\n active: props.active === 'discover',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'heading'),\n url: AppLinkHelper.getHref(props.appLinks?.discover)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: LanguageService.getPhrase(namespace, 'livestreams'),\n appLink: props.appLinks?.calendar,\n active: props.active === 'calendar',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'livestreams'),\n url: AppLinkHelper.getHref(props.appLinks?.calendar)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: LanguageService.getPhrase(namespace, 'partners'),\n appLink: props.appLinks?.partners,\n active: props.active === 'partners',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'partners'),\n url: AppLinkHelper.getHref(props.appLinks?.partners)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }];\n\n return (\n <div className='py-3 text-center'>\n <PillTabSelector\n tabs={tabs}\n className={styles.pillTab}\n />\n </div>\n );\n}","import { HashObject } from 'libs/common/react/interfaces';\n\nimport { StreamableDiscoverDashboardProps } from 'libs/shared/apps/streamable-learning/components/dashboard/StreamableDiscoverDashboard';\nimport { StreamableHeaderAppLinks } from 'libs/shared/apps/streamable-learning/components/header/StreamableHeader';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { StreamableAppLinks } from 'shared/utils/StreamableAppLinks';\n\nexport function getDiscoverWidgetAppLinks(\n params?: HashObject\n): StreamableDiscoverDashboardProps['widgetAppLinks'] {\n return {\n ...StreamableAppLinks,\n classification: classification => StreamableAppLinks.classification(classification, params),\n classificationDirectory: () => StreamableAppLinks.classificationDirectory(params),\n\n // TODO: Find a nice way around having to pass these in\n series: () => null,\n latestReleases: () => null,\n classificationLatestReleases: () => null,\n playlist: () => null,\n onboardingAppLinks: () => null,\n onboardingStep: () => null,\n watchHistory: () => null,\n widgetWizard: () => null\n };\n}\n\nexport function getStreamableHeaderAppLinks(): StreamableHeaderAppLinks {\n return {\n discover: { application: AppChannels.DASHBOARD, action: Actions.Dashboard.HOME },\n calendar: { application: AppChannels.CALENDAR, action: Actions.Calendar.CALENDAR },\n partners: { application: AppChannels.DASHBOARD, action: Actions.Dashboard.CONTENT_PARTNERS }\n };\n}"],"names":["namespace","StreamableHeader","props","tabs","LanguageService","_a","AppLinkHelper","_b","UserAction","EntityType","LocationContext","_c","_d","_e","_f","jsx","PillTabSelector","styles","getDiscoverWidgetAppLinks","params","StreamableAppLinks","classification","getStreamableHeaderAppLinks","AppChannels","Actions"],"mappings":"gLAYMA,EAAY,oBAaX,SAASC,EAAiBC,EAA2C,iBAC1E,MAAMC,EAAO,CAAC,CACZ,KAAMC,EAAgB,UAAUJ,EAAW,SAAS,EACpD,SAASK,EAAAH,EAAM,WAAN,YAAAG,EAAgB,SACzB,OAAQH,EAAM,SAAW,WACzB,cAAe,CACb,KAAME,EAAgB,UAAUJ,EAAW,SAAS,EACpD,IAAKM,EAAc,SAAQC,EAAAL,EAAM,WAAN,YAAAK,EAAgB,QAAQ,CAAA,EAErD,iBAAkB,CAChB,WAAYC,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAAA,CAC5B,EACC,CACD,KAAMN,EAAgB,UAAUJ,EAAW,aAAa,EACxD,SAASW,EAAAT,EAAM,WAAN,YAAAS,EAAgB,SACzB,OAAQT,EAAM,SAAW,WACzB,cAAe,CACb,KAAME,EAAgB,UAAUJ,EAAW,aAAa,EACxD,IAAKM,EAAc,SAAQM,EAAAV,EAAM,WAAN,YAAAU,EAAgB,QAAQ,CAAA,EAErD,iBAAkB,CAChB,WAAYJ,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAAA,CAC5B,EACC,CACD,KAAMN,EAAgB,UAAUJ,EAAW,UAAU,EACrD,SAASa,EAAAX,EAAM,WAAN,YAAAW,EAAgB,SACzB,OAAQX,EAAM,SAAW,WACzB,cAAe,CACb,KAAME,EAAgB,UAAUJ,EAAW,UAAU,EACrD,IAAKM,EAAc,SAAQQ,EAAAZ,EAAM,WAAN,YAAAY,EAAgB,QAAQ,CAAA,EAErD,iBAAkB,CAChB,WAAYN,EAAW,MACvB,OAAQC,EAAW,IACnB,SAAUC,EAAgB,SAAA,CAC5B,CACD,EAED,OACEK,EAAAA,IAAC,MAAA,CAAI,UAAU,mBACb,SAAAA,EAAAA,IAACC,EAAA,CACC,KAAAb,EACA,UAAWc,EAAO,OAAA,CAAA,EAEtB,CAEJ,CClEO,SAASC,EACdC,EACoD,CACpD,MAAO,CACL,GAAGC,EACH,eAAgBC,GAAkBD,EAAmB,eAAeC,EAAgBF,CAAM,EAC1F,wBAAyB,IAAMC,EAAmB,wBAAwBD,CAAM,EAGhF,OAAQ,IAAM,KACd,eAAgB,IAAM,KACtB,6BAA8B,IAAM,KACpC,SAAU,IAAM,KAChB,mBAAoB,IAAM,KAC1B,eAAgB,IAAM,KACtB,aAAc,IAAM,KACpB,aAAc,IAAM,IAAA,CAExB,CAEO,SAASG,GAAwD,CACtE,MAAO,CACL,SAAU,CAAE,YAAaC,EAAY,UAAW,OAAQC,EAAQ,UAAU,IAAA,EAC1E,SAAU,CAAE,YAAaD,EAAY,SAAU,OAAQC,EAAQ,SAAS,QAAA,EACxE,SAAU,CAAE,YAAaD,EAAY,UAAW,OAAQC,EAAQ,UAAU,gBAAA,CAAiB,CAE/F"}
@@ -0,0 +1,2 @@
1
+ import{D as m,Q as U,bO as W,j as a,c as F,ae as $,R as _,h as R,i as Q,k as q,d as G,l as M,M as y,e as J}from"./app-DiXzpOyg.js";import{C as K}from"./s4utqqzH.chunk.js";import{S as V}from"./DzLh2mnb.chunk.js";import{L as X}from"./D4x4hAdA.chunk.js";import{C as Z}from"./nay4aGaa.chunk.js";import{C as p}from"./DecSY6Xq.chunk.js";import{C as ee}from"./BWkYFXR0.chunk.js";const te="_cellDate_vp37w_1",ne="_label_vp37w_13",ae="_isHovering_vp37w_16",ie="_numberWrapper_vp37w_19",E={cellDate:te,label:ne,isHovering:ae,numberWrapper:ie},le="specialEventCalendar.calendarCellDate",se=F.encloseNamespace(le);function O(e){const o=m.isSame(U.convertUTCToTimezoneDate(new Date().toISOString(),e.timezone||null),e.date,"day");let c=`${E.cellDate} d-flex flex-nowrap`;o&&(c+=" bg-dark text-white"),e.notCurrentMonth&&!e.isHovering&&(c+=" text-secondary"),e.hasEvent&&(c+=" text-white"),e.className&&(c+=` ${e.className}`);const r="d-flex text-center justify-content-center align-items-center flex-shrink-0",[l,t]=W({delay:250});return a.jsxs("div",{className:`${c} ${t?E.isHovering:""}`,ref:l,children:[a.jsx("div",{className:`${E.numberWrapper} ${r}`,children:m.format(e.date,"D")}),o&&a.jsx("div",{className:`${E.label} justify-content-start align-items-center`,children:se("today")})]})}const oe="_sliderDot_umrgt_1",ce="_sm_umrgt_6",re="_active_umrgt_10",de="_dotContainer_umrgt_13",me="_defaultCursor_umrgt_16",g={sliderDot:oe,sm:ce,active:re,dotContainer:de,defaultCursor:me};function ve(e){function o(r,l){r.stopPropagation(),r.preventDefault(),e.onSliderDotClick(l)}function c(r,l){var d;let t=`${g.sliderDot} rounded-3`;return r&&(t+=` ${g.active}`),e.size==="sm"&&(t+=` ${g.sm}`),(d=e.isDisabled)!=null&&d.call(e,l)&&(t+=` pointer-events-none ${g.defaultCursor}`),t}return a.jsx("div",{className:`${e.className} w-100 d-flex justify-content-around`,children:a.jsx("div",{className:`${g.dotContainer} d-flex`,children:[...Array(e.sliderLength)].map((r,l)=>{const t=l===e.sliderStep;return a.jsx($,{className:c(t,l),onClick:d=>o==null?void 0:o(d,l)},l)})})})}const ue="_hardcodedCover_136nm_1",ge="_tag_136nm_1",_e="_date_136nm_1",fe="_backgroundImage_136nm_1",he="_eventCard_136nm_1",De="_wrapper_136nm_5",Ce="_left_136nm_5",xe="_right_136nm_8",ye="_noAnimation_136nm_22",Ee="_cover_136nm_25",be="_tagWrap_136nm_35",$e="_appear_136nm_46",je="_displayDate_136nm_49",Ne="_title_136nm_53",we="_titleText_136nm_56",ke="_arrow_136nm_91",He="_bottomBar_136nm_104",Ie="_bottomPlaceholder_136nm_108",Se="_multiEventFilter_136nm_122",i={hardcodedCover:ue,tag:ge,date:_e,backgroundImage:fe,eventCard:he,wrapper:De,left:Ce,right:xe,noAnimation:ye,cover:Ee,tagWrap:be,appear:$e,displayDate:je,title:Ne,titleText:we,arrow:ke,bottomBar:He,bottomPlaceholder:Ie,multiEventFilter:Se};z.defaultProps={responsiveText:!0};function z(e){var k,H,I,S;const{sliderStep:o,setSliderStep:c}=e,r=e.fadePastEvents?B(e.eventsOnDay):e.eventsOnDay,l=e.eventsOnDay.length>1,t=r.find((n,s)=>s===o),d=!!t.endDate,f=(k=e.getBackgroundColor)==null?void 0:k.call(e,t.content),h=(H=e.getHardCodedEvent)==null?void 0:H.call(e,t.content),D=(I=e.getIconUrl)==null?void 0:I.call(e,t.content),j=(S=e.getCoverUrl)==null?void 0:S.call(e,t.content),C=t.content.status===Z.ComingSoon,[x,L]=_.useState(e.hasInitialized?i.appear:"");_.useEffect(()=>{if(!e.hasInitialized){const n=Math.floor(Math.random()*600+400);window.setTimeout(()=>{L(i.appear),window.setTimeout(()=>{e.setHasInitialized(!0)},400)},n)}},[e.hasInitialized]),_.useEffect(()=>{e.isHovering&&e.setHoveredEvent(t)},[e.isHovering,t]),_.useEffect(()=>()=>{var n;e.isHovering&&((n=e.hoveredEvent)==null?void 0:n.specialEventId)===t.specialEventId&&e.setHoveredEvent(null)},[e.isHovering,e.hoveredEvent,t]);function P(){var n,s;return l?(n=e.getEventsListAppLink)==null?void 0:n.call(e):C?null:(s=e.getTopicAppLink)==null?void 0:s.call(e,t.content,J.slugify(t.name))}function Y(){const n={date:m.format(e.date,"YYYY-MM-DD"),presentationId:e.presentationId,eventCount:e.eventsOnDay.length};return l?(n.eventId=e.eventsOnDay.map(s=>s.specialEventId).join(","),n.topicId=e.eventsOnDay.map(s=>s.content.id).join(",")):(n.eventId=t.specialEventId,n.topicId=t.content.id,n.eventStatus=t.content.status),n}const N=Y(),v={actionType:q.Click,entity:Q.SpecialEvent,location:R.CalendarDay};function b(n){return m.format(n,"YYYY-MM-DD")}function w(){const n=`${e.className} ${x} `,s=[h?`${i.hardcodedCover} position-absolute`:i.backgroundImage,D?"my-auto":i.cover,C?i.comingSoon:"",e.hasInitialized?i.noAnimation:"",e.isHovering?"rounded-3":"",e.isMultiEventDate?i.multiEventFilter:"","company"in t.content?"rounded-circle":""];return n+s.join(" ")}function u(n){return"startDateTime"in n.content?m.isBefore(n.content.startDateTime,new Date):!1}function B(n){return n.sort((s,T)=>!u(s)&&u(T)?1:u(s)&&!u(T)?-1:0)}return a.jsx("div",{onClick:()=>{C&&y.logUserAction(N,v)},children:a.jsxs(G,{appLink:P(),analyticsOptions:v,analyticsData:N,className:`position-absolute top-0 start-0 h-100 w-100 text-shadow ${i.wrapper}`,labelledBy:"calendarEvent",children:[a.jsx("div",{className:`${i.tagWrap} p-1`,children:C&&a.jsx(K,{className:`justify-content-center p-0 rounded-circle ${i.tag} ${x}`,onlyIcon:!0})}),!e.hideDay&&a.jsx(O,{date:e.date,notCurrentMonth:e.notCurrentMonth,className:`${i.date} ${x}`,isHovering:e.isHovering,timezone:e.timezone,hasEvent:!0}),a.jsxs("div",{style:{backgroundColor:f},className:`position-absolute d-flex flex-column justify-content-end align-items-center text-white px-1 pt-2 pb-1 ${i.eventCard} ${x} ${e.isHovering?"rounded-3":""} ${e.isMultiEventDate?i.multiEventFilter:""} ${e.className} ${!e.isHovering&&u(t)?"opacity-50":""}`,children:[D&&a.jsx(X,{src:D,alt:t.content.name,className:w()}),j&&!D&&a.jsx("div",{style:{backgroundImage:`url('${j}')`},className:w()}),d&&a.jsx("div",{className:`${i.displayDate}`,children:V.getDisplayDate(t.startDate,t.endDate)}),a.jsx("div",{className:`text-center ${i.title} ${l?"mb-1":"mb-2"}`,children:a.jsx("p",{id:"calendarEvent",className:`${e.responsiveText?i.titleText:""} ${e.isHovering?"mb-0":"clamp-2"} h6`,title:t.name,children:t.name})}),l&&o!==0&&a.jsx("div",{className:`position-absolute bg-white rounded-circle ${i.left}`,children:a.jsx($,{onClick:n=>{n.stopPropagation(),n.preventDefault(),c(s=>s-1),y.logUserAction({date:b(e.date),action:"previous",eventCount:e.eventsOnDay.length},v)},children:a.jsx(M,{svg:p,className:`d-inline-block svg-container text-dark ${i.arrow}`})})}),l&&o!==e.eventsOnDay.length-1&&a.jsx("div",{className:`position-absolute bg-white rounded-circle ${i.right}`,children:a.jsx($,{onClick:n=>{n.stopPropagation(),n.preventDefault(),c(s=>s+1),y.logUserAction({date:b(e.date),action:"next",eventCount:e.eventsOnDay.length},v)},children:a.jsx(M,{svg:ee,className:`d-inline-block svg-container text-dark ${i.arrow}`})})}),l&&a.jsx("div",{className:`d-flex ${i.bottomBar} ${l?"":i.bottomPlaceholder}`,children:a.jsx(ve,{sliderStep:o,sliderLength:e.eventsOnDay.length,size:"sm",className:`${e.isHovering?"mb-2":"mb-1"}`,onSliderDotClick:n=>{c(n),y.logUserAction({date:b(e.date),action:"jump",eventCount:e.eventsOnDay.length},v)}})})]})]})})}const Te="_cell_34fbn_1",Me="_multiEventCell_34fbn_4",A={cell:Te,multiEventCell:Me};function Ue(e){var r,l;const o=_.useMemo(()=>{var t,d,f,h;return((t=e.hoveredEvent)==null?void 0:t.endDate)&&!m.isSame(e.date,(d=e.hoveredEvent)==null?void 0:d.startDate)&&m.isBetween(m.format(e.date,"YYYY-MM-DD"),(f=e.hoveredEvent)==null?void 0:f.startDate,(h=e.hoveredEvent)==null?void 0:h.endDate)},[e.hoveredEvent]),c=e.hoveredEvent?(r=e.getBackgroundColor)==null?void 0:r.call(e,e.hoveredEvent.content):null;return a.jsxs("div",{className:`${A.cell} fw-semibold`,children:[!e.hideDay&&a.jsx(O,{date:e.date,notCurrentMonth:e.notCurrentMonth,timezone:e.timezone}),o&&a.jsx("div",{style:{backgroundColor:c},className:A.multiEventCell}),((l=e.eventsOnDay)==null?void 0:l.length)>0&&a.jsx(z,{...e,isMultiEventDate:o})]})}export{Ue as C};
2
+ //# sourceMappingURL=xywWSa0t.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xywWSa0t.chunk.js","sources":["../../../../libs/shared/src/apps/calendar/components/calendar-cell-date/CalendarCellDate.tsx","../../../../libs/shared/src/components/slider-dots/SliderDots.tsx","../../../../libs/shared/src/apps/calendar/components/calendar-events/CalendarEvents.tsx","../../../../libs/shared/src/apps/calendar/components/calendar-day/CalendarDay.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Timezone } from 'libs/shared/apps/streamable-learning/constants/Timezones';\nimport { TimezoneHelper } from 'libs/shared/apps/streamable-learning/utils/TimezoneHelper';\nimport { useHoverIntent } from 'libs/shared/hooks/UseHover';\n\nimport styles from './calendar-cell-date.module.scss';\n\nconst namespace = 'specialEventCalendar.calendarCellDate';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CalendarCellDateProps {\n date: Date;\n notCurrentMonth: boolean;\n hasEvent?: boolean;\n className?: string;\n isHovering?: boolean;\n timezone?: Timezone;\n}\n\nexport function CalendarCellDate(props: CalendarCellDateProps): JSX.Element {\n const isToday = DateHelper.isSame(\n TimezoneHelper.convertUTCToTimezoneDate(new Date().toISOString(), props.timezone || null),\n props.date,\n 'day'\n );\n\n let dateClassName = `${styles.cellDate} d-flex flex-nowrap`;\n if (isToday)\n dateClassName += ' bg-dark text-white';\n if (props.notCurrentMonth && !props.isHovering)\n dateClassName += ' text-secondary';\n if (props.hasEvent)\n dateClassName += ' text-white';\n if (props.className)\n dateClassName += ` ${props.className}`;\n \n const numberClassName = 'd-flex text-center justify-content-center align-items-center flex-shrink-0';\n const [ ref, isHovering ] = useHoverIntent<HTMLDivElement>({ delay: 250 });\n\n return (\n <div className={`${dateClassName} ${isHovering ? styles.isHovering : ''}`} ref={ref}>\n <div className={`${styles.numberWrapper} ${numberClassName}`}>\n {DateHelper.format(props.date, 'D')}\n </div>\n {isToday && (\n <div className={`${styles.label} justify-content-start align-items-center`}>\n {getPhrase('today')}\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport styles from './slider-dots.module.scss';\n\ninterface SliderDotsProps {\n sliderStep: number;\n sliderLength: number;\n onSliderDotClick: (i: number) => void;\n isDisabled?: (indicatorIndex: number) => boolean;\n\n size?: 'sm' | 'md';\n className?: string;\n}\n\nexport function SliderDots(props: SliderDotsProps) {\n function onSliderDotClick(e: MouseEvent, i: number) {\n e.stopPropagation();\n e.preventDefault();\n props.onSliderDotClick(i);\n }\n\n function getSliderDotClassName(active: boolean, index: number) {\n let className = `${styles.sliderDot} rounded-3`;\n\n if (active)\n className += ` ${styles.active}`;\n\n if (props.size === 'sm')\n className += ` ${styles.sm}`;\n\n if (props.isDisabled?.(index))\n className += ` pointer-events-none ${styles.defaultCursor}`;\n\n return className;\n }\n \n return (\n <div className={`${props.className} w-100 d-flex justify-content-around`}>\n <div className={`${styles.dotContainer} d-flex`}>\n {[...Array(props.sliderLength)].map((_, i) => {\n const active = i === props.sliderStep;\n\n return (\n <DivButton\n key={i}\n className={getSliderDotClassName(active, i)}\n onClick={e => onSliderDotClick?.(e, i)}\n />\n );\n })}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, HashObject, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { CalendarCellDate } from 'libs/shared/apps/calendar/components/calendar-cell-date/CalendarCellDate';\nimport { ComingSoonTag } from 'libs/shared/apps/calendar/components/coming-soon-tag/ComingSoonTag';\nimport { CalendarCellProps } from 'libs/shared/apps/calendar/interfaces/CalendarCellProps';\nimport { SpecialEventHelper } from 'libs/shared/apps/calendar/utils/SpecialEventHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { HoverableProps } from 'libs/shared/components/hover-to-portal-container/HoverToPortalContainer';\nimport { LazyImage } from 'libs/shared/components/lazy-image/LazyImage';\nimport { SliderDots } from 'libs/shared/components/slider-dots/SliderDots';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { ClassificationStatus } from 'libs/shared/enums/ClassificationStatus';\nimport { ChevronLeftSvg } from 'libs/shared/images/svg/arrows/ChevronLeftSvg';\nimport { ChevronRightSvg } from 'libs/shared/images/svg/arrows/ChevronRightSvg';\nimport { CalendarEvent, CalendarEventContent } from 'libs/shared/interfaces';\n\nimport styles from './calendar-events.module.scss';\n\ntype CalendarEventsProps = HoverableProps & CalendarCellProps;\n\nCalendarEvents.defaultProps = {\n responsiveText: true\n};\n\nexport function CalendarEvents(props: CalendarEventsProps): JSX.Element {\n const { sliderStep, setSliderStep } = props;\n\n const sortedEventsOnDay = props.fadePastEvents ? sortPastEvents(props.eventsOnDay) : props.eventsOnDay;\n const multiEvents = props.eventsOnDay.length > 1;\n const displayedEvent = sortedEventsOnDay.find((e, idx) => idx === sliderStep);\n const multiDayEvent = !!displayedEvent.endDate;\n\n const backgroundColor = props.getBackgroundColor?.(displayedEvent.content);\n\n const hardCodedEvent = props.getHardCodedEvent?.(displayedEvent.content);\n\n const iconUrl = props.getIconUrl?.(displayedEvent.content);\n const coverUrl = props.getCoverUrl?.(displayedEvent.content);\n\n const isComingSoon = displayedEvent.content.status === ClassificationStatus.ComingSoon;\n\n const [ className, setClassName ] = React.useState(!props.hasInitialized ? '' : styles.appear);\n\n React.useEffect(() => {\n if (!props.hasInitialized) {\n // a random number between 400 and 1000\n const randomNumber = Math.floor(Math.random() * 600 + 400);\n window.setTimeout(() => {\n setClassName(styles.appear);\n window.setTimeout(() => {\n props.setHasInitialized(true);\n }, 400);\n }, randomNumber);\n }\n }, [props.hasInitialized]);\n\n React.useEffect(() => {\n if (props.isHovering) {\n props.setHoveredEvent(displayedEvent);\n }\n }, [ props.isHovering, displayedEvent ]);\n\n React.useEffect(() => {\n return () => {\n if (props.isHovering && props.hoveredEvent?.specialEventId === displayedEvent.specialEventId) {\n props.setHoveredEvent(null);\n }\n };\n }, [ props.isHovering, props.hoveredEvent, displayedEvent ]);\n\n function getAppLink(): Core.AppLink {\n if (multiEvents)\n return props.getEventsListAppLink?.();\n\n if (isComingSoon)\n return null;\n\n return props.getTopicAppLink?.(displayedEvent.content, TextHelper.slugify(displayedEvent.name));\n }\n\n function getAnalyticsData() {\n const analyticsData: HashObject = {\n date: DateHelper.format(props.date, 'YYYY-MM-DD'),\n presentationId: props.presentationId,\n eventCount: props.eventsOnDay.length\n };\n\n if (multiEvents) {\n analyticsData.eventId = props.eventsOnDay.map(e => e.specialEventId).join(',');\n analyticsData.topicId = props.eventsOnDay.map(e => e.content.id).join(',');\n } else {\n analyticsData.eventId = displayedEvent.specialEventId;\n analyticsData.topicId = displayedEvent.content.id;\n analyticsData.eventStatus = displayedEvent.content.status;\n }\n return analyticsData;\n }\n\n const analyticsData = getAnalyticsData();\n\n const analyticsOptions: AnalyticsOptions = {\n actionType: UserAction.Click,\n entity: EntityType.SpecialEvent,\n location: LocationContext.CalendarDay\n };\n\n function formatAnalyticDataDate(date: Date): string {\n return DateHelper.format(date, 'YYYY-MM-DD');\n }\n\n function getBgImageClassName(): string {\n const defaultClassName = `${props.className} ${className} `;\n\n const classes = [\n hardCodedEvent ? `${styles.hardcodedCover} position-absolute` : styles.backgroundImage,\n iconUrl ? 'my-auto' : styles.cover,\n isComingSoon ? styles.comingSoon : '',\n props.hasInitialized ? styles.noAnimation : '',\n props.isHovering ? `rounded-3` : '',\n props.isMultiEventDate ? styles.multiEventFilter : '',\n 'company' in displayedEvent.content ? 'rounded-circle' : ''\n ];\n\n return defaultClassName + classes.join(' ');\n }\n\n function isPastEvent(event: CalendarEvent<CalendarEventContent>) {\n if ('startDateTime' in event.content) {\n return DateHelper.isBefore(event.content.startDateTime, new Date());\n }\n return false;\n }\n\n function sortPastEvents(events: CalendarEvent<CalendarEventContent>[]) {\n return events.sort((a, b) => {\n if (!isPastEvent(a) && isPastEvent(b)) {\n return 1;\n }\n\n if (isPastEvent(a) && !isPastEvent(b)) {\n return -1;\n }\n\n return 0;\n });\n }\n\n return (\n <div onClick={() => {\n if (isComingSoon)\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n }}>\n <AppLink\n appLink={getAppLink()}\n analyticsOptions={analyticsOptions}\n analyticsData={analyticsData}\n className={`position-absolute top-0 start-0 h-100 w-100 text-shadow ${styles.wrapper}`}\n labelledBy='calendarEvent'\n >\n <div className={`${styles.tagWrap} p-1`}>\n {isComingSoon && (\n <ComingSoonTag className={`justify-content-center p-0 rounded-circle ${styles.tag} ${className}`} onlyIcon />\n )}\n </div>\n {!props.hideDay && (\n <CalendarCellDate\n date={props.date}\n notCurrentMonth={props.notCurrentMonth}\n className={`${styles.date} ${className}`}\n isHovering={props.isHovering}\n timezone={props.timezone}\n hasEvent\n />\n )}\n\n <div\n style={{ backgroundColor } }\n className={`position-absolute d-flex flex-column justify-content-end align-items-center text-white px-1 pt-2 pb-1 ${styles.eventCard} ${className} ${props.isHovering ? 'rounded-3' : ''} ${props.isMultiEventDate ? styles.multiEventFilter : ''} ${props.className} ${!props.isHovering && isPastEvent(displayedEvent) ? 'opacity-50' : ''}`}\n >\n {iconUrl && <LazyImage src={iconUrl} alt={displayedEvent.content.name} className={getBgImageClassName()} />}\n\n {coverUrl && !iconUrl && (\n <div\n style={{ backgroundImage: `url('${coverUrl}')` }}\n className={getBgImageClassName()}\n />\n )}\n\n {multiDayEvent && (\n <div className={`${styles.displayDate}`}>\n {SpecialEventHelper.getDisplayDate(displayedEvent.startDate, displayedEvent.endDate)}\n </div>\n )}\n <div className={`text-center ${styles.title} ${multiEvents ? 'mb-1' : 'mb-2'}`}>\n <p id='calendarEvent' className={`${props.responsiveText ? styles.titleText : ''} ${props.isHovering ? 'mb-0' : 'clamp-2'} h6`} title={displayedEvent.name}>{displayedEvent.name}</p>\n </div>\n\n {(multiEvents && sliderStep !== 0) && (\n <div className={`position-absolute bg-white rounded-circle ${styles.left}`}>\n <DivButton\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n setSliderStep(s => s - 1);\n AnalyticsHelper.logUserAction({ date: formatAnalyticDataDate(props.date), action: 'previous', eventCount: props.eventsOnDay.length }, analyticsOptions);\n }}>\n <SvgContainer\n svg={ChevronLeftSvg}\n className={`d-inline-block svg-container text-dark ${styles.arrow}`}\n />\n </DivButton>\n </div>\n )}\n\n {multiEvents && sliderStep !== props.eventsOnDay.length - 1 && (\n <div className={`position-absolute bg-white rounded-circle ${styles.right}`}>\n <DivButton\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n setSliderStep(s => s + 1);\n AnalyticsHelper.logUserAction({ date: formatAnalyticDataDate(props.date), action: 'next', eventCount: props.eventsOnDay.length }, analyticsOptions);\n }}>\n <SvgContainer\n svg={ChevronRightSvg}\n className={`d-inline-block svg-container text-dark ${styles.arrow}`}\n />\n </DivButton>\n </div>\n )}\n\n {multiEvents && (\n <div className={`d-flex ${styles.bottomBar} ${multiEvents ? '' : styles.bottomPlaceholder}`}>\n <SliderDots\n sliderStep={sliderStep}\n sliderLength={props.eventsOnDay.length}\n size='sm'\n className={`${props.isHovering ? 'mb-2' : 'mb-1'}`}\n onSliderDotClick={i => {\n setSliderStep(i);\n AnalyticsHelper.logUserAction({ date: formatAnalyticDataDate(props.date), action: 'jump', eventCount: props.eventsOnDay.length }, analyticsOptions);\n }}\n />\n </div>\n )}\n </div>\n </AppLink>\n </div>\n );\n}","import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { CalendarCellDate } from 'libs/shared/apps/calendar/components/calendar-cell-date/CalendarCellDate';\nimport { CalendarEvents } from 'libs/shared/apps/calendar/components/calendar-events/CalendarEvents';\nimport { CalendarCellProps } from 'libs/shared/apps/calendar/interfaces/CalendarCellProps';\nimport { HoverableProps } from 'libs/shared/components/hover-to-portal-container/HoverToPortalContainer';\n\nimport styles from './calendar-day.module.scss';\n\ntype CalendarDayProps = HoverableProps & CalendarCellProps;\n\nexport function CalendarDay(props: CalendarDayProps) {\n const isMultiEventDate = React.useMemo(\n () =>\n props.hoveredEvent?.endDate &&\n !DateHelper.isSame(props.date, props.hoveredEvent?.startDate) &&\n DateHelper.isBetween(\n DateHelper.format(props.date, 'YYYY-MM-DD'),\n props.hoveredEvent?.startDate,\n props.hoveredEvent?.endDate\n ),\n [props.hoveredEvent]\n );\n const backgroundColor = props.hoveredEvent ? props.getBackgroundColor?.(props.hoveredEvent.content) : null;\n\n return (\n <div className={`${styles.cell} fw-semibold`}>\n {!props.hideDay && (\n <CalendarCellDate\n date={props.date}\n notCurrentMonth={props.notCurrentMonth}\n timezone={props.timezone}\n />\n )}\n {isMultiEventDate && (\n <div style={{ backgroundColor }} className={styles.multiEventCell}></div>\n )}\n {props.eventsOnDay?.length > 0 && <CalendarEvents {...props} isMultiEventDate={isMultiEventDate} />}\n </div>\n );\n}"],"names":["namespace","getPhrase","LanguageService","CalendarCellDate","props","isToday","DateHelper","TimezoneHelper","dateClassName","styles","numberClassName","ref","isHovering","useHoverIntent","jsxs","jsx","SliderDots","onSliderDotClick","e","i","getSliderDotClassName","active","index","className","_a","_","DivButton","CalendarEvents","sliderStep","setSliderStep","sortedEventsOnDay","sortPastEvents","multiEvents","displayedEvent","idx","multiDayEvent","backgroundColor","hardCodedEvent","_b","iconUrl","_c","coverUrl","_d","isComingSoon","ClassificationStatus","setClassName","React","randomNumber","getAppLink","TextHelper","getAnalyticsData","analyticsData","analyticsOptions","UserAction","EntityType","LocationContext","formatAnalyticDataDate","date","getBgImageClassName","defaultClassName","classes","isPastEvent","event","events","a","b","AnalyticsHelper","AppLink","ComingSoonTag","LazyImage","SpecialEventHelper","SvgContainer","ChevronLeftSvg","ChevronRightSvg","CalendarDay","isMultiEventDate"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{o as r,s as I,v,c as B,p as E,q as y,_ as H,j as t,by as N,aE as R,$ as D,W as l,X as u,e as U}from"./app-DiXzpOyg.js";import{B as _,P as w}from"./CY1om5lx.chunk.js";import{P as F,B as O}from"./Dx9ncX-C.chunk.js";import{C as W,P as q}from"./C5Fq7Tf-.chunk.js";import{P as k}from"./Bg1w511R.chunk.js";import"./C_pobyVf.chunk.js";import{H as M,A as V}from"./DaJTPRJr.chunk.js";import{W as z,b as G}from"./C2zcSUEr.chunk.js";import{C as p}from"./qO6ZefON.chunk.js";import"./s4utqqzH.chunk.js";import"./BaMuTXqa.chunk.js";import"./bww2eGbI.chunk.js";import"./DecSY6Xq.chunk.js";import"./D4x4hAdA.chunk.js";import"./DgL-ti6b.chunk.js";import"./BBnDr_iy.chunk.js";import"./Cgf5lDwO.chunk.js";import"./CPXlV0fg.chunk.js";import"./DEixuHfi.chunk.js";import"./DWkg1qc2.chunk.js";import"./ShERxFU5.chunk.js";import"./CU5Dd7rS.chunk.js";import"./BWkYFXR0.chunk.js";import"./DNbkIXc2.chunk.js";import"./DFhkO_lZ.chunk.js";import"./DuidBpWd.chunk.js";import"./nay4aGaa.chunk.js";import"./BdHxGaRy.chunk.js";import"./pkzD5BEm.chunk.js";const J="_classificationPane_sns98_1",K={classificationPane:J},X="subjects.classificationsView",o=B.encloseNamespace(X);function $(e,s){const n=r(e&&p.classification(e,s));return e?n==null?void 0:n.data:{name:o("exploreAllTopicsHeading"),banner:{url:M.Images.STREAMABLE_TOPIC_BANNER}}}function Q(e){const s=r(e&&p.path(e));return e?s==null?void 0:s.data:[]}function ve(e){var C,A,P,L;const s=r(R.currentUser()),n=r(D.config()),c=r(I.streamablePresentation()),a=$(e.id,(C=s.data)==null?void 0:C.id),g=Q(e.id);v({title:o("exploreAllTopicsHeading")});const S=e.id?p.children(e.id):c.data&&p.topLevelTopics((A=c.data)==null?void 0:A.id),m=r(S),[T]=E(H.AUDIENCE_FILTER,void 0,{storage:y.SessionStorage}),f=i=>{const d=V.getAudienceParams(T);return{application:u.SUBJECTS,action:l.Subjects.CLASSIFICATION,args:i?[i.id,U.slugify(i.name)]:[],params:d||{}}};function x(){const i=[{name:o("discover"),appLink:{application:u.DASHBOARD,action:l.Dashboard.HOME}},{name:o("exploreAllTopicsHeading"),appLink:{application:u.SUBJECTS,action:l.Subjects.CLASSIFICATION_ALL},active:!e.id}];return g.forEach(d=>{i.push({name:d.name,appLink:f(d)})}),e.id&&i.push({name:o("subview"),active:!0}),i}const b=(e.id?!!a:!0)&&!!n.data&&m.data,h=!!g,j={presentationId:(P=c.data)==null?void 0:P.id,presentationName:(L=c.data)==null?void 0:L.name,currentClassificationName:a==null?void 0:a.name,widgetId:G.Classifications,templateId:z.CoverFixedPillListLarge};return t.jsxs("main",{className:"bg-white px-4",children:[b?t.jsx(_,{heading:a==null?void 0:a.name,banner:a==null?void 0:a.banner,imageCdnUrl:n.data.imageCdnUrl,actions:[],imageOptions:!e.id&&{resizeType:N.Cover}}):t.jsx(w,{}),t.jsx("div",{className:"py-3 mb-3 border-bottom",children:h?t.jsx(O,{breadcrumbs:x()}):t.jsx(F,{})}),t.jsx("div",{className:K.classificationPane,children:b?t.jsx(W,{name:"",description:"",analyticsData:j,content:m==null?void 0:m.data,appLinks:{classification:f},hasTableOfContents:!1,settings:{hasTopicDirectories:!1}}):t.jsx(k,{partialLoadingComponent:q})})]})}export{ve as StreamableClassificationsView};
2
+ //# sourceMappingURL=zUz4ZfV2.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zUz4ZfV2.chunk.js","sources":["../../src/apps/subjects/views/classifications/StreamableClassificationsView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumb, Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { CoverFixedPillListLargeWidgetTemplate } from 'libs/shared/components/widgets/curated-widgets/templates/cover-fixed-pill-list-large/CoverFixedPillListLargeWidgetTemplate';\nimport { PartialDynamicWidget } from 'libs/shared/components/widgets/dynamic-widget';\nimport { PartialSubjectWidgetItem } from 'libs/shared/components/widgets/items/subject-widget-item';\nimport { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { ResizeType } from 'libs/shared/enums/Images';\nimport { WidgetTemplate } from 'libs/shared/enums/WidgetTemplate';\nimport { WidgetTypeId } from 'libs/shared/enums/WidgetTypeId';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, Config, CurrentUser, Presentation, PresentationAudience } from 'libs/shared/interfaces';\nimport { AudienceHelper } from 'libs/shared/utils/audience-helper/AudienceHelper';\n\nimport { Actions } from 'shared/constants/StreamableActions';\nimport { AppChannels } from 'shared/constants/StreamableRadioChannels';\nimport { PresentationRequests } from 'shared/flight-requests/PresentationRequests';\n\nimport styles from './classifications.module.scss';\n\nconst namespace = 'subjects.classificationsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction useGetClassification(\n id?: string,\n userId?: string\n): Classification {\n /**\n * With an id, we're fetching the classification to show the child topics in the\n * classification list.\n */\n const classification = Flight.useBasicFetch<Classification>(\n id &&\n ClassificationRequests.classification(id, userId)\n );\n\n /**\n * Without an id, we should be displaying the All Subjects page. So we'll construct\n * a synthetic classification.\n */\n if (!id)\n return {\n name: getPhrase('exploreAllTopicsHeading'),\n banner: {\n url: HardCoded.Images.STREAMABLE_TOPIC_BANNER\n }\n } as Classification;\n\n return classification?.data;\n}\n\nfunction useGetPaths(id?: string): Classification[] {\n const path = Flight.useBasicFetch<Classification[]>(id && ClassificationRequests.path(id));\n\n if (!id)\n return [];\n\n return path?.data;\n}\n\n\ninterface StreamableClassificationsViewProps {\n id?: string;\n}\n\nexport function StreamableClassificationsView(props: StreamableClassificationsViewProps): JSX.Element {\n /**\n * Data fetching\n */\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const presentation = Flight.useBasicFetch<Presentation>(\n PresentationRequests.streamablePresentation()\n );\n\n const classification = useGetClassification(\n props.id,\n currentUser.data?.id\n );\n\n const paths = useGetPaths(props.id);\n\n useSetPageMetadata({ title: getPhrase('exploreAllTopicsHeading') });\n\n /**\n * With an id, we'll fetch the classification's children.\n * With a presentationId, we'll fetch the presentation's top level topics.\n * For public access, we will always have a presentationId available.\n */\n const request = props.id\n ? ClassificationRequests.children(props.id)\n : presentation.data && ClassificationRequests.topLevelTopics(presentation.data?.id);\n\n const children = Flight.useBasicFetch<Classification[]>(request);\n\n const [activeAudiences] = useViewModel<PresentationAudience[]>(\n SharedViewModelKeys.AUDIENCE_FILTER,\n undefined,\n { storage: StorageType.SessionStorage }\n );\n\n const classificationAppLinkFn = (classification?: Classification) => {\n const params = AudienceHelper.getAudienceParams(activeAudiences);\n return {\n application: AppChannels.SUBJECTS,\n action: Actions.Subjects.CLASSIFICATION,\n args: classification ? [ classification.id, TextHelper.slugify(classification.name) ] : [],\n params: params || {}\n };\n };\n\n function getBreadcrumbs(): Breadcrumb[] {\n const breadcrumbs: Breadcrumb[] = [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }, {\n name: getPhrase('exploreAllTopicsHeading'),\n appLink: { application: AppChannels.SUBJECTS, action: Actions.Subjects.CLASSIFICATION_ALL },\n active: !props.id\n }];\n\n paths.forEach(item => {\n breadcrumbs.push({\n name: item.name,\n appLink: classificationAppLinkFn(item)\n });\n });\n\n if (props.id)\n breadcrumbs.push({\n name: getPhrase('subview'),\n active: true\n });\n\n return breadcrumbs;\n }\n\n /**\n * Render Variable\n */\n const dataLoaded = (props.id ? !!classification : true) && !!config.data && children.data;\n const breadcrumbsDataLoaded = !!paths;\n\n /**\n * Additional subjects data to be mixed in with lower-level component analytics collection\n */\n const analyticsData = {\n presentationId: presentation.data?.id,\n presentationName: presentation.data?.name,\n currentClassificationName: classification?.name,\n widgetId: WidgetTypeId.Classifications,\n templateId: WidgetTemplate.CoverFixedPillListLarge\n };\n\n return (\n <main className='bg-white px-4'>\n {dataLoaded\n ? (\n <BannerHeader\n heading={classification?.name}\n banner={classification?.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n actions={[]}\n imageOptions={!props.id && { resizeType: ResizeType.Cover }}\n />\n ) : <PartialBannerHeader />\n }\n <div className={`py-3 mb-3 border-bottom`}>\n {(() => {\n if (!breadcrumbsDataLoaded)\n return <PartialBreadcrumbs />;\n\n return <Breadcrumbs breadcrumbs={getBreadcrumbs()} />;\n })()}\n </div>\n <div className={styles.classificationPane}>\n {dataLoaded\n ? (\n <CoverFixedPillListLargeWidgetTemplate\n name=''\n description=''\n analyticsData={analyticsData}\n content={children?.data}\n appLinks={{ classification: classificationAppLinkFn }}\n hasTableOfContents={false}\n settings={{\n hasTopicDirectories: false\n }}\n />\n ) : <PartialDynamicWidget partialLoadingComponent={PartialSubjectWidgetItem} />}\n </div>\n </main>\n );\n}"],"names":["namespace","getPhrase","LanguageService","useGetClassification","id","userId","classification","Flight.useBasicFetch","ClassificationRequests","HardCoded","useGetPaths","path","StreamableClassificationsView","props","currentUser","UserRequests","config","ConfigRequests","presentation","PresentationRequests","_a","paths","useSetPageMetadata","request","_b","children","activeAudiences","useViewModel","SharedViewModelKeys","StorageType","classificationAppLinkFn","params","AudienceHelper","AppChannels","Actions","TextHelper","getBreadcrumbs","breadcrumbs","item","dataLoaded","breadcrumbsDataLoaded","analyticsData","_c","_d","WidgetTypeId","WidgetTemplate","jsxs","jsx","BannerHeader","ResizeType","PartialBannerHeader","Breadcrumbs","PartialBreadcrumbs","styles","CoverFixedPillListLargeWidgetTemplate","PartialDynamicWidget","PartialSubjectWidgetItem"],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@clickview/streamable-learning",
3
- "version": "0.36.0",
3
+ "version": "0.36.1-dev.0",
4
4
  "description": "Streamable Learning",
5
5
  "main": "dist/scripts/bundle.js",
6
6
  "scripts": {
7
- "start": "cross-env NODE_ENV=development webpack -w --config ./tooling/webpack.config.js",
8
- "build": "cross-env NODE_ENV=production webpack --config ./tooling/webpack.config.js",
7
+ "start": "vite",
8
+ "type-check": "tsc --noEmit",
9
+ "build": "npm run type-check && vite build",
9
10
  "test": "jest",
10
11
  "test-watch": "jest --watch"
11
12
  },
@@ -17,6 +18,7 @@
17
18
  "publishable": true,
18
19
  "rebuildable": true
19
20
  },
21
+ "type": "module",
20
22
  "author": "Shale Kuzmanovski",
21
23
  "license": "ISC",
22
24
  "babel": {
@@ -4,7 +4,8 @@
4
4
  * ts/js code.
5
5
  */
6
6
  declare module '*.scss';
7
- declare module '*.svg';
7
+
8
+ declare module 'virtual:i18n-data';
8
9
 
9
10
  declare module '*.json' {
10
11
  export const value: any;
package/vite.config.ts ADDED
@@ -0,0 +1,6 @@
1
+ import config from '../../libs/tooling/vite/vite.base.config';
2
+
3
+ export default config({
4
+ root: __dirname,
5
+ port: 8000
6
+ });
@@ -1,7 +0,0 @@
1
- .VwD1b{color:#313543}.eJ85e{width:1.75rem;height:1.75rem}
2
- .F_1ii{font-size:.7857142857em}.F_1ii.BxmrB{font-size:.5714285714em}
3
- .fVSzb{width:100%;height:100%}
4
- .vdd4V{position:relative;width:100%;height:100%}.vdd4V img{position:absolute;top:0;bottom:0;left:0;right:0}.Ez0E7{padding-bottom:56.25%}.H9bQA{padding-bottom:177.77778%}.Nudts{padding-bottom:100%}.IOvDH{padding-bottom:18.5%}.iiY56{padding-bottom:150%}.aDJiJ img{height:auto}.wDpui img{width:auto;margin:0 auto}
5
- .FFgf3{border-top-left-radius:.6rem;border-top-right-radius:.6rem;filter:drop-shadow(0px -1px 4px rgba(0, 0, 0, 0.1))}.z4O5p{width:auto;object-fit:contain;left:50% !important;transform:translateX(-50%)}.Xy4zX{top:auto !important;bottom:0 !important}
6
- .iwBld{position:absolute;top:.5rem;left:.5rem;z-index:3}.QBpxh{background-color:#767676}.KcvGx{display:flex;align-items:center;min-width:1.875rem;width:1.875rem;height:1.875rem;transition:width .3s;overflow:hidden;position:relative}.KcvGx .gW733{min-width:1.5rem;position:absolute;left:50%;transform:translateX(-50%)}.KcvGx .gW733 svg{vertical-align:top}.KcvGx .QiH5Q{display:none;line-height:1.875rem}.KcvGx.tn2BH{min-width:1.5rem;width:1.5rem;height:1.5rem}.KcvGx.tn2BH .gW733{min-width:1.25rem}.KcvGx.tn2BH .QiH5Q{font-size:80%;line-height:1.5rem}.KcvGx:hover{width:100%;padding-right:.5rem}.KcvGx:hover .QiH5Q{display:block}.KcvGx:hover .gW733{margin-left:.2rem;position:relative;left:.75rem}.KcvGx:hover.tn2BH .gW733{left:.55rem}
7
- .LPIxB{border-top-left-radius:.6rem;border-top-right-radius:.6rem;filter:drop-shadow(0px -1px 4px rgba(0, 0, 0, 0.1))}.hG3Tb{width:25%}@media(max-width: 1199.98px){.hG3Tb.NsE6A{width:33.33333%}}@media(max-width: 767.98px){.hG3Tb.NsE6A{width:50%}}@media(max-width: 575.98px){.hG3Tb.NsE6A{width:100%}}.hG3Tb.GNrEZ{width:33.3333333333%}@media(max-width: 575.98px){.hG3Tb.GNrEZ{width:50%}}.w8Xk2{position:relative;padding-bottom:56.25%;width:100%}.HwEHT{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.kMOTC .tVvXA{display:none;position:absolute;top:.5rem;right:.5rem;z-index:5}.kMOTC:hover .tVvXA{display:block}.u2Fp4:hover{text-decoration:underline}.AdLdR{line-height:1.5}.R0Xin{height:85%}.R0Xin.h9wWW{height:66.6666666667%}.Q7sBa{background-color:#e0f3ff}.Q7sBa .CRCVw{color:#38a2e8}.Q7sBa.QXpa3:hover{background-color:#eff9ff}.vJYrV{background-color:#e0dfff}.vJYrV .CRCVw{color:#7a76e8}.vJYrV.QXpa3:hover{background-color:#f0efff}.d3dG2{background-color:#f8e1ff}.d3dG2 .CRCVw{color:#b679c7}.d3dG2.QXpa3:hover{background-color:#fcf0ff}.YFoeN{background-color:#d8ffe7}.YFoeN .CRCVw{color:#5dc786}.YFoeN.QXpa3:hover{background-color:#e5ffef}.KMBEA{background-color:#cdfcff}.KMBEA .CRCVw{color:#40bcc3}.KMBEA.QXpa3:hover{background-color:#e3feff}.Pwn2T{width:auto;object-fit:contain;left:50% !important;transform:translateX(-50%)}.KU6Q0{color:#313543;background-color:rgba(250,250,250,.8);border-radius:50%;width:2rem;height:2rem}.KU6Q0:hover{background-color:#fff}
@@ -1,2 +0,0 @@
1
- .vDcrq{width:13rem;max-width:50%;height:1.675rem}.GXhoW{height:1.1875rem;max-width:70%;width:30rem}.goKaS{width:5.5rem;max-width:20%;height:1.3125rem}.vFew6{height:1.3125rem;max-width:70%;width:25rem}
2
- .GvGYH:not(:last-child),.d7RK0:not(:last-child),.XRTAe:not(:last-child){margin-bottom:1rem}.hAxR4{height:1.5rem}.h66ke{list-style-type:disc}.rdLqY{background-color:#f8f8f8;height:2rem;cursor:pointer}.rdLqY .etwaD{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.rdLqY .etwaD img{width:100%;height:100%}.rdLqY.BMrSd{cursor:default !important}.rdLqY:not(.BMrSd):hover,.rdLqY:not(.BMrSd):active{background-color:#ebf6fd}.Qz4eF:hover{background-color:#ebf6fd !important}.BMrSd{background-color:#ebf6fd}.AmcR3{margin-top:-0.2rem}