@clickview/lite 0.0.26-dev.1 → 0.0.26-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/css/0.chunk.css +2 -2
  2. package/dist/css/28.chunk.css +1 -1
  3. package/dist/css/36.chunk.css +1 -1
  4. package/dist/en.json +1 -1
  5. package/dist/libs/analytics/src/interfaces/AnalyticsTypes.d.ts +1 -0
  6. package/dist/libs/common/src/backbone/utils/LocalStorageHelper.d.ts +1 -1
  7. package/dist/libs/common/src/react/hooks/UseViewModel.d.ts +8 -0
  8. package/dist/libs/shared/src/apps/playlists/utils/PlaylistSortHelper.d.ts +1 -0
  9. package/dist/libs/shared/src/apps/subjects/components/audience-filter/AudienceFilter.d.ts +3 -3
  10. package/dist/libs/shared/src/apps/subjects/hooks/useAudienceFilter.d.ts +10 -0
  11. package/dist/libs/shared/src/components/thumbnails/video/VideoThumbnail.d.ts +1 -1
  12. package/dist/libs/shared/src/constants/SharedViewModelKeys.d.ts +1 -0
  13. package/dist/libs/shared/src/flight-requests/FavouriteVideoRequests.d.ts +1 -1
  14. package/dist/libs/shared/src/interfaces/models/ClassroomGroup.d.ts +1 -1
  15. package/dist/projects/lite/src/app.d.ts +1 -0
  16. package/dist/projects/lite/src/apps/dashboard/flight-requests/DashboardRequests.d.ts +1 -0
  17. package/dist/projects/lite/src/apps/playlists/views/playlists/PlaylistsView.d.ts +1 -1
  18. package/dist/projects/lite/src/shared/constants/LiteViewModels.d.ts +1 -0
  19. package/dist/scripts/0-2d31d283ae.chunk.js +1 -0
  20. package/dist/scripts/{1-8027d5d7a2.chunk.js → 1-416147a365.chunk.js} +3 -3
  21. package/dist/scripts/{10-8b52a5b2a9.chunk.js → 10-6f924160d4.chunk.js} +1 -1
  22. package/dist/scripts/11-bb4335845c.chunk.js +1 -0
  23. package/dist/scripts/{12-5a9f0cff7a.chunk.js → 12-c98f636456.chunk.js} +1 -1
  24. package/dist/scripts/13-f440a979f2.chunk.js +1 -0
  25. package/dist/scripts/14-96e2ac4c4e.chunk.js +1 -0
  26. package/dist/scripts/17-ae3c652b7f.chunk.js +1 -0
  27. package/dist/scripts/18-70bed357d5.chunk.js +1 -0
  28. package/dist/scripts/19-fd97756828.chunk.js +1 -0
  29. package/dist/scripts/2-9458935561.chunk.js +1 -0
  30. package/dist/scripts/20-f660938e48.chunk.js +1 -0
  31. package/dist/scripts/21-6b5bac2388.chunk.js +1 -0
  32. package/dist/scripts/22-d2e93288e2.chunk.js +1 -0
  33. package/dist/scripts/{23-8fa9630961.chunk.js → 23-cef41d75a0.chunk.js} +1 -1
  34. package/dist/scripts/{24-1b298386e9.chunk.js → 24-bce9e631d6.chunk.js} +1 -1
  35. package/dist/scripts/25-db36457320.chunk.js +1 -0
  36. package/dist/scripts/26-5aed5ee0dd.chunk.js +1 -0
  37. package/dist/scripts/27-7f8deea7e3.chunk.js +1 -0
  38. package/dist/scripts/{28-992fa1d7d3.chunk.js → 28-5f765079fd.chunk.js} +1 -1
  39. package/dist/scripts/29-0b8214340f.chunk.js +1 -0
  40. package/dist/scripts/{3-0490c565bc.chunk.js → 3-96cf66c7ed.chunk.js} +1 -1
  41. package/dist/scripts/30-2f39246be7.chunk.js +1 -0
  42. package/dist/scripts/{31-35db520dd1.chunk.js → 31-29dea56635.chunk.js} +1 -1
  43. package/dist/scripts/32-bbaee512ce.chunk.js +1 -0
  44. package/dist/scripts/33-46803f3fef.chunk.js +1 -0
  45. package/dist/scripts/34-c017ae74c8.chunk.js +53 -0
  46. package/dist/scripts/{35-c03686c46a.chunk.js → 35-7da451a1c9.chunk.js} +1 -1
  47. package/dist/scripts/{36-83d6842746.chunk.js → 36-57ab543f4f.chunk.js} +1 -1
  48. package/dist/scripts/{37-c3430bac04.chunk.js → 37-80c7b6220d.chunk.js} +1 -1
  49. package/dist/scripts/38-50ed73316a.chunk.js +1 -0
  50. package/dist/scripts/39-3adf4ecd44.chunk.js +1 -0
  51. package/dist/scripts/4-6611628e1a.chunk.js +1 -0
  52. package/dist/scripts/40-3872135793.chunk.js +1 -0
  53. package/dist/scripts/{41-900e1bf0e1.chunk.js → 41-9a1c72850a.chunk.js} +1 -1
  54. package/dist/scripts/42-4932b5ac21.chunk.js +1 -0
  55. package/dist/scripts/{43-24d8ad0345.chunk.js → 43-22cf86a966.chunk.js} +1 -1
  56. package/dist/scripts/44-b62663ca9d.chunk.js +1 -0
  57. package/dist/scripts/45-0d8523abe9.chunk.js +1 -0
  58. package/dist/scripts/{46-b0dd9697cf.chunk.js → 46-fe9870ac23.chunk.js} +1 -1
  59. package/dist/scripts/{47-2b4a82f4ad.chunk.js → 47-6dffaed1d7.chunk.js} +1 -1
  60. package/dist/scripts/{48-982a605bb0.chunk.js → 48-7220efc4d6.chunk.js} +1 -1
  61. package/dist/scripts/{49-8226f8d1ba.chunk.js → 49-ae885df086.chunk.js} +1 -1
  62. package/dist/scripts/5-4177d478cc.chunk.js +1 -0
  63. package/dist/scripts/{50-dcc75825be.chunk.js → 50-f9157fe86a.chunk.js} +2 -2
  64. package/dist/scripts/{51-1f52bbeb15.chunk.js → 51-9c714f222a.chunk.js} +1 -1
  65. package/dist/scripts/{52-a15b2e7c02.chunk.js → 52-40b5bed763.chunk.js} +1 -1
  66. package/dist/scripts/{53-4cd55bd586.chunk.js → 53-b1a06f2260.chunk.js} +1 -1
  67. package/dist/scripts/{54-aa1a08cdbf.chunk.js → 54-adc0aca3b2.chunk.js} +1 -1
  68. package/dist/scripts/{55-c969a4fc28.chunk.js → 55-89cef329b2.chunk.js} +1 -1
  69. package/dist/scripts/{56-68fdf84a0d.chunk.js → 56-0dddea6e48.chunk.js} +1 -1
  70. package/dist/scripts/{57-db5bdeea30.chunk.js → 57-8fb86637a6.chunk.js} +1 -1
  71. package/dist/scripts/{58-df23c1a02e.chunk.js → 58-72d868bb97.chunk.js} +1 -1
  72. package/dist/scripts/{59-2d38ae02a6.chunk.js → 59-f186c23ddf.chunk.js} +1 -1
  73. package/dist/scripts/{6-1b789e45e3.chunk.js → 6-615cc3317e.chunk.js} +1 -1
  74. package/dist/scripts/{60-b5000feaed.chunk.js → 60-60ea3e256b.chunk.js} +1 -1
  75. package/dist/scripts/{61-280ba38bbf.chunk.js → 61-fba9617716.chunk.js} +1 -1
  76. package/dist/scripts/{62-9a61055529.chunk.js → 62-39c21de14e.chunk.js} +1 -1
  77. package/dist/scripts/{63-ecc242395a.chunk.js → 63-d1c111fcd5.chunk.js} +1 -1
  78. package/dist/scripts/{64-077f9961a9.chunk.js → 64-33b287c3c2.chunk.js} +1 -1
  79. package/dist/scripts/{65-0463ba68c3.chunk.js → 65-889dba985e.chunk.js} +1 -1
  80. package/dist/scripts/{66-851f0b0243.chunk.js → 66-00f7b4a21f.chunk.js} +1 -1
  81. package/dist/scripts/{67-103e97e558.chunk.js → 67-d923fb11ed.chunk.js} +1 -1
  82. package/dist/scripts/{68-7a80380425.chunk.js → 68-85a8867bd2.chunk.js} +1 -1
  83. package/dist/scripts/{69-7d9f3514e6.chunk.js → 69-0fc67deac3.chunk.js} +1 -1
  84. package/dist/scripts/7-79961729d4.chunk.js +1 -0
  85. package/dist/scripts/{70-fd6b603857.chunk.js → 70-8b68b786a9.chunk.js} +1 -1
  86. package/dist/scripts/{71-b002267371.chunk.js → 71-81cbd9cbe0.chunk.js} +1 -1
  87. package/dist/scripts/{72-7b99de33d0.chunk.js → 72-ea543ecb4d.chunk.js} +1 -1
  88. package/dist/scripts/73-32bacce3b9.chunk.js +1 -0
  89. package/dist/scripts/{74-72227ec214.chunk.js → 74-5b7c16baa1.chunk.js} +1 -1
  90. package/dist/scripts/{75-d463b7002b.chunk.js → 75-81b94320b7.chunk.js} +1 -1
  91. package/dist/scripts/{76-5780bbb319.chunk.js → 76-9e8154e3d1.chunk.js} +1 -1
  92. package/dist/scripts/{77-7ea0e086de.chunk.js → 77-d57229038b.chunk.js} +1 -1
  93. package/dist/scripts/{78-11cad53884.chunk.js → 78-cd93b07a63.chunk.js} +1 -1
  94. package/dist/scripts/{79-90eb976e11.chunk.js → 79-999b00ee35.chunk.js} +1 -1
  95. package/dist/scripts/{8-fe4d1fcbb5.chunk.js → 8-f1d54ac54a.chunk.js} +1 -1
  96. package/dist/scripts/80-7a85bbaf88.chunk.js +1 -0
  97. package/dist/scripts/81-a589326f2f.chunk.js +1 -0
  98. package/dist/scripts/{82-3326a696b2.chunk.js → 82-660d825e60.chunk.js} +1 -1
  99. package/dist/scripts/{9-753761ada2.chunk.js → 9-d2c18751ff.chunk.js} +1 -1
  100. package/dist/scripts/bundle-99c49275bf.min.js +31 -0
  101. package/dist/scripts/bundles.json +2 -2
  102. package/dist/scripts/polyfills-b23c61c24c.min.js +1 -0
  103. package/package.json +3 -3
  104. package/dist/css/0.chunk.css.map +0 -1
  105. package/dist/css/1.chunk.css +0 -226
  106. package/dist/css/1.chunk.css.map +0 -1
  107. package/dist/css/10.chunk.css +0 -101
  108. package/dist/css/10.chunk.css.map +0 -1
  109. package/dist/css/11.chunk.css.map +0 -1
  110. package/dist/css/12.chunk.css.map +0 -1
  111. package/dist/css/13.chunk.css +0 -42
  112. package/dist/css/13.chunk.css.map +0 -1
  113. package/dist/css/14.chunk.css +0 -42
  114. package/dist/css/14.chunk.css.map +0 -1
  115. package/dist/css/15.chunk.css +0 -86
  116. package/dist/css/15.chunk.css.map +0 -1
  117. package/dist/css/16.chunk.css +0 -25
  118. package/dist/css/16.chunk.css.map +0 -1
  119. package/dist/css/17.chunk.css.map +0 -1
  120. package/dist/css/18.chunk.css.map +0 -1
  121. package/dist/css/19.chunk.css.map +0 -1
  122. package/dist/css/2.chunk.css.map +0 -1
  123. package/dist/css/20.chunk.css.map +0 -1
  124. package/dist/css/21.chunk.css.map +0 -1
  125. package/dist/css/22.chunk.css.map +0 -1
  126. package/dist/css/23.chunk.css.map +0 -1
  127. package/dist/css/24.chunk.css.map +0 -1
  128. package/dist/css/25.chunk.css.map +0 -1
  129. package/dist/css/26.chunk.css.map +0 -1
  130. package/dist/css/27.chunk.css.map +0 -1
  131. package/dist/css/28.chunk.css.map +0 -1
  132. package/dist/css/29.chunk.css.map +0 -1
  133. package/dist/css/3.chunk.css +0 -26
  134. package/dist/css/3.chunk.css.map +0 -1
  135. package/dist/css/30.chunk.css.map +0 -1
  136. package/dist/css/31.chunk.css.map +0 -1
  137. package/dist/css/32.chunk.css.map +0 -1
  138. package/dist/css/33.chunk.css.map +0 -1
  139. package/dist/css/34.chunk.css +0 -26
  140. package/dist/css/34.chunk.css.map +0 -1
  141. package/dist/css/35.chunk.css.map +0 -1
  142. package/dist/css/36.chunk.css.map +0 -1
  143. package/dist/css/37.chunk.css.map +0 -1
  144. package/dist/css/38.chunk.css.map +0 -1
  145. package/dist/css/39.chunk.css.map +0 -1
  146. package/dist/css/40.chunk.css.map +0 -1
  147. package/dist/css/41.chunk.css.map +0 -1
  148. package/dist/css/42.chunk.css.map +0 -1
  149. package/dist/css/43.chunk.css.map +0 -1
  150. package/dist/css/44.chunk.css.map +0 -1
  151. package/dist/css/45.chunk.css +0 -17
  152. package/dist/css/45.chunk.css.map +0 -1
  153. package/dist/css/46.chunk.css +0 -50
  154. package/dist/css/46.chunk.css.map +0 -1
  155. package/dist/css/47.chunk.css +0 -10
  156. package/dist/css/47.chunk.css.map +0 -1
  157. package/dist/css/48.chunk.css +0 -40
  158. package/dist/css/48.chunk.css.map +0 -1
  159. package/dist/css/49.chunk.css +0 -26
  160. package/dist/css/49.chunk.css.map +0 -1
  161. package/dist/css/5.chunk.css.map +0 -1
  162. package/dist/css/50.chunk.css +0 -14
  163. package/dist/css/50.chunk.css.map +0 -1
  164. package/dist/css/51.chunk.css +0 -17
  165. package/dist/css/51.chunk.css.map +0 -1
  166. package/dist/css/52.chunk.css +0 -14
  167. package/dist/css/52.chunk.css.map +0 -1
  168. package/dist/css/53.chunk.css +0 -6
  169. package/dist/css/53.chunk.css.map +0 -1
  170. package/dist/css/54.chunk.css.map +0 -1
  171. package/dist/css/56.chunk.css +0 -32
  172. package/dist/css/56.chunk.css.map +0 -1
  173. package/dist/css/57.chunk.css.map +0 -1
  174. package/dist/css/58.chunk.css +0 -52
  175. package/dist/css/58.chunk.css.map +0 -1
  176. package/dist/css/59.chunk.css.map +0 -1
  177. package/dist/css/6.chunk.css.map +0 -1
  178. package/dist/css/60.chunk.css.map +0 -1
  179. package/dist/css/61.chunk.css.map +0 -1
  180. package/dist/css/62.chunk.css +0 -52
  181. package/dist/css/62.chunk.css.map +0 -1
  182. package/dist/css/63.chunk.css +0 -14
  183. package/dist/css/63.chunk.css.map +0 -1
  184. package/dist/css/64.chunk.css.map +0 -1
  185. package/dist/css/65.chunk.css.map +0 -1
  186. package/dist/css/66.chunk.css +0 -52
  187. package/dist/css/66.chunk.css.map +0 -1
  188. package/dist/css/67.chunk.css +0 -52
  189. package/dist/css/67.chunk.css.map +0 -1
  190. package/dist/css/68.chunk.css +0 -14
  191. package/dist/css/68.chunk.css.map +0 -1
  192. package/dist/css/69.chunk.css +0 -14
  193. package/dist/css/69.chunk.css.map +0 -1
  194. package/dist/css/7.chunk.css.map +0 -1
  195. package/dist/css/70.chunk.css +0 -43
  196. package/dist/css/70.chunk.css.map +0 -1
  197. package/dist/css/71.chunk.css +0 -43
  198. package/dist/css/71.chunk.css.map +0 -1
  199. package/dist/css/72.chunk.css +0 -43
  200. package/dist/css/72.chunk.css.map +0 -1
  201. package/dist/css/73.chunk.css +0 -43
  202. package/dist/css/73.chunk.css.map +0 -1
  203. package/dist/css/78.chunk.css +0 -83
  204. package/dist/css/78.chunk.css.map +0 -1
  205. package/dist/css/8.chunk.css.map +0 -1
  206. package/dist/css/83.chunk.css +0 -9
  207. package/dist/css/83.chunk.css.map +0 -1
  208. package/dist/css/84.chunk.css +0 -38
  209. package/dist/css/84.chunk.css.map +0 -1
  210. package/dist/css/85.chunk.css +0 -68
  211. package/dist/css/85.chunk.css.map +0 -1
  212. package/dist/css/86.chunk.css +0 -5
  213. package/dist/css/86.chunk.css.map +0 -1
  214. package/dist/css/87.chunk.css +0 -5
  215. package/dist/css/87.chunk.css.map +0 -1
  216. package/dist/css/89.chunk.css +0 -40
  217. package/dist/css/89.chunk.css.map +0 -1
  218. package/dist/css/9.chunk.css.map +0 -1
  219. package/dist/css/90.chunk.css +0 -8
  220. package/dist/css/90.chunk.css.map +0 -1
  221. package/dist/css/91.chunk.css +0 -8
  222. package/dist/css/91.chunk.css.map +0 -1
  223. package/dist/css/92.chunk.css +0 -32
  224. package/dist/css/92.chunk.css.map +0 -1
  225. package/dist/css/93.chunk.css +0 -32
  226. package/dist/css/93.chunk.css.map +0 -1
  227. package/dist/css/94.chunk.css +0 -5
  228. package/dist/css/94.chunk.css.map +0 -1
  229. package/dist/css/lite-app.css.map +0 -1
  230. package/dist/libs/common/src/react/hooks/useViewModel.d.ts +0 -4
  231. package/dist/libs/shared/src/apps/subjects/hooks/useAudienceParams.d.ts +0 -5
  232. package/dist/libs/shared/src/apps/subjects/reducers/AudienceReducer.d.ts +0 -11
  233. package/dist/libs/shared/src/enums/PlayerMediaType.d.ts +0 -5
  234. package/dist/libs/shared/src/interfaces/models/interactive.d.ts +0 -9
  235. package/dist/libs/shared/src/interfaces/models/interactives/ActionableItem.d.ts +0 -6
  236. package/dist/libs/shared/src/interfaces/models/interactives/Interaction.d.ts +0 -16
  237. package/dist/libs/shared/src/interfaces/models/interactives/InteractionType.d.ts +0 -7
  238. package/dist/libs/shared/src/interfaces/models/interactives/InteractionTypeId.d.ts +0 -8
  239. package/dist/libs/shared/src/interfaces/models/interactives/Interactive.d.ts +0 -13
  240. package/dist/libs/shared/src/interfaces/models/interactives/Timepoint.d.ts +0 -9
  241. package/dist/libs/shared/src/interfaces/models/interactives/index.d.ts +0 -6
  242. package/dist/libs/shared/src/utils/DashboardHelper.d.ts +0 -9
  243. package/dist/projects/lite/src/apps/classrooms/components/classroom-group/ClassroomGroup.d.ts +0 -7
  244. package/dist/projects/lite/src/apps/classrooms/components/classroom-students-list/empty-state/ClassroomStudentsListEmptyState.d.ts +0 -2
  245. package/dist/projects/lite/src/apps/classrooms/components/tile-actions/TileActions.d.ts +0 -12
  246. package/dist/projects/lite/src/apps/classrooms/enums/GroupColour.d.ts +0 -10
  247. package/dist/projects/lite/src/apps/search/components/filter-types/radio-filter/year-level/YearLevelRadioFilter.d.ts +0 -8
  248. package/dist/projects/lite/src/apps/search/flight-requests/index.d.ts +0 -1
  249. package/dist/projects/lite/src/apps/share/components/sharee-item/ShareeItem.d.ts +0 -8
  250. package/dist/projects/lite/src/apps/share/views/main-view/MainShareView.d.ts +0 -11
  251. package/dist/projects/lite/src/apps/share/views/settings-view/ShareSettingsView.d.ts +0 -9
  252. package/dist/projects/lite/src/apps/user-manager/interfaces/mocks/MockClassroom.d.ts +0 -8
  253. package/dist/projects/lite/src/apps/user-manager/views/bulk-upload-users/BulkUploadUsersView.d.ts +0 -8
  254. package/dist/projects/lite/src/apps/user-manager/views/user-upload-duplicates/UserUploadDuplicatesView.d.ts +0 -8
  255. package/dist/projects/lite/src/apps/user-manager/views/user-upload-review/UserUploadReviewView.d.ts +0 -8
  256. package/dist/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.d.ts +0 -8
  257. package/dist/projects/lite/src/shared/components/share/result-templates/user/InstantUserTemplate.d.ts +0 -8
  258. package/dist/projects/lite/src/shared/components/share/sharee-item/ShareeItem.d.ts +0 -7
  259. package/dist/projects/lite/src/shared/components/share/tokenized-typeahead/InputSelection.d.ts +0 -8
  260. package/dist/projects/lite/src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.d.ts +0 -21
  261. package/dist/projects/lite/src/shared/flight-requests/ShareRequests.d.ts +0 -5
  262. package/dist/projects/lite/src/shared/hooks/useGetEdgeToEdge.d.ts +0 -6
  263. package/dist/projects/lite/src/shared/interfaces/mocks/MockClassroomGroup.d.ts +0 -6
  264. package/dist/projects/lite/src/shared/interfaces/mocks/index.d.ts +0 -1
  265. package/dist/projects/lite/src/shared/services/SettingsDataService.d.ts +0 -10
  266. package/dist/projects/lite/src/shared/views/create-clip/CreateClipView.d.ts +0 -6
  267. package/dist/projects/lite/src/shared/views/left-nav/partial-loading/PartialLeftNavItem.d.ts +0 -2
  268. package/dist/projects/lite/src/shared/views/play-shared/PlaySharedView.d.ts +0 -6
  269. package/dist/projects/lite/src/shared/views/share/ShareView.d.ts +0 -9
  270. package/dist/projects/lite/src/shared/views/share/main-view/MainShareView.d.ts +0 -11
  271. package/dist/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.d.ts +0 -9
  272. package/dist/projects/player/src/react/EmbeddedPlayer.d.ts +0 -7
  273. package/dist/scripts/0-e994a1b4d7.chunk.js +0 -1
  274. package/dist/scripts/0.chunk.js +0 -332
  275. package/dist/scripts/0.chunk.js.map +0 -1
  276. package/dist/scripts/1.chunk.js +0 -1130
  277. package/dist/scripts/1.chunk.js.map +0 -1
  278. package/dist/scripts/10.chunk.js +0 -2334
  279. package/dist/scripts/10.chunk.js.map +0 -1
  280. package/dist/scripts/100.chunk.js +0 -453
  281. package/dist/scripts/100.chunk.js.map +0 -1
  282. package/dist/scripts/101.chunk.js +0 -161
  283. package/dist/scripts/101.chunk.js.map +0 -1
  284. package/dist/scripts/102.chunk.js +0 -91
  285. package/dist/scripts/102.chunk.js.map +0 -1
  286. package/dist/scripts/103.chunk.js +0 -84
  287. package/dist/scripts/103.chunk.js.map +0 -1
  288. package/dist/scripts/11-7a8c344ea6.chunk.js +0 -1
  289. package/dist/scripts/11.chunk.js +0 -1682
  290. package/dist/scripts/11.chunk.js.map +0 -1
  291. package/dist/scripts/12.chunk.js +0 -484
  292. package/dist/scripts/12.chunk.js.map +0 -1
  293. package/dist/scripts/13-b5d5d7bdfa.chunk.js +0 -1
  294. package/dist/scripts/13.chunk.js +0 -260
  295. package/dist/scripts/13.chunk.js.map +0 -1
  296. package/dist/scripts/14-28375f71fa.chunk.js +0 -1
  297. package/dist/scripts/14.chunk.js +0 -1183
  298. package/dist/scripts/14.chunk.js.map +0 -1
  299. package/dist/scripts/15.chunk.js +0 -788
  300. package/dist/scripts/15.chunk.js.map +0 -1
  301. package/dist/scripts/16.chunk.js +0 -442
  302. package/dist/scripts/16.chunk.js.map +0 -1
  303. package/dist/scripts/17-b4479339d2.chunk.js +0 -1
  304. package/dist/scripts/17.chunk.js +0 -879
  305. package/dist/scripts/17.chunk.js.map +0 -1
  306. package/dist/scripts/18-60f3cd6ee4.chunk.js +0 -1
  307. package/dist/scripts/18.chunk.js +0 -1140
  308. package/dist/scripts/18.chunk.js.map +0 -1
  309. package/dist/scripts/19-df1dc3ef2f.chunk.js +0 -1
  310. package/dist/scripts/19.chunk.js +0 -541
  311. package/dist/scripts/19.chunk.js.map +0 -1
  312. package/dist/scripts/2-dbb770fac8.chunk.js +0 -1
  313. package/dist/scripts/2.chunk.js +0 -18795
  314. package/dist/scripts/2.chunk.js.map +0 -1
  315. package/dist/scripts/20-9615a8e5b8.chunk.js +0 -1
  316. package/dist/scripts/20.chunk.js +0 -369
  317. package/dist/scripts/20.chunk.js.map +0 -1
  318. package/dist/scripts/21-30ec979fe0.chunk.js +0 -1
  319. package/dist/scripts/21.chunk.js +0 -272
  320. package/dist/scripts/21.chunk.js.map +0 -1
  321. package/dist/scripts/22-b278cab988.chunk.js +0 -1
  322. package/dist/scripts/22.chunk.js +0 -2164
  323. package/dist/scripts/22.chunk.js.map +0 -1
  324. package/dist/scripts/23.chunk.js +0 -20753
  325. package/dist/scripts/23.chunk.js.map +0 -1
  326. package/dist/scripts/24.chunk.js +0 -2288
  327. package/dist/scripts/24.chunk.js.map +0 -1
  328. package/dist/scripts/25-888b6248ff.chunk.js +0 -1
  329. package/dist/scripts/25.chunk.js +0 -2110
  330. package/dist/scripts/25.chunk.js.map +0 -1
  331. package/dist/scripts/26-aaabbf241e.chunk.js +0 -1
  332. package/dist/scripts/26.chunk.js +0 -1603
  333. package/dist/scripts/26.chunk.js.map +0 -1
  334. package/dist/scripts/27-3dc1f5803f.chunk.js +0 -1
  335. package/dist/scripts/27.chunk.js +0 -770
  336. package/dist/scripts/27.chunk.js.map +0 -1
  337. package/dist/scripts/28.chunk.js +0 -1460
  338. package/dist/scripts/28.chunk.js.map +0 -1
  339. package/dist/scripts/29-ae81a5e250.chunk.js +0 -1
  340. package/dist/scripts/29.chunk.js +0 -899
  341. package/dist/scripts/29.chunk.js.map +0 -1
  342. package/dist/scripts/3.chunk.js +0 -741
  343. package/dist/scripts/3.chunk.js.map +0 -1
  344. package/dist/scripts/30-75d0f41d0f.chunk.js +0 -1
  345. package/dist/scripts/30.chunk.js +0 -792
  346. package/dist/scripts/30.chunk.js.map +0 -1
  347. package/dist/scripts/31.chunk.js +0 -825
  348. package/dist/scripts/31.chunk.js.map +0 -1
  349. package/dist/scripts/32-d62f3a69c0.chunk.js +0 -1
  350. package/dist/scripts/32.chunk.js +0 -848
  351. package/dist/scripts/32.chunk.js.map +0 -1
  352. package/dist/scripts/33-8ec9d596c5.chunk.js +0 -1
  353. package/dist/scripts/33.chunk.js +0 -793
  354. package/dist/scripts/33.chunk.js.map +0 -1
  355. package/dist/scripts/34-7f80fea1f9.chunk.js +0 -53
  356. package/dist/scripts/34.chunk.js +0 -817
  357. package/dist/scripts/34.chunk.js.map +0 -1
  358. package/dist/scripts/35.chunk.js +0 -520
  359. package/dist/scripts/35.chunk.js.map +0 -1
  360. package/dist/scripts/36.chunk.js +0 -717
  361. package/dist/scripts/36.chunk.js.map +0 -1
  362. package/dist/scripts/37.chunk.js +0 -538
  363. package/dist/scripts/37.chunk.js.map +0 -1
  364. package/dist/scripts/38-3e08037fa3.chunk.js +0 -1
  365. package/dist/scripts/38.chunk.js +0 -438
  366. package/dist/scripts/38.chunk.js.map +0 -1
  367. package/dist/scripts/39-bfb5d54572.chunk.js +0 -1
  368. package/dist/scripts/39.chunk.js +0 -408
  369. package/dist/scripts/39.chunk.js.map +0 -1
  370. package/dist/scripts/4-eef3251d84.chunk.js +0 -1
  371. package/dist/scripts/4.chunk.js +0 -403
  372. package/dist/scripts/4.chunk.js.map +0 -1
  373. package/dist/scripts/40-e0eafc5aec.chunk.js +0 -1
  374. package/dist/scripts/40.chunk.js +0 -533
  375. package/dist/scripts/40.chunk.js.map +0 -1
  376. package/dist/scripts/41.chunk.js +0 -814
  377. package/dist/scripts/41.chunk.js.map +0 -1
  378. package/dist/scripts/42-6b91ae0603.chunk.js +0 -1
  379. package/dist/scripts/42.chunk.js +0 -529
  380. package/dist/scripts/42.chunk.js.map +0 -1
  381. package/dist/scripts/43.chunk.js +0 -609
  382. package/dist/scripts/43.chunk.js.map +0 -1
  383. package/dist/scripts/44-f0664cf45b.chunk.js +0 -1
  384. package/dist/scripts/44.chunk.js +0 -563
  385. package/dist/scripts/44.chunk.js.map +0 -1
  386. package/dist/scripts/45-3173437bfb.chunk.js +0 -1
  387. package/dist/scripts/45.chunk.js +0 -674
  388. package/dist/scripts/45.chunk.js.map +0 -1
  389. package/dist/scripts/46.chunk.js +0 -409
  390. package/dist/scripts/46.chunk.js.map +0 -1
  391. package/dist/scripts/47.chunk.js +0 -401
  392. package/dist/scripts/47.chunk.js.map +0 -1
  393. package/dist/scripts/48.chunk.js +0 -217
  394. package/dist/scripts/48.chunk.js.map +0 -1
  395. package/dist/scripts/49.chunk.js +0 -282
  396. package/dist/scripts/49.chunk.js.map +0 -1
  397. package/dist/scripts/5-9cb873330d.chunk.js +0 -1
  398. package/dist/scripts/5.chunk.js +0 -309
  399. package/dist/scripts/5.chunk.js.map +0 -1
  400. package/dist/scripts/50.chunk.js +0 -450
  401. package/dist/scripts/50.chunk.js.map +0 -1
  402. package/dist/scripts/51.chunk.js +0 -338
  403. package/dist/scripts/51.chunk.js.map +0 -1
  404. package/dist/scripts/52.chunk.js +0 -447
  405. package/dist/scripts/52.chunk.js.map +0 -1
  406. package/dist/scripts/53.chunk.js +0 -440
  407. package/dist/scripts/53.chunk.js.map +0 -1
  408. package/dist/scripts/54.chunk.js +0 -1533
  409. package/dist/scripts/54.chunk.js.map +0 -1
  410. package/dist/scripts/55.chunk.js +0 -574
  411. package/dist/scripts/55.chunk.js.map +0 -1
  412. package/dist/scripts/56.chunk.js +0 -245
  413. package/dist/scripts/56.chunk.js.map +0 -1
  414. package/dist/scripts/57.chunk.js +0 -230
  415. package/dist/scripts/57.chunk.js.map +0 -1
  416. package/dist/scripts/58.chunk.js +0 -480
  417. package/dist/scripts/58.chunk.js.map +0 -1
  418. package/dist/scripts/59.chunk.js +0 -408
  419. package/dist/scripts/59.chunk.js.map +0 -1
  420. package/dist/scripts/6.chunk.js +0 -1172
  421. package/dist/scripts/6.chunk.js.map +0 -1
  422. package/dist/scripts/60.chunk.js +0 -241
  423. package/dist/scripts/60.chunk.js.map +0 -1
  424. package/dist/scripts/61.chunk.js +0 -249
  425. package/dist/scripts/61.chunk.js.map +0 -1
  426. package/dist/scripts/62.chunk.js +0 -132
  427. package/dist/scripts/62.chunk.js.map +0 -1
  428. package/dist/scripts/63.chunk.js +0 -318
  429. package/dist/scripts/63.chunk.js.map +0 -1
  430. package/dist/scripts/64.chunk.js +0 -212
  431. package/dist/scripts/64.chunk.js.map +0 -1
  432. package/dist/scripts/65.chunk.js +0 -195
  433. package/dist/scripts/65.chunk.js.map +0 -1
  434. package/dist/scripts/66.chunk.js +0 -230
  435. package/dist/scripts/66.chunk.js.map +0 -1
  436. package/dist/scripts/67.chunk.js +0 -108
  437. package/dist/scripts/67.chunk.js.map +0 -1
  438. package/dist/scripts/68.chunk.js +0 -209
  439. package/dist/scripts/68.chunk.js.map +0 -1
  440. package/dist/scripts/69.chunk.js +0 -211
  441. package/dist/scripts/69.chunk.js.map +0 -1
  442. package/dist/scripts/7-3adb578de5.chunk.js +0 -1
  443. package/dist/scripts/7.chunk.js +0 -613
  444. package/dist/scripts/7.chunk.js.map +0 -1
  445. package/dist/scripts/70.chunk.js +0 -115
  446. package/dist/scripts/70.chunk.js.map +0 -1
  447. package/dist/scripts/71.chunk.js +0 -449
  448. package/dist/scripts/71.chunk.js.map +0 -1
  449. package/dist/scripts/72.chunk.js +0 -161
  450. package/dist/scripts/72.chunk.js.map +0 -1
  451. package/dist/scripts/73-3d149ecedc.chunk.js +0 -1
  452. package/dist/scripts/73.chunk.js +0 -87
  453. package/dist/scripts/73.chunk.js.map +0 -1
  454. package/dist/scripts/74.chunk.js +0 -142
  455. package/dist/scripts/74.chunk.js.map +0 -1
  456. package/dist/scripts/75.chunk.js +0 -149
  457. package/dist/scripts/75.chunk.js.map +0 -1
  458. package/dist/scripts/76.chunk.js +0 -142
  459. package/dist/scripts/76.chunk.js.map +0 -1
  460. package/dist/scripts/77.chunk.js +0 -180
  461. package/dist/scripts/77.chunk.js.map +0 -1
  462. package/dist/scripts/78.chunk.js +0 -170
  463. package/dist/scripts/78.chunk.js.map +0 -1
  464. package/dist/scripts/79.chunk.js +0 -172
  465. package/dist/scripts/79.chunk.js.map +0 -1
  466. package/dist/scripts/8.chunk.js +0 -436
  467. package/dist/scripts/8.chunk.js.map +0 -1
  468. package/dist/scripts/80-f4b5d951b3.chunk.js +0 -1
  469. package/dist/scripts/80.chunk.js +0 -173
  470. package/dist/scripts/80.chunk.js.map +0 -1
  471. package/dist/scripts/81-8c42a24988.chunk.js +0 -1
  472. package/dist/scripts/81.chunk.js +0 -172
  473. package/dist/scripts/81.chunk.js.map +0 -1
  474. package/dist/scripts/82.chunk.js +0 -311
  475. package/dist/scripts/82.chunk.js.map +0 -1
  476. package/dist/scripts/83.chunk.js +0 -318
  477. package/dist/scripts/83.chunk.js.map +0 -1
  478. package/dist/scripts/84.chunk.js +0 -64
  479. package/dist/scripts/84.chunk.js.map +0 -1
  480. package/dist/scripts/85.chunk.js +0 -65
  481. package/dist/scripts/85.chunk.js.map +0 -1
  482. package/dist/scripts/86.chunk.js +0 -37
  483. package/dist/scripts/86.chunk.js.map +0 -1
  484. package/dist/scripts/87.chunk.js +0 -82
  485. package/dist/scripts/87.chunk.js.map +0 -1
  486. package/dist/scripts/88.chunk.js +0 -1001
  487. package/dist/scripts/88.chunk.js.map +0 -1
  488. package/dist/scripts/89.chunk.js +0 -24
  489. package/dist/scripts/89.chunk.js.map +0 -1
  490. package/dist/scripts/9.chunk.js +0 -445
  491. package/dist/scripts/9.chunk.js.map +0 -1
  492. package/dist/scripts/90.chunk.js +0 -36
  493. package/dist/scripts/90.chunk.js.map +0 -1
  494. package/dist/scripts/91.chunk.js +0 -36
  495. package/dist/scripts/91.chunk.js.map +0 -1
  496. package/dist/scripts/92.chunk.js +0 -69
  497. package/dist/scripts/92.chunk.js.map +0 -1
  498. package/dist/scripts/93.chunk.js +0 -441
  499. package/dist/scripts/93.chunk.js.map +0 -1
  500. package/dist/scripts/94.chunk.js +0 -740
  501. package/dist/scripts/94.chunk.js.map +0 -1
  502. package/dist/scripts/95.chunk.js +0 -221
  503. package/dist/scripts/95.chunk.js.map +0 -1
  504. package/dist/scripts/96.chunk.js +0 -230
  505. package/dist/scripts/96.chunk.js.map +0 -1
  506. package/dist/scripts/97.chunk.js +0 -241
  507. package/dist/scripts/97.chunk.js.map +0 -1
  508. package/dist/scripts/98.chunk.js +0 -249
  509. package/dist/scripts/98.chunk.js.map +0 -1
  510. package/dist/scripts/99.chunk.js +0 -212
  511. package/dist/scripts/99.chunk.js.map +0 -1
  512. package/dist/scripts/bundle-f4a1d3ab76.min.js +0 -31
  513. package/dist/scripts/bundle.js +0 -119288
  514. package/dist/scripts/bundle.js.map +0 -1
  515. package/dist/scripts/pdf.worker.entry.worker.js +0 -46239
  516. package/dist/scripts/pdf.worker.entry.worker.js.map +0 -1
  517. package/dist/scripts/polyfills-7ae776aac5.min.js +0 -1
  518. package/dist/scripts/polyfills.js +0 -15254
  519. package/dist/scripts/polyfills.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/Actions.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/ActionsDropdown.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/actions/actions.scss?9153","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/BreadcrumbList.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/classroom-group-pill/ClassroomGroupPill.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/colour-picker/ColourPicker.tsx","webpack://@clickview/lite/./src/apps/classrooms/components/colour-picker/colour-picker.scss?a69e","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups.tsx","webpack://@clickview/lite/./src/apps/classrooms/components/manage-classroom-groups/partial-loading/partial-manage-classrooms-groups.scss?bcad","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-student-item/ManageClassroomStudentItem.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-students/ManageClassroomStudents.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-students/empty-state/ManageClassroomStudentsEmptyState.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/components/manage-classroom-students/partial-loading/PartialManageClassroomStudents.tsx","webpack://@clickview/lite/./src/apps/classrooms/components/manage-classroom-students/partial-loading/partial-manage-classroom-students.scss?843a","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/utils/GroupHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/views/manage-classroom/ManageClassroomView.tsx","webpack://@clickview/lite/./src/apps/classrooms/views/manage-classroom/manage-classroom.scss?b024","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/empty-state-image/EmptyStateImage.tsx","webpack://@clickview/lite/./src/shared/components/empty-state-image/empty-state-image.scss?61ae","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/pill-tab-selector/PillTabSelector.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector.tsx","webpack://@clickview/lite/./src/shared/components/pill-tab-selector/partial-loading/partial-pill-tab-selector.scss?c30c","webpack://@clickview/lite/./src/shared/components/pill-tab-selector/pill-tab-selector.scss?129f","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/hooks/useBulkCheckboxManager.tsx"],"names":[],"mappings":"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","file":"scripts/25.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { HashObject } from 'libs/common/react/interfaces';\r\n\r\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\r\n\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\n\r\nimport { ActionsDropdown } from './ActionsDropdown';\r\nimport { ActionButton } from './ActionButton';\r\n\r\nimport styles from './actions.scss';\r\n\r\nexport interface ActionOptions {\r\n label: string;\r\n appLink?: Core.AppLink;\r\n onClick?: (e: React.MouseEvent) => void;\r\n svgName?: string;\r\n className?: string;\r\n button?: boolean; // If true, a button will be rendered. Otherwise the action will be rendered in the dropdown.\r\n tooltip?: string;\r\n showSpinner?: boolean;\r\n analyticsData?: HashObject;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\nexport type ActionGenerator = (obj: BaseObject) => ActionOptions[];\r\n\r\ninterface ActionsProps {\r\n actions: ActionOptions[];\r\n className?: string;\r\n actionsDropdownClassName?: string;\r\n sortComponent?: JSX.Element;\r\n}\r\n\r\nexport function Actions(props: ActionsProps): JSX.Element {\r\n const buttonActions: ActionOptions[] = [];\r\n const moreActions: ActionOptions[] = [];\r\n\r\n props.actions.forEach(a => {\r\n if (a.button)\r\n buttonActions.push(a);\r\n else\r\n moreActions.push(a);\r\n });\r\n\r\n let className = 'd-flex';\r\n\r\n if (props.className)\r\n className += ` ${props.className}`;\r\n\r\n return (\r\n <div className={className}>\r\n <>\r\n {!!buttonActions.length &&\r\n <span className={styles.buttonList}>\r\n {buttonActions.map((a, idx) => (\r\n <React.Fragment key={idx}>\r\n {a.label ? (\r\n <ActionButton\r\n appLink={a.appLink}\r\n onClick={a.onClick}\r\n svgName={a.svgName}\r\n className={a.className}\r\n tooltip={a.tooltip}\r\n showSpinner={a.showSpinner}\r\n analyticsData={a.analyticsData}\r\n analyticsOptions={a.analyticsOptions}\r\n >\r\n {a.label}\r\n </ActionButton>\r\n ) : (\r\n <IconButton\r\n appLink={a.appLink}\r\n onClick={a.onClick}\r\n svgName={a.svgName}\r\n className={a.className}\r\n analyticsData={a.analyticsData}\r\n analyticsOptions={a.analyticsOptions}\r\n />\r\n )}\r\n </React.Fragment>\r\n ))}\r\n </span>\r\n }\r\n {props.sortComponent ? props.sortComponent : '' }\r\n {!!moreActions.length &&\r\n <ActionsDropdown\r\n actions={moreActions}\r\n className={!!buttonActions.length && 'ml-2'}\r\n dropdownToggleClassName={props.actionsDropdownClassName}\r\n />\r\n }\r\n </>\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport styles from './actions.scss';\r\n\r\nimport { ActionOptions } from './Actions';\r\n\r\nfunction getDropdownItemClassName(actionClassName?: string): string {\r\n let className = 'dropdown-item';\r\n\r\n if (actionClassName)\r\n className += ` ${actionClassName}`;\r\n\r\n return className;\r\n}\r\n\r\ntype DropdownActionOptions = Omit<ActionOptions, 'button' | 'tooltip'>;\r\n\r\ninterface ActionsDropdownItemProps {\r\n action: DropdownActionOptions;\r\n}\r\n\r\nfunction ActionsDropdownItem(props: ActionsDropdownItemProps): React.ReactElement {\r\n if (props.action.appLink)\r\n return (\r\n <AppLink\r\n appLink={props.action.appLink}\r\n onClick={props.action.onClick}\r\n className={getDropdownItemClassName(props.action.className)}\r\n analyticsData={props.action.analyticsData}\r\n analyticsOptions={props.action.analyticsOptions}\r\n >\r\n {props.action.label}\r\n </AppLink>\r\n );\r\n\r\n function onClick(e: React.MouseEvent): void {\r\n if (props.action.analyticsData && props.action.analyticsOptions)\r\n AnalyticsHelper.logUserAction(props.action.analyticsData, props.action.analyticsOptions);\r\n\r\n if (FunctionHelper.isFunction(props.action.onClick))\r\n props.action.onClick(e);\r\n }\r\n\r\n return (\r\n <span\r\n className={`cursor-pointer ${getDropdownItemClassName(props.action.className)}`}\r\n onClick={onClick}\r\n >\r\n {props.action.label}\r\n </span>\r\n );\r\n}\r\n\r\ninterface ActionsDropdownProps {\r\n actions: DropdownActionOptions[];\r\n className?: string;\r\n dropdownToggleClassName?: string;\r\n}\r\n\r\nActionsDropdown.defaultProps = {\r\n dropdownToggleClassName: 'btn btn-light'\r\n};\r\n\r\nexport function ActionsDropdown(props: ActionsDropdownProps): React.ReactElement {\r\n if (!props.actions || !props.actions.length)\r\n return <></>;\r\n\r\n let className = 'dropdown';\r\n\r\n if (props.className)\r\n className += ` ${props.className}`;\r\n\r\n // Generate unique id to avoid collisions.\r\n const dropdownToggleId = `actions-dropdown-${RandomHelper.getRandomInt()}`;\r\n\r\n let dropdownToggleClassName = `dropdown-toggle px-0 ${styles.dropdownToggle}`;\r\n\r\n if (props.dropdownToggleClassName)\r\n dropdownToggleClassName += ` ${props.dropdownToggleClassName}`;\r\n\r\n return (\r\n <div className={className}>\r\n <button className={dropdownToggleClassName} type='button' id={dropdownToggleId} data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>\r\n <SvgContainer svgName={cvSvgLibrary.More} size={SvgContainerSize.Small} />\r\n </button>\r\n <div className='dropdown-menu dropdown-menu-right' aria-labelledby={dropdownToggleId}>\r\n {props.actions.map((a, idx) =>\r\n <ActionsDropdownItem key={idx} action={a} />\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonList\":\"cv--buttonList--2v9CT\",\"dropdownToggle\":\"cv--dropdownToggle--AYBvQ\"};","import * as React from 'react';\r\nimport { Core } from 'libs/common/core';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\n\r\nexport interface Breadcrumb {\r\n label: string;\r\n appLink: Core.AppLink;\r\n active?: boolean;\r\n}\r\n\r\ninterface BreadcrumbItemProps {\r\n breadcrumb: Breadcrumb;\r\n}\r\n\r\nexport const BreadcrumbItem = ({ breadcrumb: { label, appLink, active } }: BreadcrumbItemProps) => (\r\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\r\n {active\r\n ? <strong>{label}</strong>\r\n : <AppLink appLink={appLink}>{label}</AppLink>\r\n }\r\n </li>\r\n);\r\n\r\ninterface BreadcrumbListProps {\r\n breadcrumbs: Breadcrumb[];\r\n}\r\n\r\nexport const BreadcrumbList = ({ breadcrumbs }: BreadcrumbListProps) => (\r\n <ol className='breadcrumb m-0 p-0'>\r\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\r\n </ol>\r\n);","import * as React from 'react';\r\nimport { useState } from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\n\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\r\n\r\nimport { Breadcrumb, BreadcrumbList } from './BreadcrumbList';\r\n\r\nexport enum BreadcrumbType {\r\n Static,\r\n Dynamic\r\n}\r\n\r\nfunction buildBreadcrumb<T extends BaseObject>(\r\n item: T, getItemAppLink: (item: T) => Core.AppLink, active?: boolean\r\n): Breadcrumb {\r\n return ({\r\n label: item.name,\r\n appLink: getItemAppLink(item),\r\n active\r\n });\r\n}\r\n\r\nfunction useGetBreadcrumbs<T extends BaseObject>(props: BreadcrumbsProps<T>, isDynamic: boolean): Breadcrumb[] {\r\n let { currentItem } = props;\r\n const { getItemAppLink, getParent, rootItem, data, subview } = props;\r\n\r\n const [ breadcrumbs, setBreadcrumbs ] = useState<Breadcrumb[]>([]);\r\n\r\n const key = data?.map(o => o?.name).join('-');\r\n\r\n // Uss static/pre-defined array of data to build the breadcrumb structure\r\n React.useEffect(() => {\r\n if (isDynamic || ObjectHelper.isEmpty(data))\r\n return;\r\n\r\n const _breadcrumbs = data.map((d, index: number) => buildBreadcrumb(d, getItemAppLink, index + 1 === data.length));\r\n\r\n if (rootItem)\r\n _breadcrumbs.unshift(rootItem);\r\n\r\n setBreadcrumbs(_breadcrumbs);\r\n\r\n }, [key]);\r\n\r\n\r\n // Dynamically build the breadcrumb structure\r\n React.useEffect(() => {\r\n if (!isDynamic || !FunctionHelper.isFunction(getParent))\r\n return;\r\n\r\n const _breadcrumbs = [buildBreadcrumb<T>(currentItem, getItemAppLink, true)];\r\n\r\n currentItem = getParent(currentItem);\r\n\r\n while (currentItem) {\r\n _breadcrumbs.unshift(buildBreadcrumb<T>(currentItem, getItemAppLink));\r\n currentItem = getParent(currentItem);\r\n }\r\n\r\n if (rootItem)\r\n _breadcrumbs.unshift(rootItem);\r\n\r\n return setBreadcrumbs(_breadcrumbs);\r\n\r\n }, [ currentItem, getParent, getItemAppLink, rootItem ]);\r\n\r\n const { current: subviewBreadcrumb } = React.useRef<Breadcrumb>({\r\n label: subview,\r\n appLink: null,\r\n active: true\r\n });\r\n\r\n // Replace \"active\" item with the subview\r\n if (subview) {\r\n if (!breadcrumbs.includes(subviewBreadcrumb))\r\n setBreadcrumbs([ ...breadcrumbs, subviewBreadcrumb ]);\r\n\r\n const selectedBreadcrumb = breadcrumbs.filter((crumb => crumb.active && crumb !== subviewBreadcrumb));\r\n if (selectedBreadcrumb.length)\r\n ArrayHelper.first(selectedBreadcrumb).active = false;\r\n }\r\n\r\n return breadcrumbs;\r\n}\r\n\r\ninterface BreadcrumbsProps<T> {\r\n type: BreadcrumbType;\r\n currentItem: T;\r\n getItemAppLink: (item: T) => Core.AppLink;\r\n getParent?: (item: T) => T;\r\n rootItem?: Breadcrumb;\r\n data?: T[];\r\n subview?: string; // E.g. \"Series\", \"Playlists\"\r\n}\r\n\r\nexport function Breadcrumbs<T extends BaseObject>(props: BreadcrumbsProps<T>): React.ReactElement {\r\n const { type } = props;\r\n\r\n const isDynamic = type === BreadcrumbType.Dynamic;\r\n const breadcrumbs = useGetBreadcrumbs(props, isDynamic);\r\n\r\n return (\r\n <nav aria-label='breadcrumb'>\r\n <BreadcrumbList breadcrumbs={breadcrumbs} />\r\n </nav>\r\n );\r\n}\r\n\r\nexport const PartialBreadcrumbs = ({ numItems = 3 }: { numItems?: number; }) => (\r\n <nav aria-label='breadcrumb'>\r\n <ol className='breadcrumb m-0 p-0'>\r\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) =>\r\n <li key={idx} className='breadcrumb-item'>\r\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\r\n </li>\r\n )}\r\n </ol>\r\n </nav>\r\n);","import * as React from 'react';\r\n\r\ninterface CheckboxProps {\r\n id: string;\r\n checked: boolean;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n label?: string;\r\n name?: string;\r\n className?: string;\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n checked: false,\r\n label: '',\r\n className: ''\r\n};\r\n\r\n/**\r\n * Use this checkbox outside of Formik contexts\r\n */\r\nexport function Checkbox(props: CheckboxProps): JSX.Element {\r\n return (\r\n <div className={`custom-control custom-checkbox ${props.className}`}>\r\n <input\r\n type='checkbox'\r\n className='custom-control-input'\r\n id={props.id}\r\n name={props.name}\r\n checked={props.checked}\r\n onChange={props.onChange}\r\n />\r\n <label className='custom-control-label cursor-pointer' htmlFor={props.id}>{props.label}</label>\r\n </div>\r\n );\r\n}","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","const DEFAULT_NUM_ITEMS = 5;\r\nconst DEFAULT_MIN_WIDTH = 50; // px\r\nconst DEFAULT_MAX_WIDTH = 100; // px\r\n\r\ninterface PartialLoadingOptions {\r\n numItems?: number;\r\n minWidth?: number;\r\n maxWidth?: number;\r\n}\r\n\r\ninterface PartialLoadingItem {\r\n width: string;\r\n}\r\n\r\nexport const PartialLoadingHelper = {\r\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\r\n const {\r\n numItems = DEFAULT_NUM_ITEMS,\r\n minWidth = DEFAULT_MIN_WIDTH,\r\n maxWidth = DEFAULT_MAX_WIDTH\r\n } = options;\r\n\r\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * maxWidth), minWidth);\r\n\r\n return [...Array(numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\r\n }\r\n};","import React from 'react';\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { UserAction, WorkflowPhase, EntityType } from 'libs/analytics/interfaces';\r\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { ClassroomGroup } from 'libs/shared/interfaces';\r\nimport { useBulkCheckboxManager } from 'shared/hooks/useBulkCheckboxManager';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\n\r\nimport { ClassroomGroupPill } from 'apps/classrooms/components/classroom-group-pill/ClassroomGroupPill';\r\nimport { Classroom } from 'libs/shared/interfaces';\r\n\r\nconst namespace = 'classrooms.classroomGroupDropdown';\r\n\r\nconst getNewGroupAppLink = (id: string, studentIds: string[]) => ({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.NEW_GROUP,\r\n args: [id],\r\n params: {\r\n addStudents: studentIds\r\n }\r\n});\r\n\r\ntype ClassroomGroupDropdownProps = PropsWithAnalyticsOptions<{\r\n id: string;\r\n classroom: Classroom;\r\n studentIds: string[];\r\n groups: ClassroomGroup[];\r\n onToggle: (group: ClassroomGroup, toggleOn: boolean) => void;\r\n preselections?: ClassroomGroup[];\r\n\r\n alignRight?: boolean;\r\n disabled?: boolean;\r\n}>;\r\n\r\nClassroomGroupDropdown.defaultProps = {\r\n preselections: [],\r\n};\r\n\r\nexport function ClassroomGroupDropdown(props: ClassroomGroupDropdownProps): JSX.Element {\r\n const { onToggleItem, isChecked } = useBulkCheckboxManager(props.groups, {\r\n preselectedIds: props.preselections.map(s => s.id)\r\n });\r\n\r\n function onChange(group: ClassroomGroup): void {\r\n props.onToggle(group, !isChecked(group.id));\r\n onToggleItem(group.id);\r\n }\r\n\r\n function onClickCreateNewGroup(): void {\r\n AnalyticsHelper.logUserAction({}, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Create,\r\n workflowPhase: WorkflowPhase.Start,\r\n entity: EntityType.ClassroomGroup\r\n }));\r\n }\r\n\r\n const buttonClasses = 'mr-2 d-inline-block svg-container sm';\r\n\r\n const dropdownProps: HashObject = {\r\n alignRight: !!props.alignRight\r\n };\r\n\r\n /**\r\n * This prop is applied like this so that when `props.disabled` it false, the prop is omitted altogether.\r\n * This is because we want `react-bootstrap` to control the open state, and if we used the `show` prop\r\n * at all times we'd be preventing that.\r\n */\r\n if (props.disabled)\r\n dropdownProps.show = false;\r\n\r\n return (\r\n <Dropdown {...dropdownProps}>\r\n <Dropdown.Toggle\r\n as='div'\r\n id={props.id}\r\n className={`${props.disabled ? 'text-light' : 'cursor-pointer'} ${buttonClasses} no-caret`}\r\n >\r\n <SvgContainer svgName={cvSvgLibrary.Tag} />\r\n </Dropdown.Toggle>\r\n <Dropdown.Menu>\r\n {!!props.groups?.length && (\r\n <div className='px-2 border-bottom pb-1 mb-1'>\r\n <p className='mb-0'><Text namespace={namespace} phrase='groupAs' /></p>\r\n <ul className='list-unstyled pr-3'>\r\n {props.groups.map(group => (\r\n <li key={group.id} className='d-flex align-items-center bg-white my-1'>\r\n <Checkbox\r\n id={`${props.id}:${group.id}`}\r\n checked={isChecked(group.id)}\r\n onChange={() => onChange(group)}\r\n />\r\n <ClassroomGroupPill group={group} />\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n )}\r\n <AppLink\r\n onClick={onClickCreateNewGroup}\r\n appLink={getNewGroupAppLink(props.classroom.id, props.studentIds)}\r\n className='text-nowrap d-flex align-items-center px-2'\r\n >\r\n <SvgContainer svgName={cvSvgLibrary.Plus} />\r\n <Text namespace={namespace} phrase='createNew' />\r\n </AppLink>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { ClassroomGroup } from 'libs/shared/interfaces';\r\n\r\nimport { ClassroomGroupColour } from 'libs/shared/interfaces';\r\nimport { mapColourToClassName } from 'apps/classrooms/utils/GroupHelper';\r\n\r\ninterface ClassroomGroupProps {\r\n group: ClassroomGroup;\r\n}\r\n\r\nexport function ClassroomGroupPill(props: ClassroomGroupProps): JSX.Element {\r\n if (!props.group)\r\n return <></>;\r\n\r\n let classes = 'font-weight-normal text-nowrap rounded-pill py-1 px-2';\r\n if (props.group.metadata?.colour && props.group.metadata.colour !== ClassroomGroupColour.White)\r\n classes += ' text-white';\r\n else\r\n classes += ' border border-dark';\r\n\r\n classes += ` ${mapColourToClassName(props.group.metadata?.colour)}`;\r\n\r\n return (\r\n <div className={classes}>\r\n {props.group.name}\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { ClassroomGroupColour } from 'libs/shared/interfaces';\r\n\r\nimport { mapColourToClassName } from 'apps/classrooms/utils/GroupHelper';\r\n\r\nimport styles from './colour-picker.scss';\r\n\r\ninterface ColourPickerProps {\r\n id: string;\r\n onSelect?: (colour: string) => void;\r\n selection?: ClassroomGroupColour;\r\n disabled?: boolean;\r\n}\r\n\r\nColourPicker.defaultProps = {\r\n selection: ClassroomGroupColour.White,\r\n onSelect: () => {}\r\n};\r\n\r\nexport function ColourPicker(props: ColourPickerProps): JSX.Element {\r\n function getToggleButtonClass(): string {\r\n const baseClass = `${styles.dropdownToggle} outline-none p-0 d-flex align-items-center text-decoration-none`;\r\n const disabledClass = props.disabled ? 'cursor-default' : '';\r\n\r\n return `${baseClass} ${disabledClass}`;\r\n }\r\n\r\n function getOptionClass(colour: ClassroomGroupColour): string {\r\n const baseClass = `${styles.colourOption} position-relative`;\r\n const borderClass = colour === 'colour:0' ? 'border border-dark' : '';\r\n const disabledClass = props.disabled ? 'cursor-default' : '';\r\n const colorClass = mapColourToClassName(colour);\r\n\r\n return `${baseClass} ${borderClass} ${disabledClass} ${colorClass}`;\r\n }\r\n\r\n const dropdownProps: HashObject = {};\r\n if (props.disabled)\r\n dropdownProps.show = false;\r\n\r\n return (\r\n <Dropdown {...dropdownProps}>\r\n <Dropdown.Toggle id={props.id} variant='link' className={getToggleButtonClass()}>\r\n <div className={`border border-secondary rounded bg-white ${styles.colourButton}`}>\r\n <div className={`px-0 py-1 rounded ${mapColourToClassName(props.selection)}`}>\r\n &nbsp;\r\n </div>\r\n </div>\r\n\r\n {!props.disabled &&\r\n <SvgContainer svgName={cvSvgLibrary.Caret} />\r\n }\r\n </Dropdown.Toggle>\r\n\r\n <Dropdown.Menu>\r\n <ul className={`${styles.colourList} list-unstyled d-flex flex-wrap px-2 m-0`}>\r\n {Object.keys(ClassroomGroupColour).map(colourKey => {\r\n const colour = (ClassroomGroupColour as any)[colourKey];\r\n\r\n return (\r\n <li key={`${props.id}:${colour}`} className='m-1'>\r\n <DivButton\r\n onClick={() => props.onSelect(colour)}\r\n className={getOptionClass(colour)}\r\n >\r\n {colour === ClassroomGroupColour.White\r\n ? <div className={styles.lineThrough} />\r\n : <>&nbsp;</>\r\n }\r\n </DivButton>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdownToggle\":\"cv--dropdownToggle--347DY\",\"colourButton\":\"cv--colourButton--1rKvE\",\"colourList\":\"cv--colourList--328-w\",\"colourOption\":\"cv--colourOption--1Tw7u\",\"lineThrough\":\"cv--lineThrough--18oZq\"};","import React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ClassroomGroup } from 'libs/shared/interfaces';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\n\r\nimport { ColourPicker } from 'apps/classrooms/components/colour-picker/ColourPicker';\r\nimport { Classroom } from 'libs/shared/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { EntityType, WorkflowPhase, UserAction, LocationContext } from 'libs/analytics/interfaces';\r\n\r\ninterface ManageClassroomGroupItemProps {\r\n classroom: Classroom;\r\n group: ClassroomGroup;\r\n}\r\n\r\nexport function ManageClassroomGroupItem(props: ManageClassroomGroupItemProps): JSX.Element {\r\n function onClickEdit(): void {\r\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\r\n entity: EntityType.ClassroomGroup,\r\n workflowPhase: WorkflowPhase.Start,\r\n actionType: UserAction.Edit,\r\n location: LocationContext.ManageClassroomGroupListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.EDIT_GROUP,\r\n args: [ props.classroom.id, props.group.id ]\r\n });\r\n }\r\n\r\n function onClickDelete(): void {\r\n AnalyticsHelper.logUserAction({ id: props.group.id }, {\r\n entity: EntityType.ClassroomGroup,\r\n workflowPhase: WorkflowPhase.Start,\r\n actionType: UserAction.Delete,\r\n location: LocationContext.ManageClassroomGroupListItem\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.DELETE_GROUP,\r\n args: [ props.classroom.id, props.group.id ]\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex align-items-center'>\r\n <p className='w-33 m-0'>{props.group.name}</p>\r\n\r\n <div className='d-inline-block mr-4'>\r\n <ColourPicker\r\n selection={props.group.metadata?.colour}\r\n id={`${props.group.id}-classroom-group-list-item`}\r\n disabled\r\n />\r\n </div>\r\n\r\n <DivButton className='mr-2' onClick={onClickEdit}>\r\n <SvgContainer svgName={cvSvgLibrary.Edit} />\r\n </DivButton>\r\n\r\n <DivButton onClick={onClickDelete}>\r\n <SvgContainer svgName={cvSvgLibrary.Delete} />\r\n </DivButton>\r\n </div>\r\n </>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\n\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\n\r\nimport { Classroom, ClassroomGroup } from 'libs/shared/interfaces';\r\nimport { ManageClassroomGroupItem } from 'apps/classrooms/components/manage-classroom-group-item/ManageClassroomGroupItem';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { WorkflowPhase, EntityType, UserAction, LocationContext } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'classrooms.manageClassroomGroups';\r\n\r\nconst getCreateGroupAppLink = (id: string) => ({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.NEW_GROUP,\r\n args: [id]\r\n});\r\n\r\ninterface ManageClassroomGroupsProps {\r\n classroom: Classroom;\r\n groups: ClassroomGroup[];\r\n}\r\n\r\nexport function ManageClassroomGroups(props: ManageClassroomGroupsProps): JSX.Element {\r\n function onClickCreateGroup(): void {\r\n AnalyticsHelper.logUserAction({ classroomId: props.classroom.id }, {\r\n workflowPhase: WorkflowPhase.Start,\r\n entity: EntityType.ClassroomGroup,\r\n actionType: UserAction.Create,\r\n location: LocationContext.ManageClassroomGroups\r\n });\r\n }\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className='py-2'>\r\n <div className='d-flex align-items-center'>\r\n <h2 className='h6 w-33'><Text phrase='groupName' /></h2>\r\n <h2 className='h6 w-25'><Text phrase='colour' /></h2>\r\n <IconButton\r\n appLink={getCreateGroupAppLink(props.classroom.id)}\r\n onClick={onClickCreateGroup}\r\n className='btn btn-secondary ml-auto'\r\n svgName={cvSvgLibrary.Plus}\r\n >\r\n <Text phrase='createNew' />\r\n </IconButton>\r\n </div>\r\n\r\n <ul className='list-unstyled'>\r\n {!!props.groups?.length && props.groups.map(group => (\r\n <li key={group.id} className='mb-2'>\r\n <ManageClassroomGroupItem classroom={props.classroom} group={group} />\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import React from 'react';\r\nimport { PartialPillTabSelector } from 'shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector';\r\nimport styles from './partial-manage-classrooms-groups.scss';\r\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\r\n\r\nexport function PartialManageClassroomGroups(): JSX.Element {\r\n return (\r\n <div className='px-3'>\r\n {/* Heading */}\r\n <div className={`mb-1 partial-loading-background ${styles.heading}`} />\r\n\r\n {/* Breadcrumbs */}\r\n <div className='pb-3'>\r\n <PartialBreadcrumbs numItems={2} />\r\n </div>\r\n\r\n {/* Pill tab selector */}\r\n <div className='pb-2'>\r\n <PartialPillTabSelector />\r\n </div>\r\n\r\n <div className='py-2'>\r\n <div className='d-flex align-items-center'>\r\n {/* Name heading */}\r\n <div className='w-25 mb-2'>\r\n <div className={`partial-loading-background ${styles.nameHeading}`} />\r\n </div>\r\n {/* Colour heading */}\r\n <div className='w-25 mb-2'>\r\n <div className={`partial-loading-background ${styles.colourHeading}`} />\r\n </div>\r\n\r\n {/* New group button */}\r\n <div className={`partial-loading-background ml-auto ${styles.newGroup}`} />\r\n </div>\r\n\r\n {/* List of partial group items */}\r\n <ul className='list-unstyled'>\r\n {Array(8).fill(null).map((group, i) => (\r\n <li key={i} className='mb-2'>\r\n <div className='d-flex align-items-center'>\r\n {/* Group name */}\r\n <div className='w-25'>\r\n <div className={`partial-loading-background ${styles.group}`} />\r\n </div>\r\n\r\n {/* Colour picker */}\r\n <div className='d-inline-block mr-4'>\r\n <div className={`partial-loading-background ${styles.colourPicker}`} />\r\n </div>\r\n\r\n {/* Edit action */}\r\n <div className={`partial-loading-background mr-2 ${styles.actionIcon}`} />\r\n {/* Delete action */}\r\n <div className={`partial-loading-background ${styles.actionIcon}`} />\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"cv--heading--2TMwg\",\"nameHeading\":\"cv--nameHeading--1TlYf\",\"colourHeading\":\"cv--colourHeading--3_Tfc\",\"newGroup\":\"cv--newGroup--3oBoz\",\"group\":\"cv--group--3aWN8\",\"colourPicker\":\"cv--colourPicker--2NcjR\",\"actionIcon\":\"cv--actionIcon--3bhju\"};","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\n\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { Actions as MoreActions } from 'libs/shared/components/actions/Actions';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { ClassroomGroup } from 'libs/shared/interfaces';\r\n\r\nimport { Classroom } from 'libs/shared/interfaces';\r\nimport { ClassroomGroupDropdown } from 'apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown';\r\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\r\nimport { ClassroomGroupPill } from 'apps/classrooms/components/classroom-group-pill/ClassroomGroupPill';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, UserAction, AssocDescriptor, WorkflowPhase, EntityType } from 'libs/analytics/interfaces';\r\nimport { User } from 'libs/shared/interfaces';\r\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\r\n\r\nconst namespace = 'classrooms.manageClassroomStudentItem';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\nconst getEditStudentAppLink = (id: string) => ({\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.EDIT_USER,\r\n args: [id],\r\n params: { userType: UserGroup.Learner }\r\n});\r\n\r\nconst getRemoveStudentsAppLink = (studentId: string, classroomId: string) => ({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.REMOVE_STUDENTS,\r\n args: [classroomId],\r\n params: {\r\n studentIds: [studentId]\r\n }\r\n});\r\n\r\ninterface ManageClassroomStudentItemProps {\r\n classroom: Classroom;\r\n student: User;\r\n groups: ClassroomGroup[];\r\n onToggleCheckbox: () => void;\r\n checked: boolean;\r\n}\r\n\r\nexport function ManageClassroomStudentItem(props: ManageClassroomStudentItemProps): JSX.Element {\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n const selectedGroups = props.groups.filter(group => {\r\n if (!group.users?.data?.length)\r\n return;\r\n\r\n return !!group.users.data.find(u => u.id === props.student.id);\r\n });\r\n\r\n function onToggleGroup(student: User, group: ClassroomGroup, toggleOn: boolean): void {\r\n if (toggleOn) {\r\n Flight.fetch(\r\n dispatch,\r\n ClassroomRequests.addStudentsToGroup([student.id], group.id, props.classroom.id, () => {\r\n AnalyticsHelper.logUserAction({\r\n id: group.id,\r\n studentCount: 1\r\n }, {\r\n actionType: UserAction.Associate,\r\n entity: EntityType.ClassroomGroup,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Complete,\r\n location: LocationContext.ManageClassroomStudentListItem\r\n });\r\n\r\n alerts.success(getPhrase('addSuccess', { studentName: student.name, groupName: group.name }));\r\n }, () => {\r\n alerts.error(getPhrase('addError', { studentName: student.name, groupName: group.name }));\r\n })\r\n );\r\n\r\n return;\r\n }\r\n\r\n Flight.fetch(\r\n dispatch,\r\n ClassroomRequests.removeStudentsFromGroup([student.id], group.id, props.classroom.id, () => {\r\n AnalyticsHelper.logUserAction({\r\n id: group.id,\r\n studentCount: 1\r\n }, {\r\n actionType: UserAction.Dissociate,\r\n entity: EntityType.ClassroomGroup,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Complete,\r\n location: LocationContext.ManageClassroomStudentListItem\r\n });\r\n\r\n alerts.success(getPhrase('removeSuccess', { studentName: student.name, groupName: group.name }));\r\n }, () => {\r\n alerts.error(getPhrase('removeError', { studentName: student.name, groupName: group.name }));\r\n })\r\n );\r\n }\r\n\r\n return (\r\n <div className='d-flex align-items-center py-1 px-4'>\r\n <Checkbox\r\n id={props.student.id}\r\n checked={props.checked}\r\n onChange={props.onToggleCheckbox}\r\n className='mr-2'\r\n />\r\n\r\n <p className='mb-0 w-25 text-truncate text-nowrap'>{props.student.name} {props.student.surname}</p>\r\n <div className='mr-auto d-flex flex-wrap mt-n1'>\r\n {!!selectedGroups.length &&\r\n selectedGroups.map(group => (\r\n <div key={group.id} className='mr-1 mt-1'>\r\n <ClassroomGroupPill group={group} />\r\n </div>\r\n ))\r\n }\r\n </div>\r\n\r\n <ClassroomGroupDropdown\r\n id={`add-group-${props.student.id}`}\r\n classroom={props.classroom}\r\n groups={props.groups}\r\n studentIds={[props.student.id]}\r\n preselections={selectedGroups}\r\n onToggle={(group, toggleOn) => onToggleGroup(props.student, group, toggleOn)}\r\n analyticsOptions={{ location: LocationContext.ManageClassroomStudentListItem }}\r\n alignRight\r\n />\r\n <MoreActions\r\n actions={[{\r\n label: getPhrase('editStudent'),\r\n appLink: getEditStudentAppLink(props.student.id),\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: props.student.id }, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.ManageClassroomStudentListItem\r\n });\r\n }\r\n }, {\r\n label: getPhrase('removeStudent'),\r\n appLink: getRemoveStudentsAppLink(props.student.id, props.classroom.id),\r\n className: 'text-danger',\r\n onClick: () => {\r\n AnalyticsHelper.logUserAction({ id: props.classroom.id, userId: props.student.id }, {\r\n actionType: UserAction.Dissociate,\r\n entity: EntityType.Classroom,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n location: LocationContext.ManageClassroomStudentListItem\r\n });\r\n }\r\n }]}\r\n actionsDropdownClassName='btn'\r\n />\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { UserAction, EntityType, AssocDescriptor, WorkflowPhase, LocationContext } from 'libs/analytics/interfaces';\r\n\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { useBulkCheckboxManager } from 'shared/hooks/useBulkCheckboxManager';\r\nimport { ClassroomGroup, UserCollection } from 'libs/shared/interfaces';\r\n\r\nimport { Classroom } from 'libs/shared/interfaces';\r\nimport { ManageClassroomStudentItem } from 'apps/classrooms/components/manage-classroom-student-item/ManageClassroomStudentItem';\r\nimport { ClassroomGroupDropdown } from 'apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown';\r\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\r\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\n\r\nconst namespace = 'classrooms.manageClassroomStudents';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface ManageClassroomStudentsProps {\r\n classroom: Classroom;\r\n students: UserCollection;\r\n groups: ClassroomGroup[];\r\n}\r\n\r\nexport function ManageClassroomStudents(props: ManageClassroomStudentsProps): JSX.Element {\r\n const { classroom, students, groups } = props;\r\n\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n const { onToggleBulk, onToggleItem, getSelected, isChecked, bulkChecked } = useBulkCheckboxManager(students.data);\r\n const selectionCount = getSelected().length;\r\n\r\n const bulkPreselections = groups.filter(group => {\r\n if (!group.users?.data?.length)\r\n return false;\r\n\r\n let allStudentsFound = true;\r\n let index = 0;\r\n\r\n const studentIds = getSelected();\r\n\r\n if (!studentIds.length)\r\n return;\r\n\r\n do {\r\n const id = studentIds[index];\r\n if (!group.users.data.find((stu: any) => stu.id.toString() === id.toString()))\r\n allStudentsFound = false;\r\n\r\n index++;\r\n } while (index < studentIds.length);\r\n\r\n return allStudentsFound;\r\n });\r\n\r\n function onClickAddStudents(): void {\r\n AnalyticsHelper.logUserAction({ id: classroom.id }, {\r\n entity: EntityType.Classroom,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n actionType: UserAction.Associate,\r\n location: LocationContext.ManageClassroomStudents\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.ADD_STUDENTS,\r\n args: [classroom.id]\r\n });\r\n }\r\n\r\n function onClickBulkRemoveStudents(): void {\r\n if (!selectionCount)\r\n return;\r\n\r\n AnalyticsHelper.logUserAction({ id: classroom.id }, {\r\n entity: EntityType.Classroom,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Start,\r\n actionType: UserAction.Dissociate,\r\n location: LocationContext.ManageClassroomStudents\r\n });\r\n\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.REMOVE_STUDENTS,\r\n args: [classroom.id],\r\n params: {\r\n studentIds: getSelected()\r\n }\r\n });\r\n }\r\n\r\n function onBulkToggleGroup(group: ClassroomGroup, toggleOn: boolean): void {\r\n const selectedStudentIds = getSelected();\r\n\r\n if (toggleOn) {\r\n Flight.fetch(\r\n dispatch,\r\n ClassroomRequests.addStudentsToGroup(selectedStudentIds, group.id, classroom.id, () => {\r\n AnalyticsHelper.logUserAction({\r\n id: group.id,\r\n studentCount: selectedStudentIds.length\r\n }, {\r\n actionType: UserAction.Associate,\r\n entity: EntityType.ClassroomGroup,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Complete,\r\n location: LocationContext.ManageClassroomStudents\r\n });\r\n\r\n alerts.success(getPhrase('addSuccess', { groupName: group.name }));\r\n }, () => {\r\n alerts.error(getPhrase('addError', { groupName: group.name }));\r\n })\r\n );\r\n } else {\r\n Flight.fetch(\r\n dispatch,\r\n ClassroomRequests.removeStudentsFromGroup(selectedStudentIds, group.id, classroom.id, () => {\r\n AnalyticsHelper.logUserAction({\r\n id: group.id,\r\n studentCount: selectedStudentIds.length\r\n }, {\r\n actionType: UserAction.Dissociate,\r\n entity: EntityType.ClassroomGroup,\r\n descriptor: AssocDescriptor.User,\r\n workflowPhase: WorkflowPhase.Complete,\r\n location: LocationContext.ManageClassroomStudents\r\n });\r\n\r\n alerts.success(getPhrase('removeSuccess', { groupName: group.name }));\r\n }, () => {\r\n alerts.error(getPhrase('removeError', { groupName: group.name }));\r\n })\r\n );\r\n }\r\n }\r\n\r\n const edgeToEdge = useMediaQuery(MediaQueryStrings.XLDown);\r\n\r\n return (\r\n <>\r\n <div className={`d-flex align-items-center py-2 ${edgeToEdge ? 'pl-2' : 'pl-4'}`}>\r\n <Checkbox\r\n id='manage-classroom-students-bulk'\r\n onChange={onToggleBulk}\r\n checked={bulkChecked}\r\n className='mr-4'\r\n />\r\n\r\n <ClassroomGroupDropdown\r\n id='bulk-add-group'\r\n classroom={classroom}\r\n studentIds={getSelected()}\r\n groups={groups}\r\n onToggle={onBulkToggleGroup}\r\n disabled={!selectionCount}\r\n preselections={bulkPreselections}\r\n analyticsOptions={{ location: LocationContext.ManageClassroomStudents }}\r\n />\r\n\r\n <DivButton\r\n className={`mr-auto ${!selectionCount ? 'text-light cursor-default' : ''}`}\r\n onClick={onClickBulkRemoveStudents}\r\n >\r\n <SvgContainer svgName={cvSvgLibrary.Delete} />\r\n </DivButton>\r\n\r\n <IconButton\r\n onClick={onClickAddStudents}\r\n svgName={cvSvgLibrary.Plus}\r\n className='btn btn-secondary'\r\n >\r\n <Text namespace={namespace} phrase='addStudent' />\r\n </IconButton>\r\n </div>\r\n\r\n <ul className='striped-list list-unstyled'>\r\n {students.data.map(student => (\r\n <li key={student.id}>\r\n <ManageClassroomStudentItem\r\n classroom={classroom}\r\n student={student}\r\n groups={props.groups}\r\n checked={isChecked(student.id)}\r\n onToggleCheckbox={() => onToggleItem(student.id)}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n </>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\n\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { ImageUrls } from 'shared/constants/ImageUrls';\r\nimport { EmptyStateImage } from 'shared/components/empty-state-image/EmptyStateImage';\r\n\r\nimport { Classroom } from 'libs/shared/interfaces';\r\n\r\nconst namespace = 'classrooms.manageClassroomStudentsEmptyState';\r\n\r\ninterface ManageClassroomStudentsEmptyStateProps {\r\n classroom: Classroom;\r\n}\r\n\r\nexport function ManageClassroomStudentsEmptyState(props: ManageClassroomStudentsEmptyStateProps): JSX.Element {\r\n function onClickAddStudents(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.ADD_STUDENTS,\r\n args: [props.classroom.id]\r\n });\r\n }\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className='text-center pt-5'>\r\n <EmptyStateImage src={ImageUrls.EmptyStates.CLASSROOMS} />\r\n\r\n <h2 className='h6'><Text phrase='emptyStateHeading' /></h2>\r\n\r\n <p className='mb-3'><Text phrase='emptyStateInfo' /></p>\r\n\r\n <IconButton className='btn btn-primary' onClick={onClickAddStudents} svgName={cvSvgLibrary.Plus}>\r\n <Text phrase='addStudents' />\r\n </IconButton>\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { PartialPillTabSelector } from 'shared/components/pill-tab-selector/partial-loading/PartialPillTabSelector';\r\n\r\nimport styles from './partial-manage-classroom-students.scss';\r\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\r\n\r\nexport function PartialManageClassroomStudents(): JSX.Element {\r\n return (\r\n <div className='px-3'>\r\n {/* Heading */}\r\n <div className={`mb-1 partial-loading-background ${styles.heading}`} />\r\n\r\n {/* Breadcrumbs */}\r\n <div className='pb-3'>\r\n <PartialBreadcrumbs numItems={2} />\r\n </div>\r\n\r\n {/* Pill tab selector */}\r\n <div className='pb-2'>\r\n <PartialPillTabSelector />\r\n </div>\r\n\r\n <div className='d-flex align-items-center py-2'>\r\n {/* Checkbox */}\r\n <div className={`mx-4 partial-loading-background ${styles.checkbox}`} />\r\n {/* Group selector */}\r\n <div className={`mr-2 partial-loading-background ${styles.actionIcon}`} />\r\n {/* Delete action */}\r\n <div className={`mr-auto partial-loading-background ${styles.actionIcon}`} />\r\n\r\n {/* Add new students button */}\r\n <div className={`partial-loading-background ${styles.addStudents}`} />\r\n </div>\r\n\r\n {/* Students list */}\r\n <ul className='striped-list list-unstyled'>\r\n {Array(20).fill(null).map((student, i) => (\r\n <li key={i}>\r\n <div className='d-flex align-items-center py-1 px-4'>\r\n {/* Checkbox */}\r\n <div className={`mr-2 partial-loading-background ${styles.checkbox}`} />\r\n {/* Student name */}\r\n <div className='w-25'>\r\n <div className={`partial-loading-background ${styles.studentName}`} />\r\n </div>\r\n\r\n {/* Groups list. Randomly renders either 1 or 2 groups. Group widths are randomly generated */}\r\n <div className='mr-auto d-flex'>\r\n {Math.random() > 0.5\r\n ? (\r\n <>\r\n <div className={`partial-loading-background rounded-pill mr-1 ${styles.group} ${styles.lg}`} />\r\n <div className={`partial-loading-background rounded-pill ${styles.group} ${styles.sm}`} />\r\n </>\r\n ) : <div className={`partial-loading-background rounded-pill ${styles.group} ${styles.sm}`} />\r\n }\r\n </div>\r\n\r\n {/* Group selector */}\r\n <div className={`mr-2 partial-loading-background ${styles.actionIcon}`} />\r\n {/* More actions */}\r\n <div className={`partial-loading-background ${styles.moreActions}`} />\r\n </div>\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"cv--heading--3W4zl\",\"checkbox\":\"cv--checkbox--11WXC\",\"actionIcon\":\"cv--actionIcon--1K3UF\",\"addStudents\":\"cv--addStudents--1sqTe\",\"studentName\":\"cv--studentName--3cfGe\",\"group\":\"cv--group--2HHY1\",\"sm\":\"cv--sm--3_EMi\",\"lg\":\"cv--lg--3L-SN\",\"moreActions\":\"cv--moreActions--9PVrB\"};","import { ClassroomGroupColour } from 'libs/shared/interfaces';\r\n\r\nexport function mapColourToClassName(groupColour: ClassroomGroupColour): string {\r\n switch (groupColour) {\r\n case ClassroomGroupColour.White:\r\n default:\r\n return 'bg-white';\r\n case ClassroomGroupColour.Pink:\r\n return 'bg-pink';\r\n case ClassroomGroupColour.YellowOrange:\r\n return 'bg-yellow-orange';\r\n case ClassroomGroupColour.Emerald:\r\n return 'bg-emerald';\r\n case ClassroomGroupColour.PuertoRico:\r\n return 'bg-puerto-rico';\r\n case ClassroomGroupColour.PictonBlue:\r\n return 'bg-picton-blue';\r\n case ClassroomGroupColour.EastSide:\r\n return 'bg-east-side';\r\n case ClassroomGroupColour.Portage:\r\n return 'bg-portage';\r\n }\r\n}","import React from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Core } from 'libs/common/core';\r\nimport { useSetPageTitle } from 'libs/common/react/hooks/UseSetPageTitle';\r\n\r\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { Classroom, UserCollection, ClassroomGroupCollection } from 'libs/shared/interfaces';\r\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\r\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\r\nimport { Breadcrumbs, BreadcrumbType } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\r\nimport { ActionOptions, Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { PillTabSelector, PillTab } from 'shared/components/pill-tab-selector/PillTabSelector';\r\nimport { NotFoundError } from 'shared/errors/general/not-found/LiteNotFoundError';\r\n\r\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\r\nimport { ManageClassroomStudents } from 'apps/classrooms/components/manage-classroom-students/ManageClassroomStudents';\r\nimport { ManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/ManageClassroomGroups';\r\nimport { ManageClassroomStudentsEmptyState } from 'apps/classrooms/components/manage-classroom-students/empty-state/ManageClassroomStudentsEmptyState';\r\nimport { PartialManageClassroomStudents } from 'apps/classrooms/components/manage-classroom-students/partial-loading/PartialManageClassroomStudents';\r\nimport { PartialManageClassroomGroups } from 'apps/classrooms/components/manage-classroom-groups/partial-loading/PartialManageClassroomGroups';\r\n\r\nimport styles from './manage-classroom.scss';\r\n\r\nconst namespace = 'classrooms.manageClassroom';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\nexport type ClassroomManagerTabs = 'students' | 'groups';\r\n\r\ninterface ManageClassroomViewProps {\r\n id: string;\r\n activeTab: ClassroomManagerTabs;\r\n}\r\n\r\nManageClassroomView.defaultProps = {\r\n activeTab: 'students'\r\n};\r\n\r\nexport function ManageClassroomView(props: ManageClassroomViewProps): JSX.Element {\r\n const classroom = Flight.useBasicFetch<Classroom>(ClassroomRequests.getClassroom(props.id));\r\n const students = Flight.useBasicFetch<UserCollection>(ClassroomRequests.getClassroomStudents(props.id));\r\n const groups = Flight.useBasicFetch<ClassroomGroupCollection>(ClassroomRequests.getClassroomGroups(props.id));\r\n\r\n useSetPageTitle(getPhrase(props.activeTab === 'students' ? 'pageTitleStudents' : 'pageTitleGroups'));\r\n const { hasPermissions } = usePermissions();\r\n\r\n const isMobile = useMediaQuery(MediaQueryStrings.SMDown);\r\n\r\n const actions: ActionOptions[] = [{\r\n label: getPhrase(isMobile ? 'editClassroom' : 'edit'),\r\n appLink: {\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.EDIT_CLASSROOM,\r\n args: [props.id]\r\n },\r\n className: 'btn btn-secondary',\r\n svgName: cvSvgLibrary.Edit,\r\n button: !isMobile\r\n }, {\r\n label: getPhrase('delete'),\r\n className: 'text-danger',\r\n appLink: {\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.DELETE_CLASSROOM,\r\n args: [props.id]\r\n }\r\n }];\r\n\r\n function onSelectStudentsTab(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.MANAGE_CLASSROOM,\r\n args: [props.id],\r\n params: {\r\n tab: 'students'\r\n }\r\n });\r\n }\r\n\r\n function onSelectGroupsTab(): void {\r\n Core.AppLinkHelper.trigger({\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.MANAGE_CLASSROOM,\r\n args: [props.id],\r\n params: {\r\n tab: 'groups'\r\n }\r\n });\r\n }\r\n\r\n const tabs: PillTab[] = [{\r\n name: getPhrase('students'),\r\n onSelect: onSelectStudentsTab,\r\n active: props.activeTab === 'students'\r\n }, {\r\n name: getPhrase('groups'),\r\n onSelect: onSelectGroupsTab,\r\n active: props.activeTab === 'groups'\r\n }];\r\n\r\n if (!hasPermissions(PermissionName.CreateClassrooms)) {\r\n Core.ErrorHelper.throw(new NotFoundError());\r\n return <></>;\r\n }\r\n\r\n if (!classroom.data || !students.data?.data || !groups.data?.data) {\r\n return props.activeTab === 'students'\r\n ? <PartialManageClassroomStudents />\r\n : <PartialManageClassroomGroups />;\r\n }\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className='px-3 position-relative'>\r\n <h1 className='mb-1'>{classroom.data.name}</h1>\r\n\r\n <div className={styles.actionsContainer}>\r\n <ActionsComponent\r\n actions={actions}\r\n actionsDropdownClassName='btn btn-secondary'\r\n />\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <Breadcrumbs\r\n type={BreadcrumbType.Static}\r\n data={[\r\n { name: getPhrase('classroomsBreadcrumb') },\r\n classroom.data,\r\n { name: getPhrase('manageBreadcrumb') }\r\n ]}\r\n currentItem={{ name: getPhrase('manageBreadcrumb') }}\r\n getItemAppLink={item => {\r\n if (!('id' in item)) {\r\n return {\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.HOME\r\n };\r\n }\r\n\r\n if (!students.data?.data?.length)\r\n return null;\r\n\r\n return {\r\n application: AppChannels.CLASSROOMS,\r\n action: Actions.Classrooms.CLASSROOM,\r\n args: [item.id]\r\n };\r\n }}\r\n />\r\n </div>\r\n\r\n <div className='pb-2'>\r\n <PillTabSelector tabs={tabs} />\r\n </div>\r\n\r\n {(() => {\r\n if (props.activeTab === 'students') {\r\n if (!students.data?.data?.length)\r\n return <ManageClassroomStudentsEmptyState classroom={classroom.data} />;\r\n\r\n return (\r\n <ManageClassroomStudents\r\n classroom={classroom.data}\r\n students={students.data}\r\n groups={groups.data.data}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <ManageClassroomGroups\r\n classroom={classroom.data}\r\n groups={groups.data.data}\r\n />\r\n );\r\n })()}\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"actionsContainer\":\"cv--actionsContainer--3wYTF\"};","import React from 'react';\r\nimport styles from './empty-state-image.scss';\r\n\r\ninterface EmptyStateImageProps {\r\n src: string;\r\n className?: string;\r\n}\r\n\r\nEmptyStateImage.defaultProps = {\r\n className: `${styles.image} pb-3`\r\n};\r\n\r\nexport function EmptyStateImage(props: EmptyStateImageProps): JSX.Element {\r\n return (\r\n <img\r\n alt=''\r\n role='presentation'\r\n src={props.src}\r\n className={props.className}\r\n />\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image\":\"cv--image--23Yda\"};","import React from 'react';\r\n\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\nimport styles from './pill-tab-selector.scss';\r\n\r\nexport interface PillTab {\r\n name: string;\r\n onSelect: () => void;\r\n active: boolean;\r\n}\r\n\r\ninterface PillTabSelectorProps {\r\n tabs: PillTab[];\r\n}\r\n\r\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\r\n function onSelectTab(tab: PillTab): void {\r\n if (tab.active)\r\n return;\r\n\r\n tab.onSelect();\r\n }\r\n\r\n return (\r\n <nav>\r\n <ul className={`list-unstyled d-inline-block border border-dark m-0 ${styles.pillTabSelector}`}>\r\n {props.tabs.map(tab => (\r\n <li className={`p-0 ${tab.active ? 'btn btn-primary' : 'btn btn-secondary'}`} key={tab.name}>\r\n <DivButton className='cursor-pointer outline-none py-1' onClick={() => onSelectTab(tab)}>\r\n {tab.name}\r\n </DivButton>\r\n </li>\r\n ))}\r\n </ul>\r\n </nav>\r\n );\r\n}","import React from 'react';\r\n\r\nimport styles from '../pill-tab-selector.scss';\r\nimport partialStyles from './partial-pill-tab-selector.scss';\r\n\r\nexport function PartialPillTabSelector(): JSX.Element {\r\n return (\r\n <div className={`partial-loading-background ${styles.pillTabSelector} ${partialStyles.partialSize}`} />\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"partialSize\":\"cv--partialSize--1HB_G\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pillTabSelector\":\"cv--pillTabSelector--33p-_\"};","import React from 'react';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\ninterface CheckboxItemsState {\r\n [id: string]: boolean;\r\n}\r\n\r\ninterface BulkCheckboxManagerOptions {\r\n preselectedIds?: string[]; // An array of ids of objects whose checkboxes are checked by default\r\n idField?: string; // For objects like `PresentationAudiences` that don't use `id` as their identifier field\r\n}\r\n\r\n/**\r\n * @param collection - The collection you are keeping track of with checkboxes\r\n * @param options - See interface above\r\n */\r\nexport const useBulkCheckboxManager = (collection: HashObject[], options: BulkCheckboxManagerOptions = {}) => {\r\n const [ bulkChecked, setBulkChecked ] = React.useState(false);\r\n const [ items, setItems ] = React.useState<CheckboxItemsState>({});\r\n\r\n const { idField = 'id' } = options;\r\n\r\n React.useEffect(() => {\r\n if (!collection?.length)\r\n return;\r\n\r\n const newItemState = collection.reduce<CheckboxItemsState>((stateObj: CheckboxItemsState, item: HashObject) => {\r\n let checkboxState = false;\r\n\r\n if (options?.preselectedIds?.includes(item[idField]))\r\n checkboxState = true;\r\n\r\n const id = item[idField].toString();\r\n stateObj[id] = checkboxState;\r\n\r\n return stateObj;\r\n }, {});\r\n\r\n setItems(newItemState);\r\n }, [ collection, options?.preselectedIds?.length ]);\r\n\r\n // When toggled on, all checkbox items will be enabled. Vice versa if toggled off\r\n function onToggleBulk(): void {\r\n const nextState = !bulkChecked;\r\n\r\n setBulkChecked(nextState);\r\n\r\n const newItemsState = collection.reduce<CheckboxItemsState>((stateObj: CheckboxItemsState, item: HashObject) => {\r\n stateObj[item[idField]] = nextState;\r\n return stateObj;\r\n }, {});\r\n\r\n setItems(newItemsState);\r\n }\r\n\r\n // Toggles a single item\r\n function onToggleItem(id: string): void {\r\n const nextItemState = !items[id.toString()];\r\n\r\n const nextState = {\r\n ...items,\r\n [id.toString()]: nextItemState\r\n };\r\n setItems(nextState);\r\n\r\n /**\r\n * Keep the bulk checkbox in sync with all of the other checkboxes\r\n */\r\n const totalItemsSelected = Object.keys(nextState).filter(i => nextState[i]).length;\r\n if (totalItemsSelected === collection.length) {\r\n setBulkChecked(true);\r\n return;\r\n }\r\n\r\n if (!nextItemState && bulkChecked)\r\n setBulkChecked(false);\r\n }\r\n\r\n // Returns the state of the item passed in\r\n function isChecked(item: string | number | HashObject<string>): boolean {\r\n if (bulkChecked)\r\n return true;\r\n\r\n if (typeof item !== 'string' && typeof item !== 'number')\r\n item = item[idField];\r\n\r\n return items[item];\r\n }\r\n\r\n function getSelected(): string[] {\r\n if (bulkChecked)\r\n return Object.keys(items);\r\n\r\n return Object.keys(items).filter(item => items[item]);\r\n }\r\n\r\n return { onToggleBulk, onToggleItem, getSelected, isChecked, bulkChecked };\r\n};"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- (window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[26],{1070:function(e,a,t){"use strict";t.d(a,"a",(function(){return n}));var n={userVideoHistory:function(e,a,t,n,r,i){var o="video:history:".concat(e,":").concat(a),c="/api/videoviews/v1/customers/".concat(e,"/users/").concat(a,"/videos/history");return t&&(o+=":".concat(t),c+="?cursor=".concat(t)),{key:o,url:c,success:n,error:r,always:i}},videoHistory:function(e,a,t,n,r,i){var o=t.sort().map((function(e){return"videoId=".concat(e)}));return{key:"video:history:".concat(e,":").concat(a,":videos:").concat(o.join("&")),url:"/api/videoviews/v1/customers/".concat(e,"/users/").concat(a,"/videos/history?").concat(o.join("&")),formatData:function(e){var a;return(null===(a=e)||void 0===a?void 0:a.length)?e.map((function(e){return{id:e.videoId,lastProgressPoint:e.lastProgressPoint}})):e},success:n,error:r,always:i}}}},1424:function(e,a,t){e.exports={partialDate:"_2wbjP"}},1494:function(e,a,t){"use strict";t.r(a);var n=t(0),r=t.n(n),i=t(76),o=t(19),c=t(304),s=t(9),l=t(964),u=t(962),d=t(70),m=t(973),p=t(91),v=t(101),f=t(161),g=t(48),b=t(3),y=t(311),E=t(958),h=t(7),k=t(13),N=t(1070),w=t(123),P=t(2),L=t(140),A=t(43),S=t(963),C=t(967),j=t(115),x="watchHistory.watchHistoryVideoList",O=function(e){return{application:h.a.DEFAULT,action:k.a.Default.PLAY_VIDEO,args:[e.id,A.a.slugify(e.name)],params:j.a.getVideoProgress(e)?{t:Math.floor(j.a.getVideoProgress(e))}:{}}},F=function(e){return{application:h.a.DEFAULT,action:k.a.Default.SERIES,args:[e.id,A.a.slugify(e.name)]}};function D(e){var a=L.a.groupBy(e.videoHistory.data,"lastDateWatched"),t={},r=Object.keys(a).sort().reverse();r.forEach((function(n){t[n]=a[n].map((function(a){var t=e.videos.find((function(e){return e.id.toString()===a.videoId.toString()}));return t?Object.assign(Object.assign({},t),{lastProgressPoint:a.lastProgressPoint}):null})).filter(Boolean)}));var i=P.a.AppLinkHelper.getCurrentAppLink();return n.createElement(n.Fragment,null,r.map((function(a){return n.createElement("div",{key:a,className:"pb-3"},n.createElement("h2",{className:"h4"},function(e){var a=w().diff(e,"days");return 0===a?s.a.getPhrase(x,"today"):1===a?s.a.getPhrase(x,"yesterday"):w(e).format("Do MMMM")}(a)),n.createElement(S.c,{videos:t[a],getVideoAppLink:O,getSeriesAppLink:F,setFavourite:e.setFavourite,hideFavouriteButton:e.hideFavouriteButton}))})),e.videoHistory.pagination.cursors&&n.createElement(C.b,{appLink:i,cursors:e.videoHistory.pagination.cursors}))}var V=t(983),T=t(1424),H=t.n(T);function I(){return r.a.createElement("div",{className:"px-3"},r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(H.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(V.b,{numVideos:2})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(H.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(V.b,{numVideos:3})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(H.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(V.b,{numVideos:2})),r.a.createElement("div",{className:"mb-3"},r.a.createElement("div",{className:"".concat(H.a.partialDate," mb-2 partial-loading-background")}),r.a.createElement(V.b,{numVideos:5})))}t.d(a,"getVideoActionAppLink",(function(){return B})),t.d(a,"WatchHistoryView",(function(){return R}));function B(){return function(e,a){switch(a){case u.a.AddToPlaylist:return{application:h.a.PLAYLISTS,action:k.a.Playlists.ADD_TO_PLAYLIST,args:[e.id]};case u.a.Share:return{application:h.a.SHARE,action:k.a.Share.SHARE,args:[e.id],params:{entityType:"video"}}}}}function R(e){var a,t,r,h;Object(c.a)(s.a.getPhrase("watchHistory.watchHistory","pageTitle"));var k=Object(i.useDispatch)(),w=Object(E.a)(),P=Object(f.a)().hasPermissions,L=o.a.useBasicFetch(d.a.currentUser()),A=o.a.useBasicFetch(!!L.data&&N.a.userVideoHistory(L.data.customerId,L.data.id,e.cursor)),S=null===(t=null===(a=A.data)||void 0===a?void 0:a.data)||void 0===t?void 0:t.map((function(e){return e.videoId})),C=o.a.useBasicFetch((null===(r=S)||void 0===r?void 0:r.length)&&y.a.watchHistoryVideos(S,null===(h=L.data)||void 0===h?void 0:h.id));function j(e,a,t){o.a.fetch(k,m.a.updateIsVideoFavourited(e.id,L.data.id,a,(function(){g.a.logUserAction({id:e.id},{entity:b.d.Video,actionType:b.n.Favourite,descriptor:a?b.m.On:b.m.Off,location:b.j.VideoThumbnail,workflowPhase:b.o.Complete}),w.success(s.a.getPhrase("watchHistory.watchHistory",a?"favourited":"unfavourited",{video:e.name}))}),t))}return n.createElement(p.a.Provider,{value:"watchHistory.watchHistory"},n.createElement("div",{className:"px-3"},n.createElement("h1",null,n.createElement(p.b,{phrase:"heading"})),function(){var e,a,t;return A.data?(null===(e=A.data.data)||void 0===e?void 0:e.length)?C.data?n.createElement(l.a.Provider,{value:{videoActions:(a=P(v.a.ShareVideos),t=[u.a.AddToPlaylist],a&&t.push(u.a.Share),t),getActionAppLink:B(),hideLabel:!0}},n.createElement(D,{videoHistory:A.data,videos:C.data,setFavourite:j,hideFavouriteButton:!P(v.a.FavouriteVideos)})):n.createElement(I,null):n.createElement(p.b,{phrase:"emptyState"}):n.createElement(I,null)}()))}},960:function(e,a,t){e.exports={buttonList:"_2v9CT",dropdownToggle:"AYBvQ"}},961:function(e,a,t){"use strict";var n=t(0),r=t(184),i=t(306),o=t(45),c=t(48),s=t(64),l=t(58),u=t(17),d=t(960),m=t.n(d);function p(e){var a="dropdown-item";return e&&(a+=" ".concat(e)),a}function v(e){if(e.action.appLink)return n.createElement(l.a,{appLink:e.action.appLink,onClick:e.action.onClick,className:p(e.action.className),analyticsData:e.action.analyticsData,analyticsOptions:e.action.analyticsOptions},e.action.label);return n.createElement("span",{className:"cursor-pointer ".concat(p(e.action.className)),onClick:function(a){e.action.analyticsData&&e.action.analyticsOptions&&c.a.logUserAction(e.action.analyticsData,e.action.analyticsOptions),o.a.isFunction(e.action.onClick)&&e.action.onClick(a)}},e.action.label)}function f(e){if(!e.actions||!e.actions.length)return n.createElement(n.Fragment,null);var a="dropdown";e.className&&(a+=" ".concat(e.className));var t="actions-dropdown-".concat(i.a.getRandomInt()),r="dropdown-toggle px-0 ".concat(m.a.dropdownToggle);return e.dropdownToggleClassName&&(r+=" ".concat(e.dropdownToggleClassName)),n.createElement("div",{className:a},n.createElement("button",{className:r,type:"button",id:t,"data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},n.createElement(s.a,{svgName:u.b.More,size:s.b.Small})),n.createElement("div",{className:"dropdown-menu dropdown-menu-right","aria-labelledby":t},e.actions.map((function(e,a){return n.createElement(v,{key:a,action:e})}))))}f.defaultProps={dropdownToggleClassName:"btn btn-light"};var g=t(308);function b(e){var a=[],t=[];e.actions.forEach((function(e){e.button?a.push(e):t.push(e)}));var i="d-flex";return e.className&&(i+=" ".concat(e.className)),n.createElement("div",{className:i},n.createElement(n.Fragment,null,!!a.length&&n.createElement("span",{className:m.a.buttonList},a.map((function(e,a){return n.createElement(n.Fragment,{key:a},e.label?n.createElement(g.a,{appLink:e.appLink,onClick:e.onClick,svgName:e.svgName,className:e.className,tooltip:e.tooltip,showSpinner:e.showSpinner,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions},e.label):n.createElement(r.a,{appLink:e.appLink,onClick:e.onClick,svgName:e.svgName,className:e.className,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions}))}))),e.sortComponent?e.sortComponent:"",!!t.length&&n.createElement(f,{actions:t,className:!!a.length&&"ml-2",dropdownToggleClassName:e.actionsDropdownClassName})))}t.d(a,"a",(function(){return b}))},962:function(e,a,t){"use strict";t.d(a,"a",(function(){return o})),t.d(a,"b",(function(){return s}));var n=t(9),r=t(17);function i(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}var o,c="shared.videoActionsHelper";!function(e){e[e.AddToPlaylist=0]="AddToPlaylist",e[e.RemoveFromPlaylist=1]="RemoveFromPlaylist",e[e.Share=2]="Share",e[e.Edit=3]="Edit"}(o||(o={}));var s=function(){var e;return i(e={},o.AddToPlaylist,{label:n.a.getPhrase(c,"addToPlaylist"),svgName:r.b.AddToPlaylists}),i(e,o.RemoveFromPlaylist,{label:n.a.getPhrase(c,"removeFromPlaylist"),svgName:r.b.Delete}),i(e,o.Share,{label:n.a.getPhrase(c,"share"),svgName:r.b.Share2}),i(e,o.Edit,{label:n.a.getPhrase(c,"edit"),svgName:r.b.Edit}),e}},963:function(e,a,t){"use strict";t.d(a,"a",(function(){return s})),t.d(a,"c",(function(){return l})),t.d(a,"b",(function(){return u}));var n=t(0),r=t(952),i=t(2),o=t(967),c=t(974),s=n.createContext({isSortable:!1});function l(e){var a=n.useContext(s).isSortable?c.a:c.b,t=i.a.AppLinkHelper.getCurrentAppLink();return n.createElement(n.Fragment,null,n.createElement("div",{className:"position-relative"},e.videos.map((function(t,r){return n.createElement(a,{key:t.id,idx:r,index:r,video:t,getVideoAppLink:e.getVideoAppLink,getSeriesAppLink:e.getSeriesAppLink,setFavourite:e.setFavourite,hideInteractiveBadge:e.hideInteractiveBadge,hideFavouriteButton:e.hideFavouriteButton})}))),e.cursors&&n.createElement(o.b,{appLink:t,cursors:e.cursors}))}var u=Object(r.SortableContainer)((function(e){return n.createElement(s.Provider,{value:{isSortable:!0,currentSortingIndex:e.currentSortingIndex}},n.createElement(l,Object.assign({},e)))}))},964:function(e,a,t){"use strict";t.d(a,"a",(function(){return r}));var n=t(0),r=n.createContext({})},967:function(e,a,t){"use strict";t.d(a,"b",(function(){return u})),t.d(a,"a",(function(){return d}));var n=t(0),r=t(303),i=t(58),o=t(91),c=t(48),s=t(3);function l(e,a){return a?{application:e.application,action:e.action,args:e.args,params:Object.assign({},e.params,{cursor:a})}:null}function u(e){var a=e.appLink,t=e.cursors,r=e.className;function u(e){c.a.logUserAction({page:e},{location:s.j.Pagination,entity:s.d.Pagination,actionType:s.n.Navigate})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:r},n.createElement(i.a,{appLink:l(a,t.previous),className:"btn btn-secondary mr-1 ".concat(t.previous?"":"disabled"),onClick:function(){return u("previous")}},n.createElement(o.b,{phrase:"previous"})),n.createElement(i.a,{appLink:l(a,t.next),className:"btn btn-secondary ".concat(t.next?"":"disabled"),onClick:function(){return u("next")}},n.createElement(o.b,{phrase:"next"}))))}function d(e){function a(e){c.a.logUserAction({page:e},{location:s.j.Pagination,entity:s.d.Pagination,actionType:s.n.Navigate})}return n.createElement(o.a.Provider,{value:"shared.pagination"},n.createElement("div",{className:e.className},n.createElement(r.a,{onClick:function(){1!==e.currentPage&&(a("previous"),e.onClickBack())},className:"btn btn-secondary mr-1 cursor-pointer ".concat(1===e.currentPage?"disabled":"")},n.createElement(o.b,{phrase:"previous"})),n.createElement(r.a,{onClick:function(){e.currentPage!==e.totalPages&&(a("next"),e.onClickNext())},className:"btn btn-secondary cursor-pointer ".concat(e.currentPage===e.totalPages?"disabled":"")},n.createElement(o.b,{phrase:"next"}))))}u.defaultProps={className:"py-2"},d.defaultProps={className:"py-2"}},973:function(e,a,t){"use strict";t.d(a,"a",(function(){return c}));var n=t(27),r=t(49);function i(e,a,t,r){return{url:"{gateway}/v1/objects/".concat(a),key:"favourite:video:".concat(a,":").concat(e),data:{favouriteVideos:e},type:n.a.PUT,invalidationKeys:["favourite:videos:".concat(a),"video:is:favourited:".concat(a)],success:t,error:r}}function o(e,a,t,r){return{url:"{gateway}/v1/objects/".concat(a,"/favouriteVideos?memberId=").concat(e),key:"favourite:video:".concat(a,":").concat(e),type:n.a.DELETE,invalidationKeys:["favourite:videos:".concat(a),"video:is:favourited:".concat(a)],success:t,error:r}}var c={favouriteVideos:function(e,a){return{url:"{gateway}/v1/objects/".concat(e,"/favouriteVideos?query=").concat(r.b.VideoCollectionWithAssocs(e,!0)).concat(s(a)),key:"favourite:videos:".concat(e).concat(a?":".concat(a):"")}},updateIsVideoFavourited:function(e,a,t,n,r){return(t?i:o)(e,a,n,r)},isFavourited:function(e,a){var t=a.slice().sort(),n=t.map((function(e){return"id=".concat(e)}));if(n.length)return{url:"{gateway}/v1/objects?query=favouritedBy{id:".concat(e,"}&").concat(n.join("&")),key:"video:is:favourited:".concat(e,":by:id:").concat(t.join(","))}}};function s(e){return e?"&cursor=".concat(e):""}},974:function(e,a,t){"use strict";var n=t(0),r=t(40),i=t(952),o=t(982),c=t(310),s=t(64),l=t(975),u=t(46),d=t(115),m=t(17),p=t(963),v=t(45),f=t(961),g=t(964),b=t(962),y=t(77),E=t(976),h=t.n(E),k=[b.a.AddToPlaylist];function N(e){var a=n.useContext(g.a),t=a.videoActions,r=void 0===t?k:t,i=a.getActionAppLink,o=a.hideLabel,c=Object(y.a)(u.a.XS);if(!v.a.isFunction(i))return n.createElement(n.Fragment,null);var s=[];return r.forEach((function(a){var t=i(e.video,a);t&&s.push(Object.assign({appLink:t,className:"btn btn-link",button:!c},Object(b.b)()[a]))})),o&&!c&&(s=s.map((function(e){return Object.assign(Object.assign({},e),{label:null})}))),n.createElement(f.a,{actions:s,className:"float-right mt-n1",actionsDropdownClassName:"btn btn-link rounded-circle p-0 ".concat(h.a.actionsDropdown)})}var w=t(91),P=t(977),L=t.n(P);function A(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],n=!0,r=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(n=(o=c.next()).done)&&(t.push(o.value),!a||t.length!==a);n=!0);}catch(e){r=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(r)throw i}}return t}(e,a)||function(e,a){if(!e)return;if("string"==typeof e)return S(e,a);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return S(e,a)}(e,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=new Array(a);t<a;t++)n[t]=e[t];return n}function C(e){var a=A(n.useState(e.truncate),2),t=a[0],r=a[1];return Object(y.a)(u.a.XS)?n.createElement(n.Fragment,null):n.createElement("div",{className:"position-relative overflow-hidden ".concat(t?"clamp-2":"")},n.createElement("p",{className:"m-0"},e.video.description,!!e.isExpandable&&n.createElement("span",{className:"cursor-pointer ".concat(L.a.ellipsis),onClick:function(){return r(!t)}},n.createElement(w.b,{namespace:"shared.videoItemDescription",phrase:t?"showMore":"showLess"}))))}C.defaultProps={truncate:!0};var j=t(58);function x(e){return n.createElement(j.a,{appLink:e.appLink},n.createElement("h5",{className:"m-0 mb-1 clamp-2"},e.video.name))}var O=t(990),F=t(985),D=t(209),V=t(3),T=t(160),H=t(978),I=t.n(H);t.d(a,"b",(function(){return R})),t.d(a,"a",(function(){return _}));var B=Object(i.SortableHandle)((function(){return n.createElement(r.Col,{xs:2,className:"d-flex justify-content-center align-items-center cursor-pointer ".concat(I.a.dragHandleContainer)},n.createElement(s.a,{svgName:m.b.Handle,size:s.b.Small}))}));function R(e){var a,t,i=Object(D.a)(),s=i===u.a.XS,m=i===u.a.SM||i===u.a.MD,v=i===u.a.SM,f=n.useContext(p.a).isSortable&&!s,g=e.getVideoAppLink(e.video),b=d.a.hasSeries(e.video)&&e.getSeriesAppLink(e.video.series);return n.createElement(r.Row,{className:"py-2"},n.createElement(r.Col,{xs:s?12:m?4:3,className:"flex-column align-items-flex-start mb-1"},n.createElement(r.Row,null,!!f&&n.createElement(B,null),n.createElement(r.Col,{xs:(t=f,t?10:12)},n.createElement(o.a,{video:e.video,appLink:g,seriesAppLink:b,imageOptions:{size:f?T.a.Small:T.a.Medium},textPosition:l.a.Independent,setFavourite:e.setFavourite,type:"static",analyticsOptions:{location:V.j.VideoListItem},hideFavouriteButton:e.hideFavouriteButton})))),n.createElement(r.Col,{xs:s?12:m?8:9},n.createElement(N,{video:e.video}),n.createElement(c.a,{className:"d-block",video:e.video,appLink:b,analyticsOptions:{location:V.j.VideoListItem}}),n.createElement(x,{video:e.video,appLink:e.getVideoAppLink(e.video)}),n.createElement(O.a,null,n.createElement(F.a,{type:F.b.Rating,data:e.video.rating}),n.createElement(F.a,{type:F.b.ProductionYear,data:e.video.productionYear}),!e.hideInteractiveBadge&&n.createElement(F.a,{type:F.b.Interactive,data:null===(a=e.video._hasinteractives)||void 0===a?void 0:a.value})),!v&&n.createElement(C,{video:e.video})))}var _=Object(i.SortableElement)((function(e){return n.createElement(R,Object.assign({},e))}))},976:function(e,a,t){e.exports={actionsDropdown:"XR0aX"}},977:function(e,a,t){e.exports={ellipsis:"LJY5U"}},978:function(e,a,t){e.exports={dragHandleContainer:"_24s1b"}},983:function(e,a,t){"use strict";t.d(a,"b",(function(){return u})),t.d(a,"a",(function(){return d}));var n=t(0),r=t.n(n),i=t(40),o=t(46),c=t(209),s=t(984),l=t.n(s);function u(e){return r.a.createElement(r.a.Fragment,null,Array(e.numVideos).fill(null).map((function(a,t){return r.a.createElement(d,Object.assign({key:t},e))})))}function d(e){var a=Object(c.a)(),t=a===o.a.XS,n=a===o.a.SM||a===o.a.MD,s=e.withReordering&&!t;return r.a.createElement(i.Row,{className:"py-2"},r.a.createElement(i.Col,{xs:t?12:n?4:3,className:"flex-column align-items-flex-start mb-1"},r.a.createElement(i.Row,null,!!s&&r.a.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialDragHandle)})),r.a.createElement(i.Col,{xs:s?10:12},r.a.createElement("div",{className:"partial-loading-background rounded-lg ".concat(l.a.partialThumbnail)})))),r.a.createElement(i.Col,{xs:t?12:n?8:9},r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialSeriesLink)}),r.a.createElement("div",{className:"partial-loading-background mb-1 ".concat(l.a.partialName)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialDescription)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialBadges)}),r.a.createElement("div",{className:"partial-loading-background ".concat(l.a.partialActions)})))}u.defaultProps={numVideos:15}},984:function(e,a,t){e.exports={partialName:"_7KNC2",partialDescription:"Vk_wR",partialThumbnail:"_3peRZ",partialDragHandle:"_1F7_f"}}}]);