@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/video-owner-text/VideoOwnerText.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/index.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss?ff5e","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/flight-requests/PlayerRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/players/interactive-player.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/create-components/create-components.ts","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/create-components/create-short-answer.ts/create-short-answer.scss?0a97","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/create-components/create-short-answer.ts/create-short-answer.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/create-components/create-type-selector/create-type-selector.scss","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/create-components/create-type-selector/create-type-selector.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/feedback/feedback.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/incomplete-alert/incomplete-alert.tsx","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/interactive/interactive-component.scss?3482","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/interactive/interactive-component.tsx","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-item.scss?695b","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-item.ts","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-items.scss?cf32","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/seek-bar/interactive-bar-items.ts","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/timepoint/timepoint-component.scss?523c","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/timepoint/timepoint-component.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/annotation/annotation-interaction.tsx","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/view-components/image/image-interaction.scss?39e9","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/image/image-interaction.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/missing-word/missing-word-interaction.tsx","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/view-components/multiple-choice/multiple-choice-interaction.scss?6095","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/multiple-choice/multiple-choice-interaction.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/short-answer/short-answer-interaction.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/view-components.ts","webpack://@clickview/lite/../player/src/plugins/interactive-plugin/components/view-components/view-interaction-heading/view-interaction-heading.scss?187d","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/components/view-components/view-interaction-heading/view-interaction-heading.tsx","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/interactive-plugin.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/interfaces/InteractiveMode.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/interfaces/index.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/getInteractionComponents.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/getInteractionStateId.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/getSubmissionFunction.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/getTimepointStateId.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/getValidationFunction.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/plugins/interactive-plugin/utils/useInteractiveTrack.ts","file://C:/ClickView/front-end/clickview/packages/projects/player/src/react/InteractivePlayer.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/interactive-questions/InteractiveQuestions.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/interactive-questions/formatAnnotationText.ts","webpack://@clickview/lite/./src/shared/components/interactive-questions/interactive-questions.scss?610b","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/constants/MinimumGlanceHeight.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/flight-requests/InteractiveRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/views/preview-interactive/PreviewInteractiveView.tsx"],"names":[],"mappings":"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AI;AAC5B;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAE2C;AACgC;AACjB;AACnD,gCAAgC,uDAAU;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA,gCAAgC,sFAAe;AAC/C;AACA;AACA;AACA,WAAW;AACX,gBAAgB,sFAAe;AAC/B;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,cAAc,sFAAe;AAC7B,OAAO;AACP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,C;;;;;;;;;;;;ACpGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoF;AACqC;AACzH;AACA,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB,eAAe,6FAAiB;AACpD;AACO;AACP;AACA;AACA;AACA,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB,eAAe,+FAAmB;AACtD,GAAG,6EAAiB;AACpB;AACO;AACP;AACA;AACA;AACA,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB;AACpB,GAAG,6EAAiB,eAAe,6FAAiB;AACpD,GAAG,6EAAiB;AACpB;AACO;AACP;AACA,C;;;;;;;;;;;ACjCA,uC;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AACU;AAC7B;AACP;AACA;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP;AACA;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","file":"scripts/22.chunk.js","sourcesContent":["import React from 'react';\r\nimport { User } from 'libs/shared/interfaces';\r\n\r\ninterface VideoOwnerTextProps {\r\n owner: User;\r\n}\r\n\r\nexport function VideoOwnerText(props: VideoOwnerTextProps): JSX.Element {\r\n if (!props.owner)\r\n return <></>;\r\n\r\n let name = props.owner.name;\r\n\r\n if (props.owner.surname)\r\n name += ` ${props.owner.surname.substr(0, 1)}`.toUpperCase();\r\n\r\n const customer = props.owner.customers?.data?.[0];\r\n const customerName = customer?.name ?? '';\r\n\r\n if (customerName)\r\n name += ', ';\r\n\r\n return (\r\n <small className='clamp-1'>\r\n {name}\r\n {customerName && <em>{customerName}</em>}\r\n {/* TODO: Display a cv icon */}\r\n {customerName === 'ClickView' && <>CV Icon</>}\r\n </small>\r\n );\r\n}","export * from './FixedWidget';\r\nexport * from './FixedWidgetReducer';\r\nexport * from './PartialFixedWidget';","import React from 'react';\r\n\r\nimport { Core } from 'libs/common/core';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\nimport { InteractiveMetadata, Video } from 'libs/shared/interfaces';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\r\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { VideoOwnerText } from 'libs/shared/components/video-owner-text/VideoOwnerText';\r\nimport { ImageSize } from 'libs/shared/enums/Images';\r\n\r\nimport styles from './interactive-widget-item.scss';\r\n\r\n\r\nconst namespace = 'shared.interactiveWidgetItem';\r\n\r\nexport interface InteractiveWidgetItemProps {\r\n video: Video;\r\n data: InteractiveMetadata;\r\n appLink: Core.AppLink;\r\n questionsAppLink: Core.AppLink;\r\n}\r\n\r\nexport const InteractiveWidgetItem = React.memo(function(props: InteractiveWidgetItemProps): JSX.Element {\r\n const interactiveAppLink: Core.AppLink = {\r\n ...props.appLink,\r\n args: [ props.data.id, TextHelper.slugify(props.data.name) ]\r\n };\r\n\r\n const questionsAppLink: Core.AppLink = {\r\n ...props.questionsAppLink,\r\n args: [props.data.id]\r\n };\r\n\r\n return (\r\n <div className={`flex-shrink-0 px-1 ${styles.item}`}>\r\n <div className='row m-0 border rounded p-2 h-100'>\r\n <div className='col-6 p-0'>\r\n <VideoThumbnail\r\n video={props.video}\r\n interactive={props.data}\r\n appLink={interactiveAppLink}\r\n type='static'\r\n videoType='interactive'\r\n imageOptions={{ size: ImageSize.Small }}\r\n textPosition={ThumbnailTextPosition.Independent}\r\n preload\r\n />\r\n </div>\r\n\r\n <div className='col-6 p-0'>\r\n <div className='pl-3'>\r\n <AppLink appLink={interactiveAppLink}>\r\n <h3 className='h6 mb-1 clamp-2'>{props.data.name}</h3>\r\n </AppLink>\r\n\r\n <VideoOwnerText owner={props.data.owner} />\r\n\r\n <AppLink className='info-link' appLink={questionsAppLink}>\r\n <Text namespace={namespace} phrase='previewQuestions' />\r\n </AppLink>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n});\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"cv--item--2An5o\",\"thumbnail\":\"cv--thumbnail--Wvc5s\",\"smallItemIconWidth\":\"cv--smallItemIconWidth--2IdDd\",\"smallItemInfoWidth\":\"cv--smallItemInfoWidth--1Iat7\",\"smallProgressBarContainer\":\"cv--smallProgressBarContainer--17I8T\"};","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\n\r\nexport const PlayerRequests = {\r\n createViewKey(id: string): Flight.Request {\r\n return {\r\n url: `/api/player/create-view-key`,\r\n key: `view:key:${id}`,\r\n type: HttpVerbs.POST,\r\n data: {\r\n mediaId: id.toString()\r\n }\r\n };\r\n }\r\n};","var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nimport { BasePlayer } from './base-player';\nimport { InteractiveMode } from \"../plugins/interactive-plugin/interfaces\";\nimport \"../plugins/interactive-plugin/interactive-plugin\";\nexport class InteractivePlayer extends BasePlayer {\n constructor(id, options) {\n super(id, options);\n this.onCueChange = this.onCueChange.bind(this);\n }\n\n additionalSetup(playbackObject) {\n const _super = Object.create(null, {\n additionalSetup: {\n get: () => super.additionalSetup\n }\n });\n\n return __awaiter(this, void 0, void 0, function* () {\n _super.additionalSetup.call(this, playbackObject);\n\n this.track = this.player.addTextTrack('metadata', 'interactive');\n\n if (this.options.mode === InteractiveMode.Create) {\n this.player.viewInteractivePlugin({\n interactive: {\n id: Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString()\n },\n mode: InteractiveMode.Create,\n track: this.track\n });\n return;\n }\n\n const interactive = playbackObject.additionalData;\n interactive.timepoints.forEach(t => {\n const startTime = t.visibleAt / 1000;\n const endTime = t.visibleFor ? startTime + t.visibleFor / 1000 : startTime + 1;\n this.track.addCue({\n startTime,\n endTime,\n text: t.id\n });\n });\n this.player.viewInteractivePlugin({\n interactive,\n mode: InteractiveMode.View\n });\n if (this.options.onTimepointChange) this.bindCueChange();\n });\n }\n\n bindCueChange() {\n this.track.addEventListener('cuechange', this.onCueChange);\n this.player.on('dispose', () => {\n this.track.removeEventListener('cuechange', this.onCueChange);\n });\n }\n\n onCueChange() {\n const activeCues = this.track.activeCues;\n\n if (!activeCues || !activeCues.length) {\n this.options.onTimepointChange(null);\n return;\n }\n\n this.options.onTimepointChange(activeCues[0].text);\n }\n\n}","import { InteractionTypeId } from \"../../../../../../../libs/shared/src/interfaces\";\nimport { CreateShortAnswer, SubmitShortAnswer, ValidateShortAnswer } from './create-short-answer.ts/create-short-answer';\nconst QuestionLookup = {\n [InteractionTypeId.Annotation]: null,\n [InteractionTypeId.Image]: null,\n [InteractionTypeId.MissingWord]: null,\n [InteractionTypeId.MultipleChoice]: null,\n [InteractionTypeId.ShortAnswer]: CreateShortAnswer\n};\nexport function getCreateComponent(typeId) {\n return QuestionLookup[typeId];\n}\nconst ValidationLookup = {\n [InteractionTypeId.Annotation]: null,\n [InteractionTypeId.Image]: null,\n [InteractionTypeId.MissingWord]: null,\n [InteractionTypeId.MultipleChoice]: null,\n [InteractionTypeId.ShortAnswer]: ValidateShortAnswer,\n [InteractionTypeId.TrueOrFalse]: null\n};\nexport function getCreateValidation(typeId) {\n return ValidationLookup[typeId];\n}\nconst SubmissionLookup = {\n [InteractionTypeId.Annotation]: null,\n [InteractionTypeId.Image]: null,\n [InteractionTypeId.MissingWord]: null,\n [InteractionTypeId.MultipleChoice]: null,\n [InteractionTypeId.ShortAnswer]: SubmitShortAnswer,\n [InteractionTypeId.TrueOrFalse]: null\n};\nexport function getCreateSubmit(typeId) {\n return SubmissionLookup[typeId];\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport './create-short-answer.scss';\nexport function ValidateShortAnswer(state) {\n return !!state.text;\n}\nexport function SubmitShortAnswer(state, interaction) {\n return new Promise(resolve => {\n window.setTimeout(() => {\n interaction.data.text = state.text;\n resolve();\n }, 200);\n });\n}\nexport function CreateShortAnswer(props) {\n const {\n state,\n setState,\n interaction\n } = props;\n\n function onChange(event) {\n setState(Object.assign(Object.assign({}, state), {\n text: event.target.value\n }));\n }\n\n return React.createElement(\"div\", {\n className: 'cv-create-short-answer'\n }, React.createElement(\"h2\", {\n className: 'font-body'\n }, \"Create Short Answer\"), React.createElement(\"textarea\", {\n className: 'form-control',\n rows: 3,\n onChange: onChange,\n value: state.text || interaction.data.text\n }));\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport { InteractionTypeId } from \"../../../../../../../../libs/shared/src/interfaces\";\nimport './create-type-selector.scss';\nconst interactionTypes = [{\n name: 'Annotation',\n type: InteractionTypeId.Annotation\n}, {\n name: 'Image',\n type: InteractionTypeId.Image\n}, {\n name: 'MissingWord',\n type: InteractionTypeId.MissingWord\n}, {\n name: 'MultipleChoice',\n type: InteractionTypeId.MultipleChoice\n}, {\n name: 'ShortAnswer',\n type: InteractionTypeId.ShortAnswer\n}, {\n name: 'TrueOrFalse',\n type: InteractionTypeId.TrueOrFalse\n}];\nexport function CreateTypeSelector(props) {\n const {\n onTypeSelected\n } = props;\n return React.createElement(\"div\", {\n className: 'cv-interactive-type-selector'\n }, interactionTypes.map((interaction, index) => {\n return React.createElement(\"a\", {\n key: index,\n className: 'btn btn-info',\n onClick: () => onTypeSelected(interaction.type)\n }, interaction.name);\n }));\n}","import React from 'react';\nexport function Feedback(props) {\n const {\n correct,\n showFeedback\n } = props;\n if (!showFeedback) return React.createElement(React.Fragment, null);\n return React.createElement(React.Fragment, null, correct ? React.createElement(\"div\", {\n className: 'alert alert-success'\n }, \"Correct\") : React.createElement(\"div\", {\n className: 'alert alert-danger'\n }, \"Incorrect\"));\n}","import React from 'react';\nexport function IncompleteAlert() {\n return React.createElement(\"div\", {\n className: 'alert alert-info mt-3',\n role: 'alert'\n }, \"Psst, you haven't attempted this question yet. You can continue to watch the video and answer the question later if you like.\");\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport SimpleBar from 'simplebar-react';\nimport videojs from 'video.js';\nimport { getReactComponent } from \"../../../../react/react-component\";\nimport { useInteractiveTrack } from \"../../utils/useInteractiveTrack\";\nimport { InteractiveMode } from \"../../interfaces/InteractiveMode\";\nimport { initialTimepointState, TimepointComponent } from \"../timepoint/timepoint-component\";\nimport { getTimepointStateId } from \"../../utils/getTimepointStateId\";\nimport { CreateTypeSelector } from \"../create-components/create-type-selector/create-type-selector\";\nimport './interactive-component.scss';\n\nfunction interactiveReducer(state, action) {\n return Object.assign(Object.assign({}, state), {\n [action.key]: action.value\n });\n}\n\nfunction InteractiveComponent(props) {\n const {\n player,\n track,\n mode,\n interactive\n } = props;\n const [state, dispatch] = React.useReducer(interactiveReducer, {});\n const {\n open,\n timepoint,\n continueInteractive\n } = useInteractiveTrack({\n player,\n track,\n interactive,\n mode\n });\n const ref = React.useRef();\n\n function recalulateScroll() {\n ref.current.recalculate();\n }\n\n function onTypeSelected(typeId) {\n player.pause();\n const currentTime = player.currentTime();\n const timePointId = Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString();\n if (!interactive.timepoints) interactive.timepoints = [];\n interactive.timepoints.push({\n id: timePointId,\n visibleAt: currentTime * 1000,\n interactiveId: interactive.id,\n shouldPause: 1,\n interactions: [{\n id: Math.round(Math.random() * Number.MAX_SAFE_INTEGER).toString(),\n typeId: typeId,\n type: {\n id: typeId,\n name: '',\n colour: '',\n icon: ''\n },\n timepointId: timePointId,\n order: 0,\n interactiveId: interactive.id,\n data: {}\n }]\n });\n track.addCue({\n startTime: currentTime,\n endTime: currentTime + 1,\n text: timePointId\n });\n }\n\n return React.createElement(\"div\", {\n className: 'cv-interactive-container'\n }, React.createElement(\"div\", {\n className: `cv-interactive ${open ? 'cv-open' : ''}`\n }, React.createElement(SimpleBar, {\n style: {\n height: '100%'\n },\n ref: ref\n }, !timepoint && mode === InteractiveMode.Create && React.createElement(CreateTypeSelector, {\n onTypeSelected: onTypeSelected\n }), !!timepoint && React.createElement(TimepointComponent, {\n timepoint: timepoint,\n continueInteractive: continueInteractive,\n immediateFeedback: interactive.immediateFeedback,\n mode: mode,\n state: state,\n dispatch: dispatch,\n recalculateScroll: recalulateScroll,\n timepointState: state[getTimepointStateId(timepoint)] || initialTimepointState\n }))));\n}\n\nvideojs.registerComponent('Interactive', getReactComponent((player, options) => React.createElement(InteractiveComponent, Object.assign({\n player: player\n}, options))));","// extracted by mini-css-extract-plugin","import videojs from 'video.js';\nimport './interactive-bar-item.scss';\nconst Component = videojs.getComponent('Button');\nexport class InteractiveBarItem extends Component {\n constructor(player, options) {\n super(player, options);\n this.timepoint_ = options.timepoint;\n this.time_ = options.timepoint.visibleAt / 1000;\n const firstInteraction = options.timepoint.interactions[0]; // if we have no interaction, hide this timepoint\n\n if (!firstInteraction) this.hide();\n this.setColour(firstInteraction.type.colour); // set the control text to the interaction name for screen readers\n\n this.controlText(firstInteraction.name);\n this.update();\n }\n\n buildCSSClass() {\n return `cv-interactive-bar-item ${super.buildCSSClass()}`;\n }\n\n createEl(tagName, properties, attributes) {\n const el = super.createEl(tagName, Object.assign(Object.assign({}, properties), {\n className: this.buildCSSClass()\n }), attributes);\n return el;\n }\n\n update() {\n const duration = this.player_.duration();\n const width = this.time_ / duration;\n this.el().style.left = width * 100 + '%'; // hide items outside of bounds\n\n if (width > 100 || width < 0) this.hide();else this.show();\n }\n\n handleClick(e) {\n e.stopPropagation();\n this.player_.currentTime(this.time_);\n }\n\n setColour(colour) {\n this.el().querySelector('.vjs-icon-placeholder').style.backgroundColor = '#' + colour;\n }\n\n}","// extracted by mini-css-extract-plugin","import videojs from 'video.js';\nimport { InteractiveBarItem } from './interactive-bar-item';\nimport './interactive-bar-items.scss';\nconst Component = videojs.getComponent('Component');\nexport class InteractiveBarItems extends Component {\n constructor(player, options) {\n super(player, options);\n this.track_ = options.track;\n this.interactive_ = options.interactive;\n this.onDurationChange = this.onDurationChange.bind(this);\n this.createInteractionItems = this.createInteractionItems.bind(this);\n this.createInteractionItems();\n this.player_.on('durationchange', this.onDurationChange);\n this.player_.on('dispose', () => {\n this.player_.off('durationchange', this.onDurationChange);\n });\n }\n\n buildCSSClass() {\n return `cv-interactive-bar-items ${super.buildCSSClass()}`;\n }\n\n createEl(tagName, properties, attributes) {\n return super.createEl(tagName, Object.assign(Object.assign({}, properties), {\n className: this.buildCSSClass()\n }), attributes);\n }\n\n update() {\n this.children_.forEach(child => {\n child.update();\n });\n }\n\n createInteractionItems() {\n if (!this.track_) return; // remove all existing children\n\n this.children_.forEach(child => {\n this.removeChild(child);\n });\n\n for (let i = 0; i < this.track_.cues.length; i++) {\n const cue = this.track_.cues[i];\n const timepoint = this.getTimepointById(cue.text);\n if (!timepoint) continue;\n this.addChild(new InteractiveBarItem(this.player_, {\n timepoint: timepoint\n }));\n }\n }\n\n onDurationChange() {\n this.update();\n }\n\n getTimepointById(id) {\n var _a;\n\n return (_a = this.interactive_.timepoints) === null || _a === void 0 ? void 0 : _a.find(t => t.id === id);\n }\n\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport { IncompleteAlert } from \"../incomplete-alert/incomplete-alert\";\nimport { InteractionTypeId } from \"../../../../../../../libs/shared/src/interfaces\";\nimport { getValidationFunction } from \"../../utils/getValidationFunction\";\nimport { getSubmissionFunction } from \"../../utils/getSubmissionFunction\";\nimport { getInteractionComponent } from \"../../utils/getInteractionComponents\";\nimport { getTimepointStateId } from \"../../utils/getTimepointStateId\";\nimport { getInteractionStateId } from \"../../utils/getInteractionStateId\";\nimport './timepoint-component.scss';\n\nfunction shouldShowFeedback(timepoint) {\n return timepoint.interactions.some(i => {\n return i.typeId === InteractionTypeId.MissingWord || i.typeId === InteractionTypeId.MultipleChoice || i.typeId === InteractionTypeId.TrueOrFalse;\n });\n}\n\nexport const initialTimepointState = {\n isValid: true,\n submitted: false,\n preview: false\n};\nexport function TimepointComponent(props) {\n const {\n timepoint,\n continueInteractive,\n mode,\n state,\n dispatch,\n recalculateScroll,\n timepointState,\n immediateFeedback\n } = props;\n\n function onClickContinue() {\n if (timepointState.submitted) {\n continueInteractive();\n return;\n }\n\n const isValid = !timepoint.interactions.some(i => {\n const validate = getValidationFunction(i.typeId, mode);\n return !validate(state[getInteractionStateId(i)] || {}, i);\n });\n\n if (!isValid) {\n dispatch({\n key: getTimepointStateId(timepoint),\n value: Object.assign(Object.assign({}, timepointState), {\n isValid: false\n })\n });\n return;\n } // TODO: Spinner button + state\n\n\n const promises = timepoint.interactions.map(i => {\n const submit = getSubmissionFunction(i.typeId, mode);\n return submit(state[getInteractionStateId(i)] || {}, i);\n });\n Promise.all(promises).then(() => {\n dispatch({\n key: getTimepointStateId(timepoint),\n value: Object.assign(Object.assign({}, timepointState), {\n submitted: true,\n isValid: true\n })\n });\n if (!immediateFeedback || !shouldShowFeedback(timepoint)) continueInteractive();\n });\n }\n\n return React.createElement(\"div\", {\n className: 'cv-timepoint'\n }, React.createElement(\"div\", null, timepoint.interactions.map((interaction, index) => {\n const Question = getInteractionComponent(interaction.type.id, mode);\n return React.createElement(Question, {\n interaction: interaction,\n state: state[getInteractionStateId(interaction)] || {},\n setState: value => dispatch({\n key: getInteractionStateId(interaction),\n value\n }),\n key: index,\n recalculateScroll: recalculateScroll,\n showFeedback: timepointState.submitted\n });\n }), !timepointState.isValid && React.createElement(IncompleteAlert, null)), React.createElement(\"div\", {\n className: 'cv-timpoint-button-container'\n }, !timepointState.isValid && React.createElement(\"a\", {\n className: 'btn btn-secondary',\n onClick: continueInteractive\n }, \"Come back later\"), React.createElement(\"a\", {\n className: 'btn btn-info ml-2',\n onClick: onClickContinue\n }, \"Save & Continue\")));\n}","import React from 'react';\nimport { ViewInteractionHeading } from \"../view-interaction-heading/view-interaction-heading\";\nexport function AnnotationInteraction(props) {\n const {\n interaction\n } = props;\n return React.createElement(\"div\", {\n className: 'cv-interactive-question'\n }, React.createElement(ViewInteractionHeading, {\n interaction: interaction\n }), React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: props.interaction.data.annotation\n }\n }));\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport { ViewInteractionHeading } from \"../view-interaction-heading/view-interaction-heading\";\nimport './image-interaction.scss';\nexport function ImageInteraction(props) {\n const {\n interaction,\n recalculateScroll\n } = props;\n const ref = React.useCallback(node => {\n if (!node) return;\n\n node.onload = () => {\n recalculateScroll();\n };\n }, []);\n return React.createElement(\"div\", {\n className: 'cv-interactive-question cv-image-interactive'\n }, React.createElement(ViewInteractionHeading, {\n interaction: interaction\n }), React.createElement(\"div\", {\n className: 'cv-image-container'\n }, React.createElement(\"img\", {\n className: 'img-fluid',\n src: interaction.data.url,\n ref: ref\n })));\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { Feedback } from \"../../feedback/feedback\";\nimport { ViewInteractionHeading } from \"../view-interaction-heading/view-interaction-heading\";\nconst PLACEHOLDER = 'cv-missing-word-';\nconst FONT = '17pt arial';\n\nfunction getWordWidth(text) {\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n context.font = FONT;\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction isCorrect(state, interaction) {\n return interaction.actionableItems.every(a => {\n return a.name === state[a.id];\n });\n}\n\nexport function IsViewMissingWordValid(state, interaction) {\n // TODO: This needs factor in if all the words have been filled in\n return Object.keys(state).length === interaction.actionableItems.length;\n}\nexport function SubmitViewMissingWord() {\n return new Promise(resolve => {\n resolve();\n });\n}\nexport function MissingWordInteraction(props) {\n const {\n state,\n setState,\n interaction,\n showFeedback\n } = props;\n const cleanedUp = interaction.data.sentence.replace(/{([^{}]*)}/g, (match, val) => {\n return `{${PLACEHOLDER}${val}}`;\n });\n const items = cleanedUp.split(/{([^{}]*)}/g);\n\n function onChange(a, event) {\n if (!event.target.value) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _a = a.id,\n removed = state[_a],\n newState = __rest(state, [typeof _a === \"symbol\" ? _a : _a + \"\"]);\n\n setState(newState);\n return;\n }\n\n setState(Object.assign(Object.assign({}, state), {\n [a.id]: event.target.value\n }));\n }\n\n return React.createElement(\"div\", {\n className: 'cv-interactive-question'\n }, React.createElement(Feedback, {\n correct: isCorrect(state, interaction),\n showFeedback: showFeedback\n }), React.createElement(ViewInteractionHeading, {\n interaction: interaction\n }), React.createElement(\"form\", null, items.map((item, index) => {\n if (!item.startsWith(PLACEHOLDER)) return item;\n const order = item.replace(PLACEHOLDER, '');\n const actionableItem = interaction.actionableItems.find(a => a.order.toString() === order);\n if (!actionableItem) return;\n const width = getWordWidth(actionableItem.name);\n return React.createElement(\"input\", {\n key: index,\n style: {\n width: width + 'px'\n },\n onChange: e => onChange(actionableItem, e)\n });\n })));\n}","// extracted by mini-css-extract-plugin","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { Feedback } from \"../../feedback/feedback\";\nimport { ViewInteractionHeading } from \"../view-interaction-heading/view-interaction-heading\";\nimport './multiple-choice-interaction.scss';\n\nfunction isCorrect(state, interaction) {\n const correctAnswers = interaction.actionableItems.filter(a => a.isCorrect);\n return correctAnswers.every(a => state[a.id]);\n}\n\nexport function IsViewMultipleChoiceValid(state) {\n return !!Object.keys(state).length;\n}\nexport function SubmitViewMultipleChoice() {\n return new Promise(resolve => {\n resolve();\n });\n}\nexport function MultipleChoiceInteraction(props) {\n const {\n state,\n setState,\n interaction,\n showFeedback\n } = props;\n const radio = interaction.actionableItems.filter(a => a.isCorrect).length === 1;\n\n function onChecked(a, event) {\n if (radio) {\n setState({\n [a.id]: true\n });\n return;\n }\n\n if (!event.target.checked) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _a = a.id,\n removed = state[_a],\n newState = __rest(state, [typeof _a === \"symbol\" ? _a : _a + \"\"]);\n\n setState(newState);\n return;\n }\n\n setState(Object.assign(Object.assign({}, state), {\n [a.id]: true\n }));\n }\n\n return React.createElement(\"div\", {\n className: 'cv-interactive-question'\n }, React.createElement(Feedback, {\n correct: isCorrect(state, interaction),\n showFeedback: showFeedback\n }), React.createElement(ViewInteractionHeading, {\n interaction: interaction\n }), React.createElement(\"form\", {\n className: 'cv-multiple-choice-form'\n }, React.createElement(\"table\", {\n className: 'table-bordered w-100'\n }, React.createElement(\"tbody\", {\n className: 'table-bordered w-100'\n }, interaction.actionableItems.map((a, index) => {\n const answer = state[a.id];\n return React.createElement(\"tr\", {\n key: index\n }, React.createElement(\"td\", {\n className: 'cv-multiple-choice-input-container'\n }, React.createElement(\"div\", {\n className: `custom-control ${radio ? 'custom-radio' : 'custom-checkbox'}`\n }, React.createElement(\"input\", {\n id: a.id,\n type: radio ? 'radio' : 'checkbox',\n className: 'custom-control-input',\n name: 'multiple-choice',\n checked: !!answer,\n onChange: e => onChecked(a, e),\n disabled: showFeedback\n }), React.createElement(\"label\", {\n htmlFor: a.id,\n className: 'custom-control-label'\n }))), React.createElement(\"td\", {\n className: 'cv-multiple-choice-label-container w-100'\n }, React.createElement(\"label\", {\n htmlFor: a.id\n }, a.name)));\n })))));\n}","import React from 'react';\nimport TextareaAutosize from 'react-textarea-autosize';\nimport { ViewInteractionHeading } from \"../view-interaction-heading/view-interaction-heading\";\nexport function IsViewShortAnswerValid(state) {\n return !!state.text;\n}\nexport function SubmitViewShortAnswer() {\n return new Promise(resolve => {\n // TODO: Submit response\n resolve();\n });\n}\nexport function ShortAnswerInteraction(props) {\n const {\n interaction,\n state,\n setState\n } = props;\n\n function onChange(event) {\n setState(Object.assign(Object.assign({}, state), {\n text: event.target.value\n }));\n }\n\n return React.createElement(\"div\", {\n className: 'cv-interactive-question'\n }, React.createElement(ViewInteractionHeading, {\n interaction: interaction\n }), React.createElement(TextareaAutosize, {\n translate: true,\n className: 'form-control',\n minRows: 3,\n value: state.text || '',\n onChange: onChange\n }));\n}","import { InteractionTypeId } from \"../../../../../../../libs/shared/src/interfaces\";\nimport { AnnotationInteraction } from \"./annotation/annotation-interaction\";\nimport { ImageInteraction } from \"./image/image-interaction\";\nimport { IsViewMissingWordValid, MissingWordInteraction, SubmitViewMissingWord } from \"./missing-word/missing-word-interaction\";\nimport { IsViewMultipleChoiceValid, MultipleChoiceInteraction, SubmitViewMultipleChoice } from \"./multiple-choice/multiple-choice-interaction\";\nimport { IsViewShortAnswerValid, ShortAnswerInteraction, SubmitViewShortAnswer } from \"./short-answer/short-answer-interaction\";\nconst QuestionLookup = {\n [InteractionTypeId.Annotation]: AnnotationInteraction,\n [InteractionTypeId.Image]: ImageInteraction,\n [InteractionTypeId.MissingWord]: MissingWordInteraction,\n [InteractionTypeId.MultipleChoice]: MultipleChoiceInteraction,\n [InteractionTypeId.ShortAnswer]: ShortAnswerInteraction,\n [InteractionTypeId.TrueOrFalse]: MultipleChoiceInteraction\n};\nexport function getViewComponent(typeId) {\n return QuestionLookup[typeId];\n}\n\nfunction noValidation() {\n return true;\n}\n\nconst ValidationLookup = {\n [InteractionTypeId.Annotation]: noValidation,\n [InteractionTypeId.Image]: noValidation,\n [InteractionTypeId.MissingWord]: IsViewMissingWordValid,\n [InteractionTypeId.MultipleChoice]: IsViewMultipleChoiceValid,\n [InteractionTypeId.ShortAnswer]: IsViewShortAnswerValid,\n [InteractionTypeId.TrueOrFalse]: IsViewMultipleChoiceValid\n};\nexport function getViewValidation(typeId) {\n return ValidationLookup[typeId];\n}\n\nfunction noSubmission() {\n return Promise.resolve();\n}\n\nconst SubmissionLookup = {\n [InteractionTypeId.Annotation]: noSubmission,\n [InteractionTypeId.Image]: noSubmission,\n [InteractionTypeId.MissingWord]: SubmitViewMissingWord,\n [InteractionTypeId.MultipleChoice]: SubmitViewMultipleChoice,\n [InteractionTypeId.ShortAnswer]: SubmitViewShortAnswer,\n [InteractionTypeId.TrueOrFalse]: SubmitViewMultipleChoice\n};\nexport function getViewSubmit(typeId) {\n return SubmissionLookup[typeId];\n}","// extracted by mini-css-extract-plugin","import React from 'react';\nimport './view-interaction-heading.scss';\nexport function ViewInteractionHeading(props) {\n const {\n interaction\n } = props;\n return React.createElement(\"div\", {\n className: 'cv-interaction-heading mb-3'\n }, React.createElement(\"span\", {\n className: 'cv-iteraction-icon',\n style: {\n backgroundImage: `url(https:${interaction.type.icon})`,\n backgroundColor: `#${interaction.type.colour}`\n }\n }), React.createElement(\"h2\", {\n className: 'cv-interaction-title h5'\n }, interaction.name));\n}","import { TrackHelper } from \"../../utils/track-helper\";\nimport videojs from 'video.js';\nimport \"./components/interactive/interactive-component\";\nimport { InteractiveBarItems } from './components/seek-bar/interactive-bar-items';\nconst Plugin = videojs.getPlugin('plugin');\n\nclass InteractivePlugin extends Plugin {\n constructor(player, options) {\n super(player);\n this.options = options;\n player.ready(() => this.initialize());\n }\n\n initialize() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n TrackHelper.useTrack(this.player, 'metadata', 'interactive', this.onTrackLoaded.bind(this));\n }\n\n onTrackLoaded(track) {\n this.player.addChild('Interactive', {\n track,\n interactive: this.options.interactive,\n mode: this.options.mode\n }); // 🌶 inject the interative bar items into the seek bar\n\n const seekBar = this.player.controlBar.getChild('progressControl').getChild('SeekBar');\n seekBar.addChild(new InteractiveBarItems(this.player, {\n interactive: this.options.interactive,\n track: track\n }));\n }\n\n}\n\nvideojs.registerPlugin('viewInteractivePlugin', InteractivePlugin);","export var InteractiveMode;\n\n(function (InteractiveMode) {\n InteractiveMode[InteractiveMode[\"View\"] = 0] = \"View\";\n InteractiveMode[InteractiveMode[\"Create\"] = 1] = \"Create\";\n})(InteractiveMode || (InteractiveMode = {}));","export * from './InteractiveMode';","import { getCreateComponent } from \"../components/create-components/create-components\";\nimport { getViewComponent } from \"../components/view-components/view-components\";\nimport { InteractiveMode } from \"../interfaces\";\nexport function getInteractionComponent(typeId, mode) {\n if (mode === InteractiveMode.Create) return getCreateComponent(typeId);\n if (mode === InteractiveMode.View) return getViewComponent(typeId);\n throw new Error(`Cannot find components for the mode ${mode}`);\n}","export function getInteractionStateId(interaction) {\n return `i${interaction.id}`;\n}","import { getCreateSubmit } from \"../components/create-components/create-components\";\nimport { getViewSubmit } from \"../components/view-components/view-components\";\nimport { InteractiveMode } from \"../interfaces\";\nexport function getSubmissionFunction(typeId, mode) {\n if (mode === InteractiveMode.Create) return getCreateSubmit(typeId);\n if (mode === InteractiveMode.View) return getViewSubmit(typeId);\n throw new Error(`Cannot find validation functions for the mode ${mode}`);\n}","export function getTimepointStateId(timepoint) {\n return `t${timepoint.id}`;\n}","import { getCreateValidation } from \"../components/create-components/create-components\";\nimport { getViewValidation } from \"../components/view-components/view-components\";\nimport { InteractiveMode } from \"../interfaces\";\nexport function getValidationFunction(typeId, mode) {\n if (mode === InteractiveMode.Create) return getCreateValidation(typeId);\n if (mode === InteractiveMode.View) return getViewValidation(typeId);\n throw new Error(`Cannot find validation functions for the mode ${mode}`);\n}","import React from 'react';\nimport { InteractiveMode } from \"../interfaces\";\nexport function useInteractiveTrack(options) {\n const {\n player,\n track,\n interactive,\n mode\n } = options;\n const [open, setOpen] = React.useState(mode === InteractiveMode.Create);\n const [timepoint, setTimepoint] = React.useState(null);\n\n function onCueChange() {\n const activeCues = track.activeCues;\n\n if (!activeCues.length) {\n if (mode !== InteractiveMode.Create) setOpen(false);\n setTimepoint(null);\n return;\n }\n\n const currentTimepoint = interactive.timepoints.find(t => {\n return t.id.toString() === activeCues[0].text.toString();\n });\n\n if (currentTimepoint.shouldPause) {\n if (!player.seeking()) {\n player.pause();\n } else {\n player.one('play', () => player.pause());\n }\n }\n\n setOpen(true);\n setTimepoint(currentTimepoint);\n }\n\n function continueInteractive() {\n if (mode !== InteractiveMode.Create) setOpen(false);\n player.play();\n }\n\n function lockPlayer() {// TODO: Find a way to prevent the user from seeking or playing the video\n }\n\n function unlockPlayer() {// TODO: Find a way to undo the above\n }\n\n React.useEffect(() => {\n track.addEventListener('cuechange', onCueChange);\n return () => track.removeEventListener('cuechange', onCueChange);\n });\n return {\n open,\n timepoint,\n continueInteractive,\n lockPlayer,\n unlockPlayer\n };\n}","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { InteractivePlayer } from \"../players/interactive-player\";\nexport function ClickViewInteractivePlayer(props) {\n const {\n onReady\n } = props,\n options = __rest(props, [\"onReady\"]);\n\n const ref = React.useRef();\n React.useEffect(() => {\n const player = new InteractivePlayer(ref.current, options);\n\n if (onReady) {\n player.ready(() => {\n onReady(player);\n });\n }\n }, []);\n return React.createElement(\"div\", {\n ref: ref\n });\n}","import React from 'react';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\n\r\nimport { Interactive, Timepoint, Interaction, InteractionTypeId } from 'libs/shared/interfaces';\r\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\nimport { MINIMUM_GLANCE_HEIGHT } from 'shared/constants/MinimumGlanceHeight';\r\n\r\nimport { formatAnnotationText } from './formatAnnotationText';\r\nimport styles from './interactive-questions.scss';\r\n\r\ninterface InteractionComponentProps {\r\n interaction: Interaction;\r\n visibleAt: number;\r\n goToTimepoint: (visibleAt: number) => void;\r\n selected: boolean;\r\n}\r\n\r\nfunction InteractionComponent(props: InteractionComponentProps): React.ReactElement {\r\n const { interaction, visibleAt, goToTimepoint, selected } = props;\r\n\r\n function onClick(): void {\r\n goToTimepoint && goToTimepoint(visibleAt);\r\n }\r\n\r\n /**\r\n * Don't have a cursor if there is no callback function.\r\n * i.e. when rendered in a popup\r\n */\r\n const cursor = goToTimepoint ? 'cursor-pointer' : 'cursor-default';\r\n\r\n return (\r\n <DivButton className={`py-2 outline-none ${cursor}`} onClick={onClick}>\r\n <span className={`${styles.time} ${selected ? 'font-weight-bold' : ''}`}>{DurationHelper.ToDisplayDuration(visibleAt)}</span>\r\n <span\r\n className={styles.typeIcon}\r\n style={{\r\n backgroundImage: `url(${interaction.type.icon})`,\r\n backgroundColor: `#${interaction.type.colour}`\r\n }}\r\n ></span>\r\n <span className={styles.type}><strong>{interaction.type.name}</strong></span>\r\n <span className={`${styles.question} ${selected ? 'font-weight-bold' : ''}`}>\r\n {interaction.typeId === InteractionTypeId.Annotation\r\n ? formatAnnotationText(interaction.data.annotation)\r\n : interaction.name}\r\n </span>\r\n </DivButton>\r\n );\r\n}\r\n\r\ninterface TimepointComponentProps {\r\n timepoint: Timepoint;\r\n goToTimepoint: (visibleAt: number) => void;\r\n selectedTimepointId: string;\r\n scrollTo: (offset: number, height: number) => void;\r\n}\r\n\r\nfunction TimepointComponent(props: TimepointComponentProps): React.ReactElement {\r\n const {\r\n timepoint,\r\n selectedTimepointId,\r\n goToTimepoint,\r\n scrollTo\r\n } = props;\r\n\r\n const ref = React.useRef<HTMLDivElement>();\r\n\r\n const selected = selectedTimepointId && selectedTimepointId.toString() === timepoint.id.toString();\r\n\r\n React.useEffect(() => {\r\n if(!selected)\r\n return;\r\n\r\n if (!ref.current)\r\n return;\r\n\r\n const el = ref.current;\r\n const rect = el.getBoundingClientRect();\r\n const offset = rect.top - el.offsetParent.getBoundingClientRect().top;\r\n\r\n scrollTo(offset, rect.height);\r\n }, [selected]);\r\n\r\n return (\r\n <div ref={ref}>\r\n {timepoint.interactions.map((interaction, i) =>\r\n <InteractionComponent\r\n interaction={interaction}\r\n visibleAt={timepoint.visibleAt}\r\n goToTimepoint={goToTimepoint}\r\n selected={selected}\r\n key={i}\r\n />)\r\n }\r\n </div>\r\n );\r\n}\r\n\r\ninterface InteractiveQuestionProps {\r\n interactive: Interactive;\r\n goToTimepoint?: (visibleAt: number) => void;\r\n selectedTimepointId?: string;\r\n}\r\n\r\nexport function InteractiveQuestions(props: InteractiveQuestionProps): React.ReactElement {\r\n const { interactive, goToTimepoint, selectedTimepointId } = props;\r\n\r\n const ref = React.useRef<Scrollbars>();\r\n\r\n function scrollTo(offset: number, elHeight: number): void {\r\n if (!ref.current)\r\n return;\r\n\r\n const height = ref.current.getClientHeight();\r\n const scroll = ref.current.getScrollTop();\r\n const elementFromTop = offset + scroll;\r\n\r\n /**\r\n * Element is above scroll window if it's distance from the top\r\n * is less than the scroll\r\n */\r\n const isAboveScrollWindow = elementFromTop < scroll;\r\n\r\n /**\r\n * Element is beneath scroll window if it's distance from the top\r\n * plus it's height is greater than the scroll plus the window height\r\n */\r\n const isBelowScrollWindow = (elementFromTop + elHeight) > (scroll + height);\r\n\r\n /**\r\n * So we don't scroll if our element is visible\r\n */\r\n if (!isAboveScrollWindow && !isBelowScrollWindow)\r\n return;\r\n\r\n /**\r\n * If our element isn't visible, we want to try scroll so the element is\r\n * centered in our viewport\r\n */\r\n ref.current.scrollTop(elementFromTop - (height/2) + (elHeight/2));\r\n }\r\n\r\n const borderClass = goToTimepoint ? 'border rounded' : '';\r\n\r\n return (\r\n <Scrollbars\r\n autoHeight\r\n autoHeightMax={MINIMUM_GLANCE_HEIGHT}\r\n className={borderClass}\r\n hideTracksWhenNotNeeded={true}\r\n ref={ref}\r\n >\r\n <div className='px-3 py-1'>\r\n {interactive.timepoints.map((t, i) =>\r\n <TimepointComponent\r\n key={i}\r\n timepoint={t}\r\n goToTimepoint={goToTimepoint}\r\n selectedTimepointId={selectedTimepointId}\r\n scrollTo={scrollTo}\r\n />)\r\n }\r\n </div>\r\n </Scrollbars>\r\n );\r\n}\r\n","function replacePTags(text: string): string {\r\n if (!text) return;\r\n return text.replace(/<p>/g, '').replace(/<\\/p>/g, '<br>');\r\n}\r\n\r\nfunction stripTags(text: string, items: string[]): string {\r\n if (!text || !items) return;\r\n items.forEach(item => {\r\n text = text.replace('<' + item + '>', '').replace('</' + item + '>', '');\r\n });\r\n return text;\r\n}\r\n\r\nexport function formatAnnotationText(text: string): string {\r\n if(!text) return;\r\n text = stripTags(text, [ 'b', 'i', 'u', 'ul', 'li', 'old' ]);\r\n text = replacePTags(text);\r\n return text.split('<br>')[0] || 'Annotation';\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"time\":\"cv--time--30ibe\",\"typeIcon\":\"cv--typeIcon--UMnFt\",\"type\":\"cv--type--3uwxz\",\"question\":\"cv--question--1FwXi\"};","// 368 is the min height of Video at a glance which is defined as $glanceHeight in synopsis.scss\r\nexport const MINIMUM_GLANCE_HEIGHT = 368; // px","import { Flight } from 'libs/common/flight';\r\n\r\nexport const InteractiveRequests = {\r\n interactiveMetadata(id: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/objects/${id}?query=video`,\r\n key: `interactivemetadata:${id}`\r\n };\r\n },\r\n interactive(id: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v1/interactives/${id}`,\r\n key: `interactive:${id}`\r\n };\r\n }\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Core } from 'libs/common/core';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { useSetPageTitle } from 'libs/common/react/hooks/UseSetPageTitle';\r\n\r\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\r\nimport { Config, InteractiveMetadata, PlayerViewKey, Interactive, Video } from 'libs/shared/interfaces';\r\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { InteractiveWidgetItem, InteractiveWidgetItemProps } from 'libs/shared/components/widgets/items/interactive-widget-item/InteractiveWidgetItem';\r\nimport { FixedWidget } from 'libs/shared/components/widgets/fixed-widget';\r\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\n\r\nimport { ClickViewInteractivePlayer } from 'projects/player/react/InteractivePlayer';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { InteractiveQuestions } from 'shared/components/interactive-questions/InteractiveQuestions';\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { InteractiveRequests } from 'shared/flight-requests/InteractiveRequests';\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\n\r\nimport { InteractivePlayer } from 'projects/player/players/interactive-player';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\n\r\nconst namespace = 'shared.previewInteractive';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface PreviewInteractiveProps {\r\n id: string;\r\n}\r\n\r\nexport function PreviewInteractiveView(props: PreviewInteractiveProps): React.ReactElement {\r\n\r\n const [ timepointId, setTimepointId ] = React.useState<string>(null);\r\n const playerRef = React.useRef<InteractivePlayer>();\r\n\r\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\r\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\r\n InteractiveRequests.interactiveMetadata(props.id));\r\n\r\n const video = Flight.useBasicFetch<Video>(interactiveMetadata.data ?\r\n VideoRequests.video(interactiveMetadata.data.video.id) : null);\r\n\r\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(interactiveMetadata.data ?\r\n PlayerRequests.createViewKey(interactiveMetadata.data.id) : null);\r\n\r\n const interactive = Flight.useBasicFetch<Interactive>(interactiveMetadata.data ?\r\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId) : null);\r\n\r\n useSetPageTitle(interactiveMetadata.data?.name);\r\n\r\n function goToTimepoint(visibleAt: number): void {\r\n if (!playerRef.current)\r\n return;\r\n\r\n playerRef.current.currentTime(visibleAt / 1000);\r\n }\r\n\r\n function onTimepointChange(id: string): void {\r\n setTimepointId(id);\r\n }\r\n\r\n function onReady(player: InteractivePlayer): void {\r\n playerRef.current = player;\r\n }\r\n\r\n if(!viewKey.data || !config.data || !interactiveMetadata.data || !interactive.data || !video.data)\r\n return <></>;\r\n\r\n const otherInteractives = video.data.interactives?.data?.filter(i => i.id.toString() !== props.id.toString());\r\n\r\n const videoAppLink: Core.AppLink = {\r\n application: AppChannels.DEFAULT,\r\n action: Actions.Default.PLAY_VIDEO,\r\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\r\n };\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <div className='mb-3'>\r\n <ClickViewInteractivePlayer\r\n viewKey={viewKey.data.viewKey}\r\n playerApi={new URL(config.data.playerApiUrl)}\r\n hotkeyElQuerySelector='body'\r\n autoplay\r\n onTimepointChange={onTimepointChange}\r\n onReady={onReady}\r\n />\r\n </div>\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <div>\r\n <h1 className='h3 d-inline-block m-0'>\r\n {interactiveMetadata.data.name}\r\n </h1>\r\n <div><Text phrase='backTo' />: <AppLink appLink={videoAppLink} className='text-info'>{interactiveMetadata.data.video.name}</AppLink></div>\r\n </div>\r\n </div>\r\n {interactiveMetadata.data.description &&\r\n <p>{interactiveMetadata.data.description}</p>\r\n }\r\n <h2 className='h4'><Text phrase='interactiveQuestions' /></h2>\r\n <InteractiveQuestions\r\n interactive={interactive.data}\r\n selectedTimepointId={timepointId}\r\n goToTimepoint={goToTimepoint}\r\n />\r\n {!!otherInteractives?.length && (\r\n <div className='my-3'>\r\n <FixedWidget\r\n name={getPhrase('otherInteractives', { count: otherInteractives.length })}\r\n contents={WidgetContents.Interactives}\r\n collection={otherInteractives}\r\n prefetched\r\n childAppLink={{\r\n application: AppChannels.DEFAULT,\r\n action: Actions.Default.PREVIEW_INTERACTIVE\r\n }}\r\n childComponent={(itemProps: InteractiveWidgetItemProps) => (\r\n <InteractiveWidgetItem\r\n video={video.data}\r\n questionsAppLink={{\r\n application: AppChannels.DEFAULT,\r\n action: Actions.Default.PREVIEW_QUESTIONS\r\n }}\r\n {...itemProps}\r\n />)}\r\n analyticsData={{ widgetId: 'interactives' }}\r\n />\r\n </div>\r\n )}\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}\r\n"],"sourceRoot":""}