@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/widgets/fixed-widget/FixedWidget.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetReducer.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/FixedWidgetUtils.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/PartialFixedWidget.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/fixed-widget/fixed-widget.scss?df22","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/widget-button/WidgetButton.tsx","webpack://@clickview/lite/C:/ClickView/front-end/clickview/packages/libs/shared/src/components/widgets/widget-button/widget-button.scss?8d03","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/CssMeasurement.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/WidgetContents.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/enums/WidgetInteraction.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseHover.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/DragHelper.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/WidgetHelper.ts"],"names":[],"mappings":"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","file":"scripts/6.chunk.js","sourcesContent":["import * as React from 'react';\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 { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\r\nimport { SlidingListContainer } from 'libs/shared/components/widgets/sliding-list/SlidingListContainer';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\nimport { useHover } from 'libs/shared/hooks/UseHover';\r\nimport { WidgetType, WidgetContext } from 'libs/shared/interfaces';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { useLazyLoad } from 'libs/shared/hooks/UseLazyLoad';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { WidgetHelper } from 'libs/shared/utils/WidgetHelper';\r\nimport { ImageSize } from 'libs/shared/enums/Images';\r\n\r\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nimport { PartialFixedWidget } from './PartialFixedWidget';\r\nimport { useFetchData, formatData, getCollectionAppLink, getShouldPreload, getOnTouchStart, getOnTouchEnd } from './FixedWidgetUtils';\r\nimport { FixedWidgetReducer, initialWidgetState, lazyWidgetInit } from './FixedWidgetReducer';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nconst namespace = 'shared.fixedWidget';\r\n\r\ninterface BaseFixedWidgetProps {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n\r\n type: WidgetType;\r\n contents: WidgetContents;\r\n thumbnailSize?: ImageSize;\r\n paddingSize?: '3' | '4';\r\n minimumItemCount?: number;\r\n setData?: (data: any) => any;\r\n\r\n childComponent: React.ElementType;\r\n childAppLink?: Core.AppLink;\r\n appLink?: Core.AppLink;\r\n settingsAppLink?: Core.AppLink;\r\n\r\n analyticsData?: HashObject;\r\n analyticsOptions?: AnalyticsOptions;\r\n}\r\n\r\ntype FixedWidgetWithFetchProps = BaseFixedWidgetProps & {\r\n lazyLoad: true;\r\n collection?: never;\r\n fetch: (...args: any) => Flight.Response<any>;\r\n prefetched?: false;\r\n};\r\n\r\ntype FixedWidgetWithCollectionProps = BaseFixedWidgetProps & {\r\n collection: any;\r\n lazyLoad?: false;\r\n fetch?: never;\r\n prefetched: true;\r\n};\r\n\r\nexport type FixedWidgetProps = FixedWidgetWithCollectionProps | FixedWidgetWithFetchProps;\r\n\r\nFixedWidget.defaultProps = {\r\n type: WidgetType.Row,\r\n minimumItemCount: 0,\r\n paddingSize: '3'\r\n};\r\n\r\nfunction FixedWidget(props: FixedWidgetProps): JSX.Element {\r\n let { type: widgetType } = props;\r\n const { analyticsData = {} } = props;\r\n\r\n // Map deprecated resources tile widget type to row type\r\n if (widgetType === WidgetType.ResourcesTile)\r\n widgetType = WidgetType.Row;\r\n\r\n const [ initialTouchX, setInitialTouchX ] = React.useState(null);\r\n const [ containerWidth, setContainerWidth ] = React.useState(null);\r\n const [ percentageDragged, setPercentageDragged ] = React.useState(0);\r\n\r\n const [ state, dispatch ] = React.useReducer(FixedWidgetReducer, initialWidgetState, lazyWidgetInit);\r\n\r\n const containerRef = React.useRef(null);\r\n const [ buttonsRef, isHovering ] = useHover<HTMLDivElement>();\r\n\r\n const [ isHoveringOnFarLeft, setIsHoveringOnFarLeft ] = React.useState(false);\r\n const [ isHoveringOnFarRight, setIsHoveringOnFarRight ] = React.useState(false);\r\n\r\n const { ref, inView: shouldFetch } = useLazyLoad(!props.lazyLoad);\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n React.useEffect(() => {\r\n dispatch({\r\n type: WidgetInteraction.Resize,\r\n payload: {\r\n mediaQuery,\r\n type: widgetType,\r\n contents: props.contents,\r\n collection: state.collection\r\n }\r\n });\r\n }, [mediaQuery]);\r\n\r\n React.useEffect(() => {\r\n if (!props.prefetched)\r\n return;\r\n\r\n // If the collection changes, re-initialize the widget state.\r\n dispatch({\r\n type: WidgetInteraction.Init,\r\n payload: {\r\n mediaQuery,\r\n type: widgetType,\r\n contents: props.contents,\r\n collection: props.collection\r\n }\r\n });\r\n }, [ props.collection?.length, props.prefetched ]);\r\n\r\n const response = useFetchData(props, dispatch, mediaQuery, shouldFetch);\r\n\r\n function onSetIsHovering(hovering: boolean, index: number): void {\r\n if (state.collection.length === state.viewableItems) {\r\n setIsHoveringOnFarLeft(hovering);\r\n setIsHoveringOnFarRight(hovering);\r\n return;\r\n }\r\n\r\n // This callback will hide the far left button if the user is hovering on the far left widget item.\r\n // Same goes for the far right button & widget item.\r\n if (index + 1 === state.collection.length) {\r\n setIsHoveringOnFarRight(hovering);\r\n return;\r\n }\r\n\r\n if (index === 0) {\r\n setIsHoveringOnFarLeft(hovering);\r\n return;\r\n }\r\n\r\n if ((index + 1 - (state.offset % state.viewableItems)) % state.viewableItems === 0) {\r\n setIsHoveringOnFarRight(hovering);\r\n return;\r\n }\r\n\r\n if ((index - (state.offset % state.viewableItems)) % state.viewableItems === 0) {\r\n setIsHoveringOnFarLeft(hovering);\r\n return;\r\n }\r\n }\r\n\r\n const widgetContext: WidgetContext = {\r\n type: state.type,\r\n size: state.currentSize,\r\n collectionSize: state.collection.length,\r\n contents: props.contents\r\n };\r\n\r\n const data = formatData(props, response?.data || props.collection);\r\n\r\n if (response?.hasError)\r\n return <></>;\r\n\r\n if (!props.prefetched && !response?.statusCode) {\r\n return (\r\n <div ref={ref}>\r\n <PartialFixedWidget />\r\n </div>\r\n );\r\n }\r\n\r\n if (!state.collection.length || state.collection.length < props.minimumItemCount)\r\n return <></>;\r\n\r\n const WidgetItemComponent = props.childComponent;\r\n\r\n const getSliderAnalyticsData = (type: WidgetInteraction) => ({\r\n id: data?.id,\r\n name: data?.name,\r\n direction: type === WidgetInteraction.Next ? 'right' : 'left',\r\n ...props.analyticsData\r\n });\r\n\r\n\r\n return (\r\n <div className={`pb-3 px-${props.paddingSize} mx-n${props.paddingSize} overflow-hidden-x ie-scrollbar-fix`}>\r\n <div className='mb-1'>\r\n <AppLink\r\n appLink={getCollectionAppLink(props.appLink, data)}\r\n analyticsData={{ id: data?.id, name: data?.name, ...props.analyticsData }}\r\n analyticsOptions={WidgetHelper.getSliderHeadingAnalyticsOptions()}>\r\n <h2 className={`${styles.heading} ${ props.appLink ? styles.link : ''} h4 mb-0 d-inline-block align-top pl-1`}>\r\n {data.name}\r\n {!!props.appLink && (\r\n <SvgContainer svgName={cvSvgLibrary.ChevronRight} size={SvgContainerSize.Small} />\r\n )}\r\n </h2>\r\n {props.settingsAppLink &&\r\n <AppLink appLink={props.settingsAppLink}>\r\n <SvgContainer\r\n svgName={cvSvgLibrary.Cog}\r\n className='d-inline-block svg-container cursor-pointer'\r\n title={LanguageService.getPhrase(namespace, 'preferencesTooltip')}\r\n tooltipPlacement='right'\r\n />\r\n </AppLink>\r\n }\r\n </AppLink>\r\n\r\n {data.description &&\r\n <p className='text-truncate pl-1 mb-0 description'>{data.description}</p>\r\n }\r\n </div>\r\n\r\n <div ref={buttonsRef} className='position-relative'>\r\n {!isHoveringOnFarLeft && <div className={styles.leftOverflowGradient} />}\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Left}\r\n onClick={() => {\r\n dispatch({ type: WidgetInteraction.Previous });\r\n AnalyticsHelper.logUserAction(\r\n getSliderAnalyticsData(WidgetInteraction.Previous),\r\n WidgetHelper.getSliderAnalyticsOptions());\r\n }}\r\n hide={isHoveringOnFarLeft || (\r\n state.offset <= state.collection.length && !(isHovering && state.offset !== state.viewableItems)\r\n )}\r\n contents={props.contents}\r\n />\r\n\r\n <SlidingListContainer\r\n position={state.position}\r\n positionType={CssMeasurement.Percentage}\r\n onTouchMove={getOnTouchStart(\r\n state,\r\n containerRef,\r\n containerWidth,\r\n setContainerWidth,\r\n initialTouchX,\r\n setInitialTouchX,\r\n setPercentageDragged\r\n )}\r\n onTouchEnd={getOnTouchEnd(\r\n containerRef,\r\n setInitialTouchX,\r\n percentageDragged,\r\n setPercentageDragged,\r\n dispatch\r\n )}\r\n ref={containerRef}\r\n percentageDragged={percentageDragged}\r\n >\r\n {state.collection.map((widgetItem, index) => {\r\n return (\r\n <WidgetItemComponent\r\n key={widgetItem.id}\r\n data={widgetItem}\r\n appLink={props.childAppLink}\r\n context={widgetContext}\r\n preloadImage={getShouldPreload(state)(widgetItem)}\r\n thumbnailSize={props.thumbnailSize || ImageSize.Medium}\r\n analyticsData={{\r\n widgetId: data.id,\r\n widgetName: data.name,\r\n itemIndex: index,\r\n ...analyticsData\r\n }}\r\n analyticsOptions={{ ...props?.analyticsOptions, ...WidgetHelper.getSliderItemAnalyticsOptions() }}\r\n onHover={(hovering: boolean) => {\r\n /**\r\n * For some reason this needs to be called after a set timeout, otherwise\r\n * the `useHover` listener on the `buttonsRef` element will not detect it's hover\r\n * event. A delay of 200ms is used for when `hovering` is false so that the effects of\r\n * setting `isHoveringOnFarX` aren't applied until the CSS transform transition has\r\n * completed.\r\n */\r\n window.setTimeout(() => {\r\n onSetIsHovering(hovering, index);\r\n }, hovering ? 0 : 200);\r\n }}\r\n />\r\n );\r\n })}\r\n </SlidingListContainer>\r\n\r\n <WidgetButton\r\n direction={WidgetButtonDirection.Right}\r\n onClick={() => {\r\n dispatch({ type: WidgetInteraction.Next });\r\n AnalyticsHelper.logUserAction(\r\n getSliderAnalyticsData(WidgetInteraction.Next),\r\n WidgetHelper.getSliderAnalyticsOptions());\r\n }}\r\n hide={\r\n isHoveringOnFarRight || (\r\n (state.offset > state.viewableItems || state.offset === state.collection.length) &&\r\n !(isHovering && state.offset < state.collection.length)\r\n )\r\n }\r\n contents={props.contents}\r\n />\r\n {!isHoveringOnFarRight && <div className={styles.rightOverflowGradient} />}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nconst Memoized = React.memo(FixedWidget);\r\n\r\nexport { Memoized as FixedWidget };","import { ReducerActions } from 'libs/common/react/interfaces';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { getComputeFunction } from './FixedWidgetUtils';\r\n\r\nexport interface FixedWidgetPayload {\r\n mediaQuery?: MediaQueryStrings;\r\n contents?: WidgetContents;\r\n type?: WidgetType;\r\n collection?: any[];\r\n}\r\n\r\nexport interface FixedWidgetState {\r\n // Current position within the widget collection\r\n offset: number;\r\n // Number of items viewable in slider for the current breakpoint/viewport size\r\n viewableItems: number;\r\n // Relative position of slider in the window. Used for an inline translate3d().\r\n position: number;\r\n // Collection of widget items\r\n collection: any[];\r\n // String representation of the current media query\r\n currentSize: MediaQueryStrings;\r\n // Type of widget being managed. May change on `Resize`.\r\n type: WidgetType;\r\n}\r\n\r\nexport const initialWidgetState: FixedWidgetState = {\r\n offset: 0,\r\n viewableItems: 4,\r\n position: 0,\r\n collection: [],\r\n currentSize: MediaQueryStrings.LG,\r\n type: WidgetType.Row\r\n};\r\n\r\nconst computeNextPosition = (prevState: FixedWidgetState) => {\r\n const { collection, viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = collection.length - offset;\r\n\r\n /**\r\n * If the remaining items are evening divisible by the items in view, or,\r\n * we have more items that can be displayed in the view, move the slider a full 100%.\r\n */\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position - 100,\r\n offset: offset + viewableItems\r\n };\r\n\r\n /**\r\n * Where there are less items than we can show in a full slide, \r\n * calculate the % movement required to only show those items.\r\n */\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position - (remainingCount / viewableItems * 100),\r\n offset: offset + remainingCount\r\n };\r\n\r\n /**\r\n * Default back to the current state as a fallback\r\n */\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nconst computePreviousPosition = (prevState: FixedWidgetState) => {\r\n const { viewableItems, offset, position } = prevState;\r\n\r\n const remainingCount = offset - viewableItems;\r\n\r\n if (remainingCount % viewableItems === 0 || remainingCount > viewableItems)\r\n return {\r\n position: position + 100,\r\n offset: offset - viewableItems\r\n };\r\n\r\n if (remainingCount < viewableItems)\r\n return {\r\n position: position + (remainingCount / viewableItems * 100),\r\n offset: offset - remainingCount\r\n };\r\n\r\n return {\r\n position: position,\r\n offset: offset\r\n };\r\n};\r\n\r\nexport function FixedWidgetReducer(\r\n prevState: FixedWidgetState,\r\n action: ReducerActions<WidgetInteraction, FixedWidgetPayload>\r\n): FixedWidgetState {\r\n const { type, payload = {} } = action;\r\n\r\n switch (type) {\r\n case WidgetInteraction.Next: {\r\n return {\r\n ...prevState,\r\n ...computeNextPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Previous: {\r\n return {\r\n ...prevState,\r\n ...computePreviousPosition(prevState)\r\n };\r\n }\r\n\r\n case WidgetInteraction.Resize: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return {\r\n ...prevState,\r\n currentSize: payload.mediaQuery,\r\n position: 0,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n };\r\n }\r\n\r\n case WidgetInteraction.Init: {\r\n const computeViewableItems = getComputeFunction(payload.contents);\r\n const initialSeen = computeViewableItems(payload.mediaQuery, payload.type, payload.collection?.length);\r\n\r\n return lazyWidgetInit({\r\n ...prevState,\r\n collection: payload.collection,\r\n currentSize: payload.mediaQuery,\r\n offset: initialSeen,\r\n viewableItems: initialSeen,\r\n type: payload.type\r\n });\r\n }\r\n\r\n default:\r\n return prevState;\r\n }\r\n}\r\n\r\nexport function lazyWidgetInit(newState: FixedWidgetState): FixedWidgetState {\r\n return { ...initialWidgetState, ...newState };\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 { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\r\nimport { ReducerActions } from 'libs/common/react/interfaces';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { WidgetInteraction } from 'libs/shared/enums/WidgetInteraction';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\nimport { BaseObject, WidgetType } from 'libs/shared/interfaces';\r\n\r\nimport { FixedWidgetProps } from './FixedWidget';\r\nimport { FixedWidgetState, FixedWidgetPayload } from './FixedWidgetReducer';\r\n\r\nexport interface WidgetData {\r\n id?: string;\r\n name?: string;\r\n description?: string;\r\n}\r\n\r\nexport function useFetchData(\r\n props: FixedWidgetProps,\r\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>,\r\n mediaQueryType: MediaQueryStrings,\r\n shouldFetch: boolean\r\n): Flight.Response<any> {\r\n const { fetch, setData, type, collection: items, prefetched, contents } = props;\r\n\r\n let data = items;\r\n let res: Flight.Response<any>;\r\n\r\n if (!data || ObjectHelper.isEmpty(data) && !prefetched) {\r\n res = fetch(shouldFetch);\r\n data = res.data;\r\n }\r\n\r\n /**\r\n * Once we have the widget data, lazily update our state with the new collection\r\n */\r\n const collection = (FunctionHelper.isFunction(setData) && data) ? setData(data) : data;\r\n\r\n React.useEffect(() => {\r\n if (!data || ObjectHelper.isEmpty(data))\r\n return;\r\n\r\n dispatch({\r\n type: WidgetInteraction.Init,\r\n payload: {\r\n collection,\r\n mediaQuery: mediaQueryType,\r\n type,\r\n contents\r\n }\r\n });\r\n\r\n }, [collection?.length]);\r\n\r\n return res;\r\n}\r\n\r\n/**\r\n * This function wrapper determines which widget item images should be pre-fetched by the LazyImage component.\r\n * It does this by looking at which images are going to be shown after the users clicks on the \"Next\"\r\n * widget button.\r\n */\r\nexport function getShouldPreload(state: FixedWidgetState): (widgetItem: any) => boolean {\r\n const { offset, viewableItems, collection } = state;\r\n\r\n // The index of the latest item that has been fetched\r\n const maxLoadedIndex = offset;\r\n\r\n /**\r\n * The indicesToPreload is an array of indices of widget items that should be prefetched by the\r\n * LazyImage component\r\n */\r\n const indicesToPreload: number[] = [];\r\n for (let i = 0; i < maxLoadedIndex + viewableItems; i++) {\r\n indicesToPreload.push(i);\r\n }\r\n\r\n /**\r\n * A widget item calls this function to determine whether or not its image can be pre-fetched.\r\n * This is determined by whether or not its index has been deemed valid to be pre-fetched\r\n * by the scope above\r\n */\r\n return function shouldPreload(widgetItem: any): boolean {\r\n const index = collection.indexOf(widgetItem);\r\n\r\n return indicesToPreload.includes(index);\r\n };\r\n}\r\n\r\nexport function getCollectionAppLink(appLink: Core.AppLink, data: WidgetData): Core.AppLink {\r\n if (!appLink)\r\n return;\r\n\r\n return {\r\n ...appLink,\r\n args: appLink.args || [ data.id, TextHelper.slugify(data.name) ]\r\n };\r\n}\r\n\r\n/**\r\n * Allow explicit name and description props to override the fetched\r\n * data properties.\r\n * \r\n * @param props \r\n * @param data \r\n */\r\nexport function formatData(props: FixedWidgetProps, data: BaseObject): WidgetData {\r\n const { name, description } = props;\r\n\r\n const overrideProps: WidgetData = {};\r\n\r\n if (Array.isArray(data))\r\n return { name, description };\r\n\r\n if (props.name) overrideProps.name = name;\r\n if (props.description) overrideProps.description = description;\r\n\r\n return { ...data, ...overrideProps };\r\n}\r\n\r\n/**\r\n * The functions below are used by the reducer to compute the number of widget items\r\n * displayed on the screen based on the media query, widget type, and total number of items.\r\n */\r\ntype ComputeFunction = (mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number) => number;\r\n\r\nexport function getComputeFunction(contents: WidgetContents): ComputeFunction {\r\n switch (contents) {\r\n case WidgetContents.Playlists:\r\n return computeViewablePlaylists;\r\n\r\n case WidgetContents.Videos:\r\n return computeViewableVideos;\r\n\r\n case WidgetContents.Subjects:\r\n return computeViewableSubjects;\r\n\r\n case WidgetContents.UserChannels:\r\n return computeViewableUserChannels;\r\n\r\n case WidgetContents.Interactives:\r\n return computeViewableInteractives;\r\n\r\n case WidgetContents.Clips:\r\n return computeViewableClips;\r\n\r\n case WidgetContents.Resources:\r\n return computeViewableResources;\r\n\r\n case WidgetContents.Series:\r\n default:\r\n return computeViewableSeries;\r\n }\r\n}\r\n\r\nfunction computeViewablePlaylists(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 5;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableVideos(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (\r\n mediaQuery === MediaQueryStrings.LG\r\n || mediaQuery === MediaQueryStrings.XL\r\n || mediaQuery === MediaQueryStrings.XXL\r\n ) {\r\n if (type === WidgetType.LargeRow)\r\n maxItems = 3;\r\n\r\n else if (itemCount < 4)\r\n maxItems = 3;\r\n\r\n else\r\n maxItems = 4;\r\n }\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSubjects(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM || mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableUserChannels(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 6;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n else if (mediaQuery === MediaQueryStrings.MD)\r\n maxItems = 4;\r\n else if (mediaQuery === MediaQueryStrings.LG)\r\n maxItems = 5;\r\n else if (mediaQuery === MediaQueryStrings.XL || mediaQuery === MediaQueryStrings.XXL)\r\n maxItems = 6;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableInteractives(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 3;\r\n\r\n if (mediaQuery === MediaQueryStrings.MD || mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 2;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 1;\r\n\r\n if (itemCount < Math.ceil(maxItems))\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableClips(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 3;\r\n\r\n if (mediaQuery === MediaQueryStrings.MD || mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 2;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 1;\r\n\r\n if (itemCount < Math.ceil(maxItems))\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableResources(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\nfunction computeViewableSeries(mediaQuery: MediaQueryStrings, type: WidgetType, itemCount: number): number {\r\n let maxItems: number = 4;\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n maxItems = 2;\r\n else if (mediaQuery === MediaQueryStrings.SM)\r\n maxItems = 3;\r\n\r\n if (itemCount < maxItems)\r\n maxItems = itemCount;\r\n\r\n return maxItems;\r\n}\r\n\r\n/**\r\n * Touch event handlers\r\n */\r\nexport function getOnTouchStart(\r\n widgetState: FixedWidgetState,\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n containerWidth: number,\r\n setContainerWidth: React.Dispatch<number>,\r\n initialTouchX: number,\r\n setInitialTouchX: React.Dispatch<number>,\r\n setPercentageDragged: React.Dispatch<number>\r\n): (event: React.TouchEvent<HTMLDivElement>) => void {\r\n return function(event: React.TouchEvent<HTMLDivElement>): void {\r\n const firstTouch = event.touches.item(0);\r\n const touchX = firstTouch.clientX;\r\n\r\n /**\r\n * Runs only on the very first touch event.\r\n * \r\n * Sets the initial x-coordinate as a reference point to calculate how far the user has dragged before\r\n * they release their finder\r\n */\r\n if (!initialTouchX) {\r\n containerRef.current.style.transition = '';\r\n\r\n setContainerWidth(containerRef.current.getBoundingClientRect().width);\r\n setInitialTouchX(touchX);\r\n }\r\n\r\n const pixelsDragged = initialTouchX - touchX;\r\n\r\n // Calculate how far the user has moved their finger as a percentage of the widget's container element\r\n let currentPercentageDragged = ((pixelsDragged / containerWidth) * 100);\r\n\r\n /**\r\n * These 2 if statements prevent the user from dragging the widget beyond its limits.\r\n * One if statement handles if they have dragged to the left, and the other is for dragging to the right.\r\n * \r\n * The same logic is used to hide the widget buttons (see the `hide` prop passed to `<WidgetButton />`)\r\n */\r\n if (currentPercentageDragged < 0 && (widgetState.offset === widgetState.viewableItems))\r\n currentPercentageDragged = 0;\r\n\r\n else if (currentPercentageDragged > 0 && (widgetState.offset === widgetState.collection.length))\r\n currentPercentageDragged = 0;\r\n\r\n setPercentageDragged(currentPercentageDragged);\r\n };\r\n}\r\n\r\nconst DRAG_TOLERANCE = 7.5; // % of container width using to trigger a transition.\r\n\r\nexport function getOnTouchEnd(\r\n containerRef: React.MutableRefObject<HTMLDivElement>,\r\n setInitialTouchX: React.Dispatch<number>,\r\n percentageDragged: number,\r\n setPercentageDragged: React.Dispatch<number>,\r\n dispatch: React.Dispatch<ReducerActions<WidgetInteraction, FixedWidgetPayload>>\r\n): () => void {\r\n return function(): void {\r\n containerRef.current.style.transition = 'transform .4s ease-in-out';\r\n setInitialTouchX(null);\r\n\r\n /**\r\n * Only trigger a Next/Previous widget event if the user has dragged beyond DRAG_TOLERANCE% either way of the\r\n * container's width. This means if the user only drags left/right a tiny little bit, the widget\r\n * will simply slide back into its original place.\r\n */\r\n if (Math.abs(percentageDragged) >= DRAG_TOLERANCE) {\r\n const reducerAction = percentageDragged > 0 ? WidgetInteraction.Next : WidgetInteraction.Previous;\r\n\r\n dispatch({\r\n type: reducerAction\r\n });\r\n }\r\n\r\n setPercentageDragged(0);\r\n };\r\n}","import * as React from 'react';\r\n\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\n\r\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\r\nimport { useGetMediaQueryString } from 'libs/shared/hooks/UseGetMediaQueryString';\r\n\r\nimport styles from './fixed-widget.scss';\r\n\r\nfunction useMediaQueryListeners(): HashObject {\r\n const mediaQuery = useGetMediaQueryString();\r\n\r\n if (mediaQuery === MediaQueryStrings.XS)\r\n return {\r\n itemCount: 1,\r\n colSize: 12\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.SM)\r\n return {\r\n itemCount: 2,\r\n colSize: 6\r\n };\r\n\r\n if (mediaQuery === MediaQueryStrings.MD)\r\n return {\r\n itemCount: 3,\r\n colSize: 4\r\n };\r\n\r\n return {\r\n itemCount: 4,\r\n colSize: 3\r\n };\r\n}\r\n\r\nconst PartialLoadingItem = ({ colSize }: HashObject) => (\r\n <div className={`col-${colSize}`}>\r\n <div className={`${styles.partialItem} mx-1 partial-loading-background`} />\r\n </div>\r\n);\r\n\r\nexport function PartialFixedWidget(): JSX.Element {\r\n const { itemCount, colSize } = useMediaQueryListeners();\r\n\r\n const items = [];\r\n for (let i = 0; i < itemCount; i++) {\r\n items.push(<PartialLoadingItem key={i} colSize={colSize} />);\r\n }\r\n\r\n return (\r\n <div className='widget pb-3'>\r\n <div className={`${styles.partialHeading} mx-1 mb-1 partial-loading-background`}></div>\r\n <div className={`${styles.partialDescription} mx-1 my-1 partial-loading-background`}></div>\r\n <div className={`${styles.slidingContainer} row`}>\r\n {items}\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leftOverflowGradient\":\"cv--leftOverflowGradient--u_MPi\",\"rightOverflowGradient\":\"cv--rightOverflowGradient--38ooL\",\"partialHeading\":\"cv--partialHeading--OVsdA\",\"partialDescription\":\"cv--partialDescription--1HtA2\",\"partialItem\":\"cv--partialItem--3G2hG\",\"largePartialItem\":\"cv--largePartialItem--NnK8O\",\"heading\":\"cv--heading--BQnCC\",\"link\":\"cv--link--ph0Qy\"};","import * as React from 'react';\r\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\r\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\r\n\r\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\r\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\r\n\r\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\r\n\r\nconst getPositionStyling = (xPosition: number, measurement: CssMeasurement, dragPercentage?: number) => {\r\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\r\n if (measurement === CssMeasurement.Percentage && dragPercentage)\r\n xPosition = xPosition - dragPercentage;\r\n\r\n return {\r\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\r\n transition: 'transform .4s ease-in-out'\r\n };\r\n};\r\n\r\ninterface SlidingListContainerProps extends React.PropsWithChildren<unknown> {\r\n position: number;\r\n positionType: CssMeasurement;\r\n\r\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\r\n onDragEnd?: () => void;\r\n\r\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\r\n onTouchEnd?: () => void;\r\n\r\n percentageDragged?: number;\r\n}\r\n\r\nexport const SlidingListContainer = React.forwardRef((\r\n props: SlidingListContainerProps,\r\n ref: React.MutableRefObject<HTMLDivElement>\r\n): JSX.Element => {\r\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\r\n\r\n function getEventListeners(): HashObject {\r\n const listenerProps: HashObject = {};\r\n\r\n if (onDrag && onDragEnd) {\r\n listenerProps.draggable = true;\r\n listenerProps.onDragEnd = onDragEnd;\r\n listenerProps.onDragStart = DragHelper.hideDragImage;\r\n listenerProps.onDragOver = onDrag;\r\n }\r\n\r\n if (onTouchMove && onTouchEnd && isTouchScreen) {\r\n listenerProps.onTouchMoveCapture = onTouchMove;\r\n listenerProps.onTouchEndCapture = onTouchEnd;\r\n }\r\n\r\n return listenerProps;\r\n }\r\n\r\n return (\r\n <div\r\n className='d-flex flex-nowrap position-relative w-100'\r\n style={getPositionStyling(position, positionType, percentageDragged)}\r\n ref={ref}\r\n {...getEventListeners()}\r\n >\r\n {children}\r\n </div>\r\n );\r\n});","import * as React from 'react';\r\n\r\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { WidgetContents } from 'libs/shared/enums/WidgetContents';\r\n\r\nimport styles from './widget-button.scss';\r\n\r\nexport enum WidgetButtonDirection {\r\n Left,\r\n Right\r\n}\r\n\r\nfunction getPositionClass(contents: WidgetContents, isLeftDirection: boolean): string {\r\n let className = styles.topPos;\r\n\r\n // Left / Right\r\n if (isLeftDirection)\r\n className += ' ' + styles.left;\r\n else\r\n className += ' ' + styles.right;\r\n\r\n return className;\r\n}\r\n\r\ninterface WidgetButtonProps {\r\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\r\n direction: WidgetButtonDirection;\r\n hide: boolean;\r\n contents?: WidgetContents;\r\n useGradientBackdrop?: boolean;\r\n className?: string;\r\n}\r\n\r\nexport const WidgetButton = React.memo(function(props: WidgetButtonProps): JSX.Element {\r\n const isLeft = props.direction === WidgetButtonDirection.Left;\r\n\r\n const arrowSvg = isLeft ? cvSvgLibrary.ChevronLeft : cvSvgLibrary.ChevronRight;\r\n\r\n const positionClass = getPositionClass(props.contents, isLeft);\r\n\r\n if (props.hide)\r\n return <></>;\r\n\r\n return (\r\n <>\r\n <div\r\n role='button'\r\n className={`${positionClass} ${styles.button} ${props.className || ''}`}\r\n onClick={props.onClick}\r\n >\r\n <SvgContainer\r\n svgName={arrowSvg}\r\n size={SvgContainerSize.Medium}\r\n className={`svg-container d-inline-block ${styles.chevron}`}\r\n />\r\n </div>\r\n\r\n {props.useGradientBackdrop && <div className={isLeft ? styles.gradientLeft : styles.gradientRight} />}\r\n <div role='button' onClick={props.onClick} className={\r\n isLeft ? styles.extendedClickableAreaLeft : styles.extendedClickableAreaRight\r\n } />\r\n </>\r\n );\r\n});","// extracted by mini-css-extract-plugin\nmodule.exports = {\"left\":\"cv--left--789pr\",\"right\":\"cv--right--1P8qt\",\"button\":\"cv--button--24q_F\",\"chevron\":\"cv--chevron--3M27X\",\"gradientLeft\":\"cv--gradientLeft--3fkiw\",\"gradientRight\":\"cv--gradientRight--2RDDy\",\"extendedClickableAreaRight\":\"cv--extendedClickableAreaRight--13dgy\",\"extendedClickableAreaLeft\":\"cv--extendedClickableAreaLeft--37LtK\",\"videoTopPos\":\"cv--videoTopPos--1XTRO\",\"topPos\":\"cv--topPos--3_p_J\"};","export enum CssMeasurement {\r\n Percentage = '%',\r\n Pixels = 'px'\r\n}","export enum WidgetContents {\r\n Videos = 'videos',\r\n Series = 'series',\r\n Subjects = 'subjects',\r\n Playlists = 'playlists',\r\n UserChannels = 'user channels',\r\n Interactives = 'interactives',\r\n Clips = 'clips',\r\n Resources = 'resources'\r\n}","export enum WidgetInteraction {\r\n Init = 'init',\r\n Next = 'next',\r\n Previous = 'previous',\r\n Resize = 'resize',\r\n Drag = 'drag'\r\n}","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\ninterface HoverOptions {\r\n /**\r\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\r\n * after a delay (controlled by the `timeout` option below)\r\n */\r\n className?: string;\r\n\r\n /**\r\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\r\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\r\n * triggered or not. Defaults to 0.\r\n */\r\n delay?: number;\r\n}\r\n\r\nconst defaultOptions: HoverOptions = {\r\n className: '',\r\n delay: 0\r\n};\r\n\r\n/**\r\n * This hook detects hover events on an element.\r\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\r\n */\r\nexport function useHover<T extends HTMLElement>(\r\n options: HoverOptions = defaultOptions\r\n): [ React.MutableRefObject<T>, boolean ] {\r\n const [ isHovering, setHovering ] = React.useState(false);\r\n\r\n const ref = React.useRef<T>(null);\r\n\r\n const triggerHover = FunctionHelper.throttle(() => {\r\n if (options.className)\r\n ref.current?.classList?.add(options.className);\r\n\r\n setHovering(true);\r\n }, options.delay, { leading: false });\r\n\r\n const handleMouseOut = () => {\r\n if (FunctionHelper.isFunction(triggerHover.cancel))\r\n triggerHover.cancel();\r\n\r\n if (options.className)\r\n ref.current?.classList?.remove(options.className);\r\n\r\n setHovering(false);\r\n };\r\n\r\n React.useLayoutEffect(() => {\r\n const node = ref.current;\r\n\r\n if (node) {\r\n node.addEventListener('mouseenter', triggerHover);\r\n node.addEventListener('mouseleave', handleMouseOut);\r\n\r\n return () => {\r\n node.removeEventListener('mouseenter', triggerHover);\r\n node.removeEventListener('mouseleave', handleMouseOut);\r\n };\r\n }\r\n }, [ ref.current, triggerHover, handleMouseOut ]);\r\n\r\n return [ ref, isHovering ];\r\n}\r\n\r\nexport function useHoverIntent<T extends HTMLElement>(className: string): [ React.MutableRefObject<T>, boolean ] {\r\n return useHover({\r\n className,\r\n delay: 275\r\n });\r\n}","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nconst blankImage = new Image();\r\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\r\n\r\nexport const DragHelper = {\r\n // This removes the image that appears when you drag a draggable HTML element\r\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\r\n if (!event.dataTransfer.setDragImage || !FunctionHelper.isFunction(event.dataTransfer.setDragImage))\r\n return;\r\n\r\n event.dataTransfer.setDragImage(blankImage, 0, 0);\r\n }\r\n};","import { AnalyticsOptions, ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\r\n\r\nexport const WidgetHelper = {\r\n /**\r\n * Used by both the FixedWidget and DynamicWidget\r\n */\r\n getSliderAnalyticsOptions: (): AnalyticsOptions => ({\r\n actionType: UserAction.Click,\r\n location: LocationContext.SlidingList,\r\n entity: EntityType.Widget,\r\n descriptor: ClickDescriptor.Slide\r\n }),\r\n\r\n /**\r\n * Used by both the FixedWidget and DynamicWidget\r\n */\r\n getSliderItemAnalyticsOptions: (): AnalyticsOptions => ({\r\n location: LocationContext.SlidingListItem\r\n }),\r\n\r\n getSliderHeadingAnalyticsOptions: (): AnalyticsOptions => ({\r\n actionType: UserAction.Click,\r\n location: LocationContext.SlidingList,\r\n entity: EntityType.Widget,\r\n descriptor: ClickDescriptor.Title\r\n })\r\n};"],"sourceRoot":""}
@@ -1,241 +0,0 @@
1
- (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[60],{
2
-
3
- /***/ "../../libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts":
4
- /*!***********************************************************************************************************************!*\
5
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts ***!
6
- \***********************************************************************************************************************/
7
- /*! exports provided: PlaylistValidationSchema */
8
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
-
10
- "use strict";
11
- __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistValidationSchema", function() { return PlaylistValidationSchema; });
13
- /* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! yup */ "../../../node_modules/yup/lib/index.js");
14
- /* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yup__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
16
-
17
-
18
- var namespace = 'playlists.validation';
19
- var PlaylistValidationSchema = yup__WEBPACK_IMPORTED_MODULE_0__["object"]().shape({
20
- name: yup__WEBPACK_IMPORTED_MODULE_0__["string"]().max(250, function () {
21
- return _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'nameExceeds');
22
- }).required(function () {
23
- return _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'nameRequired');
24
- }),
25
- description: yup__WEBPACK_IMPORTED_MODULE_0__["string"]().max(65535, function () {
26
- return _common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].getPhrase(namespace, 'descriptionExceeds');
27
- })
28
- });
29
-
30
- /***/ }),
31
-
32
- /***/ "../../libs/shared/src/hooks/UseAlerts.ts":
33
- /*!************************************************************************************!*\
34
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseAlerts.ts ***!
35
- \************************************************************************************/
36
- /*! exports provided: useAlerts */
37
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
38
-
39
- "use strict";
40
- __webpack_require__.r(__webpack_exports__);
41
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useAlerts", function() { return useAlerts; });
42
- /* harmony import */ var _common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
43
- /* harmony import */ var _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/services/BaseAlertService */ "../../libs/common/src/backbone/services/BaseAlertService.ts");
44
- /* harmony import */ var _common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/src/backbone/constants/CommonServices */ "../../libs/common/src/backbone/constants/CommonServices.ts");
45
-
46
-
47
-
48
- var useAlerts = function useAlerts() {
49
- var alertService = Object(_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__["useService"])(_common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__["CommonServices"].ALERT);
50
- return {
51
- success: function success(alertContent) {
52
- alertService.success(alertContent)();
53
- },
54
- error: function error(alertContent) {
55
- alertService.error(alertContent)();
56
- },
57
- warning: function warning(alertContent) {
58
- alertService.createAlert({
59
- type: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["AlertType"].Warning,
60
- heading: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["DefaultAlertHeading"].Warning,
61
- message: alertContent
62
- });
63
- }
64
- };
65
- };
66
-
67
- /***/ }),
68
-
69
- /***/ "./src/apps/playlists/components/playlist-details/PlaylistDetails.tsx":
70
- /*!****************************************************************************!*\
71
- !*** ./src/apps/playlists/components/playlist-details/PlaylistDetails.tsx ***!
72
- \****************************************************************************/
73
- /*! exports provided: PlaylistDetails */
74
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
75
-
76
- "use strict";
77
- __webpack_require__.r(__webpack_exports__);
78
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlaylistDetails", function() { return PlaylistDetails; });
79
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
80
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
81
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
82
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
83
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
84
- /* harmony import */ var _libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-wrapper/FormWrapper */ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx");
85
- /* harmony import */ var _libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
86
- /* harmony import */ var _libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-buttons/FormButtons */ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx");
87
- /* harmony import */ var _libs_shared_src_apps_playlists_validation_PlaylistValidationSchema__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/apps/playlists/validation/PlaylistValidationSchema */ "../../libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts");
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
- var namespace = 'playlists.playlistDetails';
97
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
98
-
99
- function PlaylistDetailsFormComponent(props) {
100
- var formikProps = Object(_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__["useFormikContextWrapper"])();
101
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Form"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_5__["FormField"], {
102
- label: getPhrase('nameLabel'),
103
- type: 'text',
104
- name: 'name',
105
- id: 'name',
106
- placeholder: getPhrase('namePlaceholder'),
107
- autoFocus: true,
108
- value: formikProps.values.name
109
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_5__["FormField"], {
110
- label: getPhrase('descriptionLabel'),
111
- component: 'textarea',
112
- name: 'description',
113
- id: 'description',
114
- placeholder: getPhrase('descriptionPlaceholder'),
115
- value: formikProps.values.description
116
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
117
- className: 'btn-container d-flex justify-content-end'
118
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("button", {
119
- type: 'button',
120
- className: "btn btn-".concat(props.cancelButtonClass, " mr-2"),
121
- onClick: props.onClickCancel
122
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_3__["Text"], {
123
- namespace: namespace,
124
- phrase: 'cancel'
125
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_6__["FormButtons"], {
126
- isNew: props.isNew
127
- })));
128
- }
129
-
130
- function PlaylistDetails(props) {
131
- var _props$playlist = props.playlist;
132
- _props$playlist = _props$playlist === void 0 ? {} : _props$playlist;
133
- var _props$playlist$name = _props$playlist.name,
134
- name = _props$playlist$name === void 0 ? '' : _props$playlist$name,
135
- _props$playlist$descr = _props$playlist.description,
136
- description = _props$playlist$descr === void 0 ? '' : _props$playlist$descr,
137
- _props$playlist$id = _props$playlist.id,
138
- id = _props$playlist$id === void 0 ? null : _props$playlist$id,
139
- savePlaylist = props.savePlaylist,
140
- onClickCancel = props.onClickCancel,
141
- cancelButtonClass = props.cancelButtonClass;
142
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__["FormWrapper"], {
143
- initialValues: {
144
- name: name,
145
- description: description
146
- },
147
- validationSchema: _libs_shared_src_apps_playlists_validation_PlaylistValidationSchema__WEBPACK_IMPORTED_MODULE_7__["PlaylistValidationSchema"],
148
- onSubmit: savePlaylist
149
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](PlaylistDetailsFormComponent, {
150
- isNew: !id,
151
- onClickCancel: onClickCancel,
152
- cancelButtonClass: cancelButtonClass
153
- }));
154
- }
155
-
156
- /***/ }),
157
-
158
- /***/ "./src/apps/playlists/views/edit-playlist/EditPlaylistView.tsx":
159
- /*!*********************************************************************!*\
160
- !*** ./src/apps/playlists/views/edit-playlist/EditPlaylistView.tsx ***!
161
- \*********************************************************************/
162
- /*! exports provided: EditPlaylistView */
163
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
164
-
165
- "use strict";
166
- __webpack_require__.r(__webpack_exports__);
167
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditPlaylistView", function() { return EditPlaylistView; });
168
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
169
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
170
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
171
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
172
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
173
- /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
174
- /* harmony import */ var _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/interfaces */ "../../libs/analytics/src/interfaces/index.ts");
175
- /* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
176
- /* harmony import */ var _libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/hooks/UseSetPageTitle */ "../../libs/common/src/react/hooks/UseSetPageTitle.ts");
177
- /* harmony import */ var _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/flight-requests/PlaylistRequests */ "../../libs/shared/src/flight-requests/PlaylistRequests.ts");
178
- /* harmony import */ var _libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/Popup */ "../../libs/shared/src/components/popup/Popup.tsx");
179
- /* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
180
- /* harmony import */ var apps_playlists_components_playlist_details_PlaylistDetails__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! apps/playlists/components/playlist-details/PlaylistDetails */ "./src/apps/playlists/components/playlist-details/PlaylistDetails.tsx");
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace('playlists.editPlaylist');
193
- function EditPlaylistView(props) {
194
- var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
195
- var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_9__["useAlerts"])();
196
- var playlist = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(_libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_7__["PlaylistRequests"].getPlaylist(props.playlistId));
197
- Object(_libs_common_src_react_hooks_UseSetPageTitle__WEBPACK_IMPORTED_MODULE_6__["useSetPageTitle"])(playlist.data && getPhrase('title', {
198
- name: playlist.data.name
199
- }), [playlist]);
200
-
201
- var savePlaylist = function savePlaylist(data) {
202
- var onSuccess = function onSuccess(updatedPlaylist) {
203
- alerts.success(getPhrase('success', {
204
- name: updatedPlaylist.name
205
- }));
206
- _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__["AnalyticsHelper"].logUserAction({
207
- id: updatedPlaylist.id
208
- }, _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_5__["AnalyticsHelper"].mergeOptions(props.analyticsOptions, {
209
- actionType: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["UserAction"].Edit,
210
- entity: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["EntityType"].Playlist,
211
- workflowPhase: _libs_analytics_src_interfaces__WEBPACK_IMPORTED_MODULE_4__["WorkflowPhase"].Complete
212
- }));
213
- props.closePopup();
214
- };
215
-
216
- var onError = function onError() {
217
- alerts.error(getPhrase('error', {
218
- name: playlist.data.name
219
- }));
220
- props.closePopup();
221
- };
222
-
223
- _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].fetch(dispatch, _libs_shared_src_flight_requests_PlaylistRequests__WEBPACK_IMPORTED_MODULE_7__["PlaylistRequests"].updatePlaylist(props.playlistId, data, onSuccess, onError));
224
- };
225
-
226
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_8__["Popup"], {
227
- title: getPhrase('heading'),
228
- closePopup: props.closePopup,
229
- showLoadingSpinner: !playlist.data
230
- }, !!playlist.data && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](apps_playlists_components_playlist_details_PlaylistDetails__WEBPACK_IMPORTED_MODULE_10__["PlaylistDetails"], {
231
- playlist: playlist.data,
232
- savePlaylist: savePlaylist,
233
- onClickCancel: props.closePopup,
234
- cancelButtonClass: 'secondary'
235
- }));
236
- }
237
-
238
- /***/ })
239
-
240
- }]);
241
- //# sourceMappingURL=60.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/playlists/components/playlist-details/PlaylistDetails.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/playlists/views/edit-playlist/EditPlaylistView.tsx"],"names":[],"mappings":"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","file":"scripts/60.chunk.js","sourcesContent":["import * as Yup from 'yup';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst namespace = 'playlists.validation';\r\n\r\nexport const PlaylistValidationSchema = Yup.object().shape({\r\n name: Yup.string()\r\n .max(250, () => LanguageService.getPhrase(namespace, 'nameExceeds'))\r\n .required(() => LanguageService.getPhrase(namespace, 'nameRequired')),\r\n description: Yup.string()\r\n .max(65535, () => LanguageService.getPhrase(namespace, 'descriptionExceeds'))\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};","import * as React from 'react';\r\nimport { Form } from 'formik';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Playlist } from 'libs/shared/interfaces';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\r\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\r\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\nimport { PlaylistValidationSchema } from 'libs/shared/apps/playlists/validation/PlaylistValidationSchema';\r\n\r\nconst namespace = 'playlists.playlistDetails';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface PlaylistDetailsFormComponentProps {\r\n isNew?: boolean;\r\n onClickCancel: () => void;\r\n cancelButtonClass: 'secondary' | 'link';\r\n}\r\n\r\nfunction PlaylistDetailsFormComponent(props: PlaylistDetailsFormComponentProps): React.ReactElement {\r\n const formikProps = useFormikContextWrapper<CreateOrUpdatePlaylistRequest>();\r\n\r\n return (\r\n <Form>\r\n <FormField\r\n label={getPhrase('nameLabel')}\r\n type='text'\r\n name='name'\r\n id ='name'\r\n placeholder={getPhrase('namePlaceholder')}\r\n autoFocus\r\n value={formikProps.values.name}\r\n />\r\n <FormField\r\n label={getPhrase('descriptionLabel')}\r\n component='textarea'\r\n name='description'\r\n id ='description'\r\n placeholder={getPhrase('descriptionPlaceholder')}\r\n value={formikProps.values.description}\r\n />\r\n <div className='btn-container d-flex justify-content-end'>\r\n <button type='button' className={`btn btn-${props.cancelButtonClass} mr-2`} onClick={props.onClickCancel}>\r\n <Text namespace={namespace} phrase='cancel' />\r\n </button>\r\n <FormButtons isNew={props.isNew} />\r\n </div>\r\n </Form>\r\n );\r\n}\r\n\r\ninterface PlaylistDetailsComponentProps {\r\n playlist?: Playlist;\r\n savePlaylist: (data: CreateOrUpdatePlaylistRequest) => void;\r\n onClickCancel: () => void;\r\n cancelButtonClass: 'secondary' | 'link';\r\n}\r\n\r\nexport function PlaylistDetails(props: PlaylistDetailsComponentProps): React.ReactElement {\r\n const { playlist: { name = '', description = '', id = null } = {}, savePlaylist, onClickCancel, cancelButtonClass } = props;\r\n\r\n return (\r\n <FormWrapper<CreateOrUpdatePlaylistRequest>\r\n initialValues={{ name, description }}\r\n validationSchema={PlaylistValidationSchema}\r\n onSubmit={savePlaylist}\r\n >\r\n <PlaylistDetailsFormComponent\r\n isNew={!id}\r\n onClickCancel={onClickCancel}\r\n cancelButtonClass={cancelButtonClass}\r\n />\r\n </FormWrapper>\r\n );\r\n}","import * as 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 { UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { useSetPageTitle } from 'libs/common/react/hooks/UseSetPageTitle';\r\nimport { Playlist, PropsWithPopupViewProps, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\n\r\nimport { PlaylistDetails } from 'apps/playlists/components/playlist-details/PlaylistDetails';\r\n\r\nconst getPhrase = LanguageService.encloseNamespace('playlists.editPlaylist');\r\n\r\ninterface EditPlaylistViewProps {\r\n playlistId: string;\r\n}\r\n\r\ntype PropTypes = PropsWithAnalyticsOptions<PropsWithPopupViewProps<EditPlaylistViewProps>>;\r\n\r\nexport function EditPlaylistView(props: PropTypes): React.ReactElement {\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n const playlist = Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(props.playlistId));\r\n\r\n useSetPageTitle(playlist.data && getPhrase('title', { name: playlist.data.name }), [playlist]);\r\n\r\n const savePlaylist = (data: CreateOrUpdatePlaylistRequest): void => {\r\n const onSuccess = (updatedPlaylist: Playlist) => {\r\n alerts.success(getPhrase('success', { name: updatedPlaylist.name }));\r\n\r\n AnalyticsHelper.logUserAction({ id: updatedPlaylist.id }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Playlist,\r\n workflowPhase: WorkflowPhase.Complete\r\n }));\r\n\r\n props.closePopup();\r\n };\r\n\r\n const onError = () => {\r\n alerts.error(getPhrase('error', { name: playlist.data.name }));\r\n\r\n props.closePopup();\r\n };\r\n\r\n Flight.fetch(\r\n dispatch,\r\n PlaylistRequests.updatePlaylist(props.playlistId, data, onSuccess, onError)\r\n );\r\n };\r\n\r\n return (\r\n <Popup title={getPhrase('heading')} closePopup={props.closePopup} showLoadingSpinner={!playlist.data}>\r\n {!!playlist.data &&\r\n <PlaylistDetails\r\n playlist={playlist.data}\r\n savePlaylist={savePlaylist}\r\n onClickCancel={props.closePopup}\r\n cancelButtonClass='secondary'\r\n />\r\n }\r\n </Popup>\r\n );\r\n}"],"sourceRoot":""}