@clickview/lite 0.50.0 → 0.50.1-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 (338) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{6846-lite-db93efd058.chunk.css → 1850-lite-dca6b9e86d.chunk.css} +1 -0
  3. package/dist/css/{2137-lite-6d16d5d7c2.chunk.css → 2137-lite-7045732fc8.chunk.css} +2 -2
  4. package/dist/css/{2795-lite-1e800fdd04.chunk.css → 2795-lite-1641e6fbf9.chunk.css} +2 -2
  5. package/dist/css/{458-lite-ecaf4729d3.chunk.css → 3515-lite-c8a3139b8b.chunk.css} +2 -2
  6. package/dist/css/{8960-lite-a80ad92ea7.chunk.css → 4489-lite-7d5d204d0c.chunk.css} +8 -7
  7. package/dist/css/{3515-lite-ecaf4729d3.chunk.css → 458-lite-c8a3139b8b.chunk.css} +2 -2
  8. package/dist/css/{5242-lite-512783e2fb.chunk.css → 5242-lite-58cdcd1ec4.chunk.css} +2 -2
  9. package/dist/css/{5446-lite-b68e159c6c.chunk.css → 5446-lite-ae2395342f.chunk.css} +2 -2
  10. package/dist/css/6102-lite-6e94a699ed.chunk.css +39 -0
  11. package/dist/css/{1437-lite-b847c9e2b6.chunk.css → 6415-lite-707657102b.chunk.css} +1 -1
  12. package/dist/css/{9839-lite-53b02845a4.chunk.css → 6850-lite-769c93cb9e.chunk.css} +16 -16
  13. package/dist/css/{7987-lite-7006eb4ded.chunk.css → 7987-lite-94679244a2.chunk.css} +2 -2
  14. package/dist/css/{355-lite-e474c8ddce.chunk.css → 8192-lite-8721e2ed68.chunk.css} +8 -7
  15. package/dist/css/{8316-lite-f60e236048.chunk.css → 8316-lite-9083a6565c.chunk.css} +2 -2
  16. package/dist/css/{9417-lite-f60e236048.chunk.css → 9417-lite-9083a6565c.chunk.css} +2 -2
  17. package/dist/css/{9620-lite-b202aa1d5c.chunk.css → 9620-lite-d77e9ad59b.chunk.css} +1 -1
  18. package/dist/css/{7187-lite-db93efd058.chunk.css → 9818-lite-dca6b9e86d.chunk.css} +1 -0
  19. package/dist/css/{8139-lite-5511af77bf.chunk.css → 986-lite-3bf6e93049.chunk.css} +1 -0
  20. package/dist/css/{lite-app-cf9b57ee91.css → lite-app-28b7b96628.css} +8 -6
  21. package/dist/languages/en.json +1 -1
  22. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js → 1080-362271a654-lite.chunk.js} +2 -2
  23. package/dist/scripts/{1080-d6dfc36c03-lite.chunk.js.map → 1080-362271a654-lite.chunk.js.map} +1 -1
  24. package/dist/scripts/1169-3df974a8eb-lite.chunk.js +2 -0
  25. package/dist/scripts/1169-3df974a8eb-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js → 1285-818f4ed377-lite.chunk.js} +1 -1
  27. package/dist/scripts/{1285-1ba9b0640e-lite.chunk.js.map → 1285-818f4ed377-lite.chunk.js.map} +1 -1
  28. package/dist/scripts/1313-455608bc46-lite.chunk.js +2 -0
  29. package/dist/scripts/1313-455608bc46-lite.chunk.js.map +1 -0
  30. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js → 1379-3a1ba4b4d9-lite.chunk.js} +3 -3
  31. package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.map → 1379-3a1ba4b4d9-lite.chunk.js.map} +1 -1
  32. package/dist/scripts/{1518-be314d1248-lite.chunk.js → 1518-b808d8043f-lite.chunk.js} +2 -2
  33. package/dist/scripts/1518-b808d8043f-lite.chunk.js.map +1 -0
  34. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js → 1617-e1735deb2a-lite.chunk.js} +1 -1
  35. package/dist/scripts/{1617-3cf9199cb1-lite.chunk.js.map → 1617-e1735deb2a-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/1672-672f298d82-lite.chunk.js +3 -0
  37. package/dist/scripts/1672-672f298d82-lite.chunk.js.map +1 -0
  38. package/dist/scripts/1750-a525866169-lite.chunk.js +2 -0
  39. package/dist/scripts/1750-a525866169-lite.chunk.js.map +1 -0
  40. package/dist/scripts/1818-74a3d26afd-lite.chunk.js +2 -0
  41. package/dist/scripts/1818-74a3d26afd-lite.chunk.js.map +1 -0
  42. package/dist/scripts/1820-68114ca994-lite.chunk.js +2 -0
  43. package/dist/scripts/1820-68114ca994-lite.chunk.js.map +1 -0
  44. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js → 1863-618c9bd7af-lite.chunk.js} +1 -1
  45. package/dist/scripts/{1863-a6e7446cd8-lite.chunk.js.map → 1863-618c9bd7af-lite.chunk.js.map} +1 -1
  46. package/dist/scripts/1905-af9a8f8824-lite.chunk.js +2 -0
  47. package/dist/scripts/1905-af9a8f8824-lite.chunk.js.map +1 -0
  48. package/dist/scripts/2004-4e2d98041c-lite.chunk.js +3 -0
  49. package/dist/scripts/2004-4e2d98041c-lite.chunk.js.map +1 -0
  50. package/dist/scripts/{209-148abe2aa1-lite.chunk.js → 209-4a54845452-lite.chunk.js} +2 -2
  51. package/dist/scripts/209-4a54845452-lite.chunk.js.map +1 -0
  52. package/dist/scripts/2137-093f479ff9-lite.chunk.js +2 -0
  53. package/dist/scripts/2137-093f479ff9-lite.chunk.js.map +1 -0
  54. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js +2 -0
  55. package/dist/scripts/2199-cfc0ff4e1e-lite.chunk.js.map +1 -0
  56. package/dist/scripts/2703-64f709f0d0-lite.chunk.js +2 -0
  57. package/dist/scripts/2703-64f709f0d0-lite.chunk.js.map +1 -0
  58. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js → 2795-0616748349-lite.chunk.js} +1 -1
  59. package/dist/scripts/{2795-b3f0673e3e-lite.chunk.js.map → 2795-0616748349-lite.chunk.js.map} +1 -1
  60. package/dist/scripts/2877-40bb796d59-lite.chunk.js +2 -0
  61. package/dist/scripts/2877-40bb796d59-lite.chunk.js.map +1 -0
  62. package/dist/scripts/3020-2b9042238c-lite.chunk.js +2 -0
  63. package/dist/scripts/3020-2b9042238c-lite.chunk.js.map +1 -0
  64. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js → 3070-fb8eb47716-lite.chunk.js} +1 -1
  65. package/dist/scripts/{3070-47e46e0d89-lite.chunk.js.map → 3070-fb8eb47716-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/3231-65bbddef35-lite.chunk.js +2 -0
  67. package/dist/scripts/3231-65bbddef35-lite.chunk.js.map +1 -0
  68. package/dist/scripts/3403-12c460d3f6-lite.chunk.js +2 -0
  69. package/dist/scripts/3403-12c460d3f6-lite.chunk.js.map +1 -0
  70. package/dist/scripts/3515-4de2fd7070-lite.chunk.js +2 -0
  71. package/dist/scripts/3515-4de2fd7070-lite.chunk.js.map +1 -0
  72. package/dist/scripts/3645-72ca9f63df-lite.chunk.js +3 -0
  73. package/dist/scripts/3645-72ca9f63df-lite.chunk.js.map +1 -0
  74. package/dist/scripts/3895-a54621a8c4-lite.chunk.js +2 -0
  75. package/dist/scripts/3895-a54621a8c4-lite.chunk.js.map +1 -0
  76. package/dist/scripts/458-35c635a2ce-lite.chunk.js +2 -0
  77. package/dist/scripts/458-35c635a2ce-lite.chunk.js.map +1 -0
  78. package/dist/scripts/4690-d77e912b9b-lite.chunk.js +2 -0
  79. package/dist/scripts/4690-d77e912b9b-lite.chunk.js.map +1 -0
  80. package/dist/scripts/{4718-6df54d3039-lite.chunk.js → 4718-2b58aa560d-lite.chunk.js} +1 -1
  81. package/dist/scripts/{4718-6df54d3039-lite.chunk.js.map → 4718-2b58aa560d-lite.chunk.js.map} +1 -1
  82. package/dist/scripts/5143-b6896dad98-lite.chunk.js +2 -0
  83. package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +1 -0
  84. package/dist/scripts/5229-036b4d7a22-lite.chunk.js +2 -0
  85. package/dist/scripts/5229-036b4d7a22-lite.chunk.js.map +1 -0
  86. package/dist/scripts/{5242-e8f004818c-lite.chunk.js → 5242-2d752ff85e-lite.chunk.js} +1 -1
  87. package/dist/scripts/{5242-e8f004818c-lite.chunk.js.map → 5242-2d752ff85e-lite.chunk.js.map} +1 -1
  88. package/dist/scripts/5385-57d7021be7-lite.chunk.js +2 -0
  89. package/dist/scripts/5385-57d7021be7-lite.chunk.js.map +1 -0
  90. package/dist/scripts/{5446-de55c3df38-lite.chunk.js → 5446-1ef1639ef6-lite.chunk.js} +1 -1
  91. package/dist/scripts/{5446-de55c3df38-lite.chunk.js.map → 5446-1ef1639ef6-lite.chunk.js.map} +1 -1
  92. package/dist/scripts/5595-f33ed220ce-lite.chunk.js +2 -0
  93. package/dist/scripts/5595-f33ed220ce-lite.chunk.js.map +1 -0
  94. package/dist/scripts/{5936-4cac311002-lite.chunk.js → 5936-1d99b03e7b-lite.chunk.js} +2 -2
  95. package/dist/scripts/5936-1d99b03e7b-lite.chunk.js.map +1 -0
  96. package/dist/scripts/5940-511beff2ee-lite.chunk.js +2 -0
  97. package/dist/scripts/5940-511beff2ee-lite.chunk.js.map +1 -0
  98. package/dist/scripts/{610-27e5444f01-lite.chunk.js → 610-6dbeb5cd21-lite.chunk.js} +2 -2
  99. package/dist/scripts/610-6dbeb5cd21-lite.chunk.js.map +1 -0
  100. package/dist/scripts/6102-f1851eca08-lite.chunk.js +3 -0
  101. package/dist/scripts/6102-f1851eca08-lite.chunk.js.map +1 -0
  102. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js +2 -0
  103. package/dist/scripts/6189-ce9f0eeb31-lite.chunk.js.map +1 -0
  104. package/dist/scripts/{624-010454cb12-lite.chunk.js → 624-7df7efd486-lite.chunk.js} +3 -3
  105. package/dist/scripts/{624-010454cb12-lite.chunk.js.map → 624-7df7efd486-lite.chunk.js.map} +1 -1
  106. package/dist/scripts/6263-d74b5b3529-lite.chunk.js +2 -0
  107. package/dist/scripts/6263-d74b5b3529-lite.chunk.js.map +1 -0
  108. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js → 6274-15e61b83dc-lite.chunk.js} +1 -1
  109. package/dist/scripts/{6274-46a7af05d7-lite.chunk.js.map → 6274-15e61b83dc-lite.chunk.js.map} +1 -1
  110. package/dist/scripts/6415-9d8b88c713-lite.chunk.js +2 -0
  111. package/dist/scripts/6415-9d8b88c713-lite.chunk.js.map +1 -0
  112. package/dist/scripts/{6433-fe9efef305-lite.chunk.js → 6433-8dd152d999-lite.chunk.js} +2 -2
  113. package/dist/scripts/{6433-fe9efef305-lite.chunk.js.map → 6433-8dd152d999-lite.chunk.js.map} +1 -1
  114. package/dist/scripts/6470-6216086d63-lite.chunk.js +2 -0
  115. package/dist/scripts/6470-6216086d63-lite.chunk.js.map +1 -0
  116. package/dist/scripts/6531-597262a181-lite.chunk.js +2 -0
  117. package/dist/scripts/6531-597262a181-lite.chunk.js.map +1 -0
  118. package/dist/scripts/6572-4dda098022-lite.chunk.js +2 -0
  119. package/dist/scripts/6572-4dda098022-lite.chunk.js.map +1 -0
  120. package/dist/scripts/6587-08d5d85b71-lite.chunk.js +2 -0
  121. package/dist/scripts/6587-08d5d85b71-lite.chunk.js.map +1 -0
  122. package/dist/scripts/671-36d34edbf3-lite.chunk.js +2 -0
  123. package/dist/scripts/671-36d34edbf3-lite.chunk.js.map +1 -0
  124. package/dist/scripts/{6725-23b09d47ae-lite.chunk.js → 6725-20b1e8b1d2-lite.chunk.js} +2 -2
  125. package/dist/scripts/6725-20b1e8b1d2-lite.chunk.js.map +1 -0
  126. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js +3 -0
  127. package/dist/scripts/6741-ff3e4a33a5-lite.chunk.js.map +1 -0
  128. package/dist/scripts/6752-1a9837a40f-lite.chunk.js +2 -0
  129. package/dist/scripts/6752-1a9837a40f-lite.chunk.js.map +1 -0
  130. package/dist/scripts/6850-8770bfeefb-lite.chunk.js +3 -0
  131. package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +1 -0
  132. package/dist/scripts/{6863-f04753549c-lite.chunk.js → 6863-b606b8b1e7-lite.chunk.js} +2 -2
  133. package/dist/scripts/{6863-f04753549c-lite.chunk.js.map → 6863-b606b8b1e7-lite.chunk.js.map} +1 -1
  134. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js → 6930-1a681d42fd-lite.chunk.js} +1 -1
  135. package/dist/scripts/{6930-0a5d94f8b5-lite.chunk.js.map → 6930-1a681d42fd-lite.chunk.js.map} +1 -1
  136. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js +2 -0
  137. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +1 -0
  138. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js +2 -0
  139. package/dist/scripts/7097-b9a9a0a4ce-lite.chunk.js.map +1 -0
  140. package/dist/scripts/714-9ab1608522-lite.chunk.js +2 -0
  141. package/dist/scripts/714-9ab1608522-lite.chunk.js.map +1 -0
  142. package/dist/scripts/7533-e079b2af18-lite.chunk.js +2 -0
  143. package/dist/scripts/7533-e079b2af18-lite.chunk.js.map +1 -0
  144. package/dist/scripts/7715-2146591c84-lite.chunk.js +2 -0
  145. package/dist/scripts/7715-2146591c84-lite.chunk.js.map +1 -0
  146. package/dist/scripts/7855-92e790c403-lite.chunk.js +2 -0
  147. package/dist/scripts/7855-92e790c403-lite.chunk.js.map +1 -0
  148. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js → 7987-db0037709c-lite.chunk.js} +1 -1
  149. package/dist/scripts/{7987-1f9189c4c1-lite.chunk.js.map → 7987-db0037709c-lite.chunk.js.map} +1 -1
  150. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js → 8046-836d3b8e04-lite.chunk.js} +1 -1
  151. package/dist/scripts/{8046-1943b1d32b-lite.chunk.js.map → 8046-836d3b8e04-lite.chunk.js.map} +1 -1
  152. package/dist/scripts/{2877-db49c758e9-lite.chunk.js → 8157-521ad0f974-lite.chunk.js} +2 -2
  153. package/dist/scripts/{2877-db49c758e9-lite.chunk.js.map → 8157-521ad0f974-lite.chunk.js.map} +1 -1
  154. package/dist/scripts/8192-ec320614d9-lite.chunk.js +2 -0
  155. package/dist/scripts/8192-ec320614d9-lite.chunk.js.map +1 -0
  156. package/dist/scripts/8218-f3b81c7287-lite.chunk.js +2 -0
  157. package/dist/scripts/8218-f3b81c7287-lite.chunk.js.map +1 -0
  158. package/dist/scripts/8316-dad1824a5f-lite.chunk.js +2 -0
  159. package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +1 -0
  160. package/dist/scripts/8354-e30261b594-lite.chunk.js +2 -0
  161. package/dist/scripts/8354-e30261b594-lite.chunk.js.map +1 -0
  162. package/dist/scripts/8772-42c022effc-lite.chunk.js +2 -0
  163. package/dist/scripts/8772-42c022effc-lite.chunk.js.map +1 -0
  164. package/dist/scripts/8800-c88fefeace-lite.chunk.js +2 -0
  165. package/dist/scripts/8800-c88fefeace-lite.chunk.js.map +1 -0
  166. package/dist/scripts/8830-452a71751f-lite.chunk.js +2 -0
  167. package/dist/scripts/8830-452a71751f-lite.chunk.js.map +1 -0
  168. package/dist/scripts/8987-32190552fa-lite.chunk.js +2 -0
  169. package/dist/scripts/8987-32190552fa-lite.chunk.js.map +1 -0
  170. package/dist/scripts/9016-c359251f82-lite.chunk.js +3 -0
  171. package/dist/scripts/9016-c359251f82-lite.chunk.js.map +1 -0
  172. package/dist/scripts/{9226-4cff4347a9-lite.chunk.js → 9226-c236c0eeb1-lite.chunk.js} +2 -2
  173. package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +1 -0
  174. package/dist/scripts/9230-d731020b59-lite.chunk.js +3 -0
  175. package/dist/scripts/9230-d731020b59-lite.chunk.js.map +1 -0
  176. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js → 9395-9175b9efcc-lite.chunk.js} +3 -3
  177. package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.map → 9395-9175b9efcc-lite.chunk.js.map} +1 -1
  178. package/dist/scripts/9417-70c6489c67-lite.chunk.js +2 -0
  179. package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +1 -0
  180. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js → 9478-9b168ddc36-lite.chunk.js} +3 -3
  181. package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.map → 9478-9b168ddc36-lite.chunk.js.map} +1 -1
  182. package/dist/scripts/{953-b56e03bb19-lite.chunk.js → 953-85fc5f8dbf-lite.chunk.js} +3 -3
  183. package/dist/scripts/{953-b56e03bb19-lite.chunk.js.map → 953-85fc5f8dbf-lite.chunk.js.map} +1 -1
  184. package/dist/scripts/9620-630f9e6344-lite.chunk.js +3 -0
  185. package/dist/scripts/9620-630f9e6344-lite.chunk.js.map +1 -0
  186. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js +2 -0
  187. package/dist/scripts/9818-f63bdbbac4-lite.chunk.js.map +1 -0
  188. package/dist/scripts/9829-097052a2c6-lite.chunk.js +2 -0
  189. package/dist/scripts/9829-097052a2c6-lite.chunk.js.map +1 -0
  190. package/dist/scripts/{9843-a3fe640adb-lite.chunk.js → 9843-ec032b6388-lite.chunk.js} +2 -2
  191. package/dist/scripts/9843-ec032b6388-lite.chunk.js.map +1 -0
  192. package/dist/scripts/986-ea6d103647-lite.chunk.js +3 -0
  193. package/dist/scripts/986-ea6d103647-lite.chunk.js.map +1 -0
  194. package/dist/scripts/bundle-d20cb66d1a.min.js +3 -0
  195. package/dist/scripts/bundle-d20cb66d1a.min.js.map +1 -0
  196. package/package.json +1 -1
  197. package/dist/css/6102-lite-4c795e86b6.chunk.css +0 -39
  198. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js +0 -2
  199. package/dist/scripts/1169-5dc443f0f1-lite.chunk.js.map +0 -1
  200. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js +0 -2
  201. package/dist/scripts/1313-4fb9d38bc0-lite.chunk.js.map +0 -1
  202. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js +0 -2
  203. package/dist/scripts/1437-5b1889cf0d-lite.chunk.js.map +0 -1
  204. package/dist/scripts/1518-be314d1248-lite.chunk.js.map +0 -1
  205. package/dist/scripts/1672-e792631d8e-lite.chunk.js +0 -3
  206. package/dist/scripts/1672-e792631d8e-lite.chunk.js.map +0 -1
  207. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js +0 -2
  208. package/dist/scripts/1750-b8e1fca13a-lite.chunk.js.map +0 -1
  209. package/dist/scripts/1818-ca1e552c00-lite.chunk.js +0 -2
  210. package/dist/scripts/1818-ca1e552c00-lite.chunk.js.map +0 -1
  211. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js +0 -2
  212. package/dist/scripts/1820-2fa6cf6cb2-lite.chunk.js.map +0 -1
  213. package/dist/scripts/1905-a01549439f-lite.chunk.js +0 -2
  214. package/dist/scripts/1905-a01549439f-lite.chunk.js.map +0 -1
  215. package/dist/scripts/209-148abe2aa1-lite.chunk.js.map +0 -1
  216. package/dist/scripts/2137-a993d13a9a-lite.chunk.js +0 -2
  217. package/dist/scripts/2137-a993d13a9a-lite.chunk.js.map +0 -1
  218. package/dist/scripts/2199-22d8809e5e-lite.chunk.js +0 -2
  219. package/dist/scripts/2199-22d8809e5e-lite.chunk.js.map +0 -1
  220. package/dist/scripts/2703-aebc378d71-lite.chunk.js +0 -2
  221. package/dist/scripts/2703-aebc378d71-lite.chunk.js.map +0 -1
  222. package/dist/scripts/3020-9f647705a0-lite.chunk.js +0 -2
  223. package/dist/scripts/3020-9f647705a0-lite.chunk.js.map +0 -1
  224. package/dist/scripts/3231-7e9965499c-lite.chunk.js +0 -2
  225. package/dist/scripts/3231-7e9965499c-lite.chunk.js.map +0 -1
  226. package/dist/scripts/3355-e65e88adaa-lite.chunk.js +0 -2
  227. package/dist/scripts/3355-e65e88adaa-lite.chunk.js.map +0 -1
  228. package/dist/scripts/3403-a2111c4df8-lite.chunk.js +0 -2
  229. package/dist/scripts/3403-a2111c4df8-lite.chunk.js.map +0 -1
  230. package/dist/scripts/3515-925a7caeac-lite.chunk.js +0 -2
  231. package/dist/scripts/3515-925a7caeac-lite.chunk.js.map +0 -1
  232. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js +0 -2
  233. package/dist/scripts/355-3bb5ae2ea4-lite.chunk.js.map +0 -1
  234. package/dist/scripts/3645-720267b321-lite.chunk.js +0 -3
  235. package/dist/scripts/3645-720267b321-lite.chunk.js.map +0 -1
  236. package/dist/scripts/3895-f7f4926229-lite.chunk.js +0 -2
  237. package/dist/scripts/3895-f7f4926229-lite.chunk.js.map +0 -1
  238. package/dist/scripts/458-b99f17e0a1-lite.chunk.js +0 -2
  239. package/dist/scripts/458-b99f17e0a1-lite.chunk.js.map +0 -1
  240. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js +0 -2
  241. package/dist/scripts/4690-774e3c0e2a-lite.chunk.js.map +0 -1
  242. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js +0 -2
  243. package/dist/scripts/5143-b77fb12d6a-lite.chunk.js.map +0 -1
  244. package/dist/scripts/5229-f683f705ab-lite.chunk.js +0 -2
  245. package/dist/scripts/5229-f683f705ab-lite.chunk.js.map +0 -1
  246. package/dist/scripts/5385-50d4828b70-lite.chunk.js +0 -2
  247. package/dist/scripts/5385-50d4828b70-lite.chunk.js.map +0 -1
  248. package/dist/scripts/5595-c622318cd2-lite.chunk.js +0 -2
  249. package/dist/scripts/5595-c622318cd2-lite.chunk.js.map +0 -1
  250. package/dist/scripts/5936-4cac311002-lite.chunk.js.map +0 -1
  251. package/dist/scripts/5940-d841fd31d8-lite.chunk.js +0 -2
  252. package/dist/scripts/5940-d841fd31d8-lite.chunk.js.map +0 -1
  253. package/dist/scripts/610-27e5444f01-lite.chunk.js.map +0 -1
  254. package/dist/scripts/6102-30960404a9-lite.chunk.js +0 -3
  255. package/dist/scripts/6102-30960404a9-lite.chunk.js.map +0 -1
  256. package/dist/scripts/6189-13009e2ba9-lite.chunk.js +0 -2
  257. package/dist/scripts/6189-13009e2ba9-lite.chunk.js.map +0 -1
  258. package/dist/scripts/6263-82ae071643-lite.chunk.js +0 -2
  259. package/dist/scripts/6263-82ae071643-lite.chunk.js.map +0 -1
  260. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js +0 -2
  261. package/dist/scripts/6470-2cefcc8abd-lite.chunk.js.map +0 -1
  262. package/dist/scripts/6531-835c743f1b-lite.chunk.js +0 -2
  263. package/dist/scripts/6531-835c743f1b-lite.chunk.js.map +0 -1
  264. package/dist/scripts/6572-0aa0696621-lite.chunk.js +0 -2
  265. package/dist/scripts/6572-0aa0696621-lite.chunk.js.map +0 -1
  266. package/dist/scripts/671-300e93ac50-lite.chunk.js +0 -2
  267. package/dist/scripts/671-300e93ac50-lite.chunk.js.map +0 -1
  268. package/dist/scripts/6725-23b09d47ae-lite.chunk.js.map +0 -1
  269. package/dist/scripts/6741-937ae1865f-lite.chunk.js +0 -3
  270. package/dist/scripts/6741-937ae1865f-lite.chunk.js.map +0 -1
  271. package/dist/scripts/6846-08b00decd8-lite.chunk.js +0 -2
  272. package/dist/scripts/6846-08b00decd8-lite.chunk.js.map +0 -1
  273. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js +0 -2
  274. package/dist/scripts/6948-4ab91f77dc-lite.chunk.js.map +0 -1
  275. package/dist/scripts/7052-4c36846f80-lite.chunk.js +0 -3
  276. package/dist/scripts/7052-4c36846f80-lite.chunk.js.map +0 -1
  277. package/dist/scripts/7097-af8c032133-lite.chunk.js +0 -2
  278. package/dist/scripts/7097-af8c032133-lite.chunk.js.map +0 -1
  279. package/dist/scripts/714-2e52398bb7-lite.chunk.js +0 -2
  280. package/dist/scripts/714-2e52398bb7-lite.chunk.js.map +0 -1
  281. package/dist/scripts/7187-414ac79d42-lite.chunk.js +0 -2
  282. package/dist/scripts/7187-414ac79d42-lite.chunk.js.map +0 -1
  283. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js +0 -2
  284. package/dist/scripts/7533-f2e71bd0dd-lite.chunk.js.map +0 -1
  285. package/dist/scripts/7630-72099a7a26-lite.chunk.js +0 -2
  286. package/dist/scripts/7630-72099a7a26-lite.chunk.js.map +0 -1
  287. package/dist/scripts/7715-255bbe16ef-lite.chunk.js +0 -2
  288. package/dist/scripts/7715-255bbe16ef-lite.chunk.js.map +0 -1
  289. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js +0 -2
  290. package/dist/scripts/7855-04bc8e52e3-lite.chunk.js.map +0 -1
  291. package/dist/scripts/8085-cde67e66df-lite.chunk.js +0 -2
  292. package/dist/scripts/8085-cde67e66df-lite.chunk.js.map +0 -1
  293. package/dist/scripts/8139-01ccbc0539-lite.chunk.js +0 -3
  294. package/dist/scripts/8139-01ccbc0539-lite.chunk.js.map +0 -1
  295. package/dist/scripts/8218-70b601169b-lite.chunk.js +0 -2
  296. package/dist/scripts/8218-70b601169b-lite.chunk.js.map +0 -1
  297. package/dist/scripts/8316-7ab8f108de-lite.chunk.js +0 -2
  298. package/dist/scripts/8316-7ab8f108de-lite.chunk.js.map +0 -1
  299. package/dist/scripts/8354-a03785518e-lite.chunk.js +0 -2
  300. package/dist/scripts/8354-a03785518e-lite.chunk.js.map +0 -1
  301. package/dist/scripts/8772-05879c5e99-lite.chunk.js +0 -2
  302. package/dist/scripts/8772-05879c5e99-lite.chunk.js.map +0 -1
  303. package/dist/scripts/8830-0d2766a50f-lite.chunk.js +0 -2
  304. package/dist/scripts/8830-0d2766a50f-lite.chunk.js.map +0 -1
  305. package/dist/scripts/8987-12841dd69c-lite.chunk.js +0 -2
  306. package/dist/scripts/8987-12841dd69c-lite.chunk.js.map +0 -1
  307. package/dist/scripts/9016-df37abbca9-lite.chunk.js +0 -3
  308. package/dist/scripts/9016-df37abbca9-lite.chunk.js.map +0 -1
  309. package/dist/scripts/9226-4cff4347a9-lite.chunk.js.map +0 -1
  310. package/dist/scripts/9230-c79353d3ee-lite.chunk.js +0 -3
  311. package/dist/scripts/9230-c79353d3ee-lite.chunk.js.map +0 -1
  312. package/dist/scripts/9417-7313907916-lite.chunk.js +0 -2
  313. package/dist/scripts/9417-7313907916-lite.chunk.js.map +0 -1
  314. package/dist/scripts/9620-8814c74837-lite.chunk.js +0 -3
  315. package/dist/scripts/9620-8814c74837-lite.chunk.js.map +0 -1
  316. package/dist/scripts/9839-5befd54d51-lite.chunk.js +0 -3
  317. package/dist/scripts/9839-5befd54d51-lite.chunk.js.map +0 -1
  318. package/dist/scripts/9843-a3fe640adb-lite.chunk.js.map +0 -1
  319. package/dist/scripts/bundle-48ad415564.min.js +0 -3
  320. package/dist/scripts/bundle-48ad415564.min.js.map +0 -1
  321. package/dist/css/{7422-lite-22ea72f8e3.chunk.css → 7422-lite-c999db664b.chunk.css} +1 -1
  322. /package/dist/scripts/{1379-2ee86e6e68-lite.chunk.js.LICENSE.txt → 1379-3a1ba4b4d9-lite.chunk.js.LICENSE.txt} +0 -0
  323. /package/dist/scripts/{1672-e792631d8e-lite.chunk.js.LICENSE.txt → 1672-672f298d82-lite.chunk.js.LICENSE.txt} +0 -0
  324. /package/dist/scripts/{3645-720267b321-lite.chunk.js.LICENSE.txt → 2004-4e2d98041c-lite.chunk.js.LICENSE.txt} +0 -0
  325. /package/dist/scripts/{6102-30960404a9-lite.chunk.js.LICENSE.txt → 3645-72ca9f63df-lite.chunk.js.LICENSE.txt} +0 -0
  326. /package/dist/scripts/{624-010454cb12-lite.chunk.js.LICENSE.txt → 6102-f1851eca08-lite.chunk.js.LICENSE.txt} +0 -0
  327. /package/dist/scripts/{6433-fe9efef305-lite.chunk.js.LICENSE.txt → 624-7df7efd486-lite.chunk.js.LICENSE.txt} +0 -0
  328. /package/dist/scripts/{6741-937ae1865f-lite.chunk.js.LICENSE.txt → 6433-8dd152d999-lite.chunk.js.LICENSE.txt} +0 -0
  329. /package/dist/scripts/{7052-4c36846f80-lite.chunk.js.LICENSE.txt → 6741-ff3e4a33a5-lite.chunk.js.LICENSE.txt} +0 -0
  330. /package/dist/scripts/{8139-01ccbc0539-lite.chunk.js.LICENSE.txt → 6850-8770bfeefb-lite.chunk.js.LICENSE.txt} +0 -0
  331. /package/dist/scripts/{9016-df37abbca9-lite.chunk.js.LICENSE.txt → 9016-c359251f82-lite.chunk.js.LICENSE.txt} +0 -0
  332. /package/dist/scripts/{9230-c79353d3ee-lite.chunk.js.LICENSE.txt → 9230-d731020b59-lite.chunk.js.LICENSE.txt} +0 -0
  333. /package/dist/scripts/{9395-8ad1f28459-lite.chunk.js.LICENSE.txt → 9395-9175b9efcc-lite.chunk.js.LICENSE.txt} +0 -0
  334. /package/dist/scripts/{9478-5a0abba4f7-lite.chunk.js.LICENSE.txt → 9478-9b168ddc36-lite.chunk.js.LICENSE.txt} +0 -0
  335. /package/dist/scripts/{953-b56e03bb19-lite.chunk.js.LICENSE.txt → 953-85fc5f8dbf-lite.chunk.js.LICENSE.txt} +0 -0
  336. /package/dist/scripts/{9620-8814c74837-lite.chunk.js.LICENSE.txt → 9620-630f9e6344-lite.chunk.js.LICENSE.txt} +0 -0
  337. /package/dist/scripts/{9839-5befd54d51-lite.chunk.js.LICENSE.txt → 986-ea6d103647-lite.chunk.js.LICENSE.txt} +0 -0
  338. /package/dist/scripts/{bundle-48ad415564.min.js.LICENSE.txt → bundle-d20cb66d1a.min.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7097],{93251:(e,t,n)=>{n.d(t,{J:()=>H});var r=n(32735),a=n(75896),i=n(1048),o=n(34509),l=n(11607),c=n(83345),s="search.filterActions";function u(e){return r.createElement("div",{className:"d-flex justify-content-between ".concat(e.className)},e.active?r.createElement(l.L,{className:"text-secondary hover-text-underline cursor-pointer",onClick:e.onClickReset},r.createElement(c.x,{namespace:s,phrase:"reset"})):r.createElement("div",{className:"invisible"}),r.createElement(l.L,{className:"info-link",onClick:e.onClickApply},r.createElement(c.x,{namespace:s,phrase:"apply"})))}u.defaultProps={active:!1,className:""};var f=n(96675),d=n(97514),m=n(83914);const p={hideCaret:"KDq7l",filterMenu:"E9o_Q",twoColumnsWidth:"C70vU",nestedCheckboxesWidth:"kUHcg",switchWidth:"bi1FH",moreFiltersWidth:"rbr22",svgContainer:"UwDMA"};function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return g(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e){var t=r.useContext(f.f).state,n=t[e.filter.id],a="dropdown"===e.filter.type,i=v(r.useState(e.filter.name),2),l=i[0],c=i[1],s=v(r.useState(!1),2),g=s[0],b=s[1],h=v(r.useState(n),2),E=h[0],C=h[1];function S(e){C(e),a&&w(e)}function w(){var r,a,i,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:E;d.qr.applyFilter([e.filter],n,(r={},a=e.filter.id,i=o,(a=function(e){var t=function(e,t){if("object"!=y(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==y(t)?t:t+""}(a))in r?Object.defineProperty(r,a,{value:i,enumerable:!0,configurable:!0,writable:!0}):r[a]=i,r),t.appLink)}r.useEffect((function(){c(d.qr.getLabel(e.filter,n)),C(n)}),[e.filter,null==n?void 0:n.selection]);var k,x=r.useMemo((function(){return e.filter.customComponent?e.filter.customComponent:d.qr.mapTypeToComponent(e.filter.type)}),[e.filter.type]),A=e.hideCaret&&!a?p.hideCaret:"",j=(k=e.filter,d.qr.displayTwoColumns(k)?p.twoColumnsWidth:"classification"===k.id?p.classificationWidth:d.qr.displayTwoLayers(k)?p.nestedCheckboxesWidth:"switch"===k.type?p.switchWidth:"");return"button"===e.filter.type?r.createElement(x,{filter:e.filter,draftState:E,setDraftState:S}):r.createElement(o.Z,{onToggle:function(e){b(e),e||a||w()},show:g},r.createElement(o.Z.Toggle,{id:"filterButton-".concat(e.filter.id),className:"".concat("fw-semibold mx-1 btn d-flex align-items-center"," ").concat(A),variant:n.active&&!a?"dark":"outline-dark",disabled:e.filter.disabled},!!e.filter.icon&&r.createElement("div",{className:p.svgContainer},r.createElement(m.x,{svgName:e.filter.icon})),e.filter.labelPrefix," ",l),r.createElement(o.Z.Menu,null,r.createElement("div",{className:"mx-1 ".concat(p.filterMenu," ").concat(j," ").concat(a?"":"px-2 py-1")},r.createElement(x,{filter:e.filter,draftState:E,setDraftState:S}),!a&&!e.filter.disabled&&r.createElement(u,{active:E.active,onClickReset:function(){var t,n=null===(t=e.filter.options)||void 0===t?void 0:t.find((function(e){return e.default}));C({active:!1,selection:n?[n]:[]})},onClickApply:function(){w(),b(!1)}}))))}b.defaultProps={hideCaret:!0};var h=n(91967);function E(e){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},E(e)}var C={getSetStateByKey:function(e,t,n){return function(r){return e((function(e){var a,i,o,l=h.q.isFunction(n)?n:h.q.useIdentity();return Object.assign(Object.assign({},e),(a={},i=t,o=l(r,e),(i=function(e){var t=function(e,t){if("object"!=E(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==E(t)?t:t+""}(i))in a?Object.defineProperty(a,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):a[i]=o,a))}))}}};function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return w(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e){return Object.keys(e).reduce((function(t,n){return e[n].active?t+1:t}),0)}function x(e){var t=r.useContext(f.f).state,n=t.moreFilters,a=S(r.useState(e.filter.name),2),i=a[0],l=a[1],c=S(r.useState(!1),2),s=c[0],m=c[1],y=S(r.useState(n),2),v=y[0],g=y[1],b=S(r.useState(k(n)),2),h=b[0],E=b[1],w=Object.keys(n).map((function(e){return"".concat(e,":").concat(n[e].active)})).join("-");function x(){d.qr.applyFilter(e.filter.filters,n,v,t.appLink)}r.useEffect((function(){g(n),E(k(n))}),[e.filter,w]),r.useEffect((function(){l(h?"".concat(e.filter.name," - ").concat(h):e.filter.name)}),[h]);var A="fw-semibold ".concat(p.hideCaret," mx-1 btn");return r.createElement(o.Z,{onToggle:function(e){m(e),e||x()},show:s},r.createElement(o.Z.Toggle,{id:e.filter.id,className:A,variant:h?"dark":"outline-dark"},i),r.createElement(o.Z.Menu,{onClick:function(e){return e.stopPropagation()}},r.createElement("div",{className:"mx-1 ".concat(p.moreFiltersWidth," ").concat("dropdown"!==e.filter.type?"px-2 py-1":"")},e.filter.filters.map((function(e){var t=e.customComponent?e.customComponent:d.qr.mapTypeToComponent(e.type);return r.createElement("div",{key:e.id,className:"mb-2"},r.createElement(t,{filter:e,draftState:v[e.id],setDraftState:C.getSetStateByKey(g,e.id),isOnMoreFilters:!0}))})),r.createElement(u,{active:!!Object.keys(v).find((function(e){return v[e].active})),onClickReset:function(){var t=Object.keys(n).reduce((function(t,n){var r,a=null===(r=e.filter.filters.find((function(e){return e.id===n})).options)||void 0===r?void 0:r.find((function(e){return e.default}));return t[n]={active:!1,selection:a?[a]:[]},t}),{});g(t)},onClickApply:function(){x(),m(!1)}}))))}var A=n(63112),j=n(16450),F=n(16035);const N={tagItem:"EcurS",selected:"FypfE"};function O(e){var t=e.selectedItems.find((function(t){return t.id===e.data.id}))?"".concat(N.selected," text-info"):"bg-light";return r.createElement(F.z,{tag:e.data,appLink:e.appLink,tagClass:"no-decoration ".concat(t," ").concat(N.tagItem),onClick:function(){return e.onClick(e.data)}})}const I={tagItem:"j84HW"};function L(e){return L="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},L(e)}function T(e){return function(e){if(Array.isArray(e))return q(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return q(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function P(e){var t,n,a,i,o=r.useContext(f.f).state;if(!(null===(t=e.filter)||void 0===t?void 0:t.id))return r.createElement(r.Fragment,null);var l=o[e.filter.id],c=l.selection,s=null!==(i=null===(a=null===(n=e.filter)||void 0===n?void 0:n.options)||void 0===a?void 0:a.filter((function(e){return!(null==c?void 0:c.find((function(t){return t.id===e.id})))})))&&void 0!==i?i:[];function u(t){var n,r,a,i=null,s=-1;if(c.find((function(e,n){s>-1||e.id.toString()===t.id.toString()&&(s=n)})),s>=0){var u=[].concat(T(c.slice(0,s)),T(c.slice(s+1)));i={active:!!u.length,selection:u}}else i={active:!0,selection:c.concat(t)};d.qr.applyFilter([e.filter],l,(n={},r=e.filter.id,a=i,(r=function(e){var t=function(e,t){if("object"!=L(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=L(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==L(t)?t:t+""}(r))in n?Object.defineProperty(n,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[r]=a,n),o.appLink)}var m,p=[].concat(T(c),T(e.isFetching?[]:s));return r.createElement("div",{className:e.isFetching||p.length?"py-2":""},r.createElement("div",{className:(m="mb-3",p.length&&e.isFetching?m+=" mt-n1":p.length||e.isFetching||(m+=" d-none"),m)},(!!p.length||e.isFetching)&&r.createElement(j.e,{collection:p,childComponent:function(e){return r.createElement(O,Object.assign({},e,{selectedItems:c,onClick:u}))},staticChildren:e.isFetching?new Array(3).fill({component:function(){return r.createElement(A.o,{tagClass:I.tagItem})},position:"end"}):[],partialLoadingComponent:function(){return r.createElement("div",{className:"me-2"},r.createElement(A.o,{tagClass:"".concat(I.tagItem)}))}})))}var D=n(81886);function M(e){var t=r.useContext(f.f).state;return r.createElement(l.L,{onClick:function(){D.Q.C$.trigger(Object.assign(Object.assign({},t.appLink),{params:e.currentQueryParam?{query:e.currentQueryParam}:null}))},className:"".concat(e.alignLeft?"order-first":""," hover-text-underline cursor-pointer d-flex align-items-center mx-2")},r.createElement(c.x,{namespace:"search.resetButton",phrase:"reset"}))}var Q=n(95245);function R(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Z(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){if(e){if("string"==typeof e)return B(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function H(e){var t,n,o=e.queryParams,l=e.appLink,s=e.hideHeading,u=e.isFetchingOptions,m=e.constantIndices,p=void 0===m?[]:m,y=r.useMemo((function(){return d.qr.deriveInitialStateFromQuery(o,e.mainFilters,e.moreFilters,l)}),[o,u]),v=(t=r.useReducer(f.O,y),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw a}}return l}}(t,n)||Z(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=v[0],h=v[1];r.useEffect((function(){i.t.isEqual(y,g)||(h({type:"update",payload:y}),e.analyticsOptions&&d.qr.logFilterEvent(e.mainFilters,e.moreFilters,y,o.query,e.analyticsOptions))}),[y]);var E=a.m.uniq([].concat(R(d.qr.getAppliedIndices(o)),R(p))),C=d.qr.mixinDisabledFields(g,E,e.mainFilters,e.moreFilters),S=C.mainFilters,w=C.moreFilters,k=S.filter((function(e){return"tag"!==e.type})),A=S.find((function(e){return"tag"===e.type}));return r.createElement(f.f.Provider,{value:{state:g,dispatch:h}},r.createElement(c.D.Provider,{value:"search.searchFilters"},r.createElement("section",null,r.createElement("div",{className:"d-flex ".concat(e.hideDivider?"":"border-bottom pb-3 mb-3")},!s&&r.createElement("h2",{className:"h5 mb-0 d-inline-block pe-2 border-end d-flex align-items-center"},r.createElement(c.x,{phrase:"heading"})),r.createElement("div",{className:"d-flex flex-wrap ".concat(Q.Z.filtersContainer," ").concat(s?"":"ms-2")},k.map((function(t){return r.createElement(b,{key:t.id,filter:t,hideCaret:e.hideCaret})})),w&&r.createElement(x,{filter:w}),d.qr.hasActiveFilters(o)&&!e.hideResetButton&&r.createElement(M,{mainFilters:e.mainFilters,moreFilters:e.moreFilters,currentQueryParam:o.query,analyticsOptions:e.analyticsOptions,alignLeft:e.alignResetButtonLeft}))),r.createElement(P,{filter:A,queryParams:o,isFetching:e.isFetchingOptions}))))}},63112:(e,t,n)=>{n.d(t,{o:()=>i});var r=n(32735),a=n(91807),i=r.memo((function(e){var t=e.tagClass,n="partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ".concat(void 0===t?"":t," ").concat(a.Z.partialTag);return r.createElement("div",{className:"mt-1"},r.createElement("span",{className:n}," "))}))},16035:(e,t,n)=>{n.d(t,{z:()=>l});var r=n(32735),a=n(36848),i=n(44829),o=n(91807);function l(e){var t,n,l=e.tag,c=e.appLink,s=e.onClick,u=e.disabled,f=e.tagClass,d=void 0===f?"tag":f,m=l.name.toLowerCase(),p=null===(t=l.tagType)||void 0===t?void 0:t.toLowerCase(),y="rounded-pill py-1 px-2 my-1 me-1 ".concat(d," ").concat(function(e){switch(e){case i.Q.Pedagogy:case i.Q.Skill:return"pedagogy-tag text-white";case i.Q.Hidden:return"hidden-tag";case i.Q.Normal:default:return""}}(p)),v=p===i.Q.Normal&&!!(null===(n=e.themeColours)||void 0===n?void 0:n.secondary);v&&(y+=" text-white"),!c&&!s||u||(y+=" cursor-pointer"),u&&(y+=" "+o.Z.disabled),e.onRemove&&(y+=" "+o.Z.badge),c||(y+=" d-inline-block");var g=v?{backgroundColor:e.themeColours.secondary}:{};return c?r.createElement(a.F,{onClick:s,appLink:c,className:y,title:m,style:g},r.createElement("span",{className:"text-truncate text-nowrap"},m)):r.createElement("span",{onClick:s,className:y,title:m,style:g},r.createElement("span",{className:"text-truncate text-nowrap"},m,e.onRemove&&r.createElement("button",{onClick:e.onRemove,className:"".concat(o.Z.close," btn-close font-size-normal"),role:"button","aria-label":"Close"})))}},88513:(e,t,n)=>{n.d(t,{B:()=>u});var r=n(32735),a=n(23481),i=n(65858),o=n(36848);const l={seeMore:"yv0FS"};var c=a.T.encloseNamespace("shared.widgetHeader");function s(e){return r.createElement("div",{className:"ms-3 ".concat(l.seeMore)},r.createElement(o.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:Object.assign(Object.assign({},e.analyticsOptions),{descriptor:i._S.SeeMore}),className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":"")},r.createElement("p",{className:"hover-text-underline text-dark curated-widget-heading"},c("seeMore"))))}function u(e){var t=!!e.description;return e.name||e.description?r.createElement("div",{className:"curated-widget-header"},r.createElement("div",{className:"d-flex justify-content-between"},!!e.name&&r.createElement("div",{className:l.title},r.createElement(o.F,{appLink:e.appLink,analyticsOptions:e.analyticsOptions,analyticsData:e.analyticsData,className:"text-decoration-none ".concat(e.appLink?"curated-widget-link":""),onClick:e.onClick},r.createElement("h2",{className:"h4 curated-widget-heading"},e.name))),!!e.appLink&&!t&&!!e.showSeeMoreLink&&r.createElement(s,Object.assign({},e))),t&&r.createElement("div",{className:"d-flex justify-content-between align-items-end"},r.createElement("p",{className:"description curated-widget-description ".concat(l.description)},r.createElement("span",null,e.description)),!!e.appLink&&!!e.showSeeMoreLink&&r.createElement(s,Object.assign({},e)))):r.createElement(r.Fragment,null)}},43872:(e,t,n)=>{n.d(t,{V:()=>u});var r=n(32735),a=n(82182),i=n(31069),o=n(91967),l=new Image;l.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=";var c=function(e){e.dataTransfer.setDragImage&&o.q.isFunction(e.dataTransfer.setDragImage)&&e.dataTransfer.setDragImage(l,0,0)},s=a.V.isTouchScreen(),u=r.forwardRef((function(e,t){var n,a,o,l,u=e.children,f=e.positionType,d=e.onDrag,m=e.onDragEnd,p=e.onTouchMove,y=e.onTouchEnd,v=e.percentageDragged,g=e.position,b=void 0===g?0:g;return r.createElement("div",Object.assign({className:"d-flex flex-nowrap position-relative w-100",style:(a=b,o=f,l=v,o===i.C.Percentage&&l&&(a-=l),{transform:"translate3d(".concat(a).concat(o,", 0px, 0px)"),transition:"transform .4s ease-in-out"}),ref:t},(n={},d&&m&&(n.draggable=!0,n.onDragEnd=m,n.onDragStart=c,n.onDragOver=d),p&&y&&s&&(n.onTouchMoveCapture=p,n.onTouchEndCapture=y),n)),u)}))},31069:(e,t,n)=>{var r;n.d(t,{C:()=>r}),function(e){e.Percentage="%",e.Pixels="px"}(r||(r={}))},44829:(e,t,n)=>{var r,a;n.d(t,{Q:()=>r}),function(e){e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.Pedagogy=1]="Pedagogy",e[e.Hidden=2]="Hidden",e[e.Skill=3]="Skill",e[e.Curation=4]="Curation"}(a||(a={}))},10841:(e,t,n)=>{var r;n.d(t,{n:()=>r}),function(e){e.Init="init",e.Next="next",e.Previous="previous",e.Resize="resize",e.Drag="drag",e.Update="update",e.JumpToIndex="jump-to-index"}(r||(r={}))},94644:(e,t,n)=>{n.d(t,{r:()=>u});var r=n(50242),a=n(81886),i=n(67058),o=n(14553),l=n(49267),c=n(49075),s={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:l.a,privacy:o.q},badRequest:c._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var o=Object.assign(Object.assign({},s),t);i&&a.Q.Ry.isStatusCodeError(i)&&(i!==r.o.NotFound?i!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new o.badRequest):n.forbidden||a.Q.Ry.throw(new o.forbidden.privacy):n.notFound||a.Q.Ry.throw(new o.notFound))}}},95245:(e,t,n)=>{n.d(t,{Z:()=>r});const r={partialFilterHeading:"O8f8H",partialButton:"ThKam",filtersContainer:"JIp3h"}},91807:(e,t,n)=>{n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}}}]);
2
- //# sourceMappingURL=7097-af8c032133-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/7097-af8c032133-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/search/components/filter-actions/FilterActions.tsx","file:///app/packages/libs/shared/src/apps/search/components/filter-button/filter-button.scss","file:///app/packages/libs/shared/src/apps/search/components/filter-button/FilterButton.tsx","file:///app/packages/libs/shared/src/utils/StateHelper.ts","file:///app/packages/libs/shared/src/apps/search/components/filter-button/MoreFiltersButton.tsx","file:///app/packages/libs/shared/src/components/widgets/items/tag-widget-item/tag-widget-item.scss","file:///app/packages/libs/shared/src/components/widgets/items/tag-widget-item/TagWidgetItem.tsx","file:///app/packages/libs/shared/src/apps/search/components/filter-types/tag-filter/tag-filter.scss","file:///app/packages/libs/shared/src/apps/search/components/filter-types/tag-filter/TagFilter.tsx","file:///app/packages/libs/shared/src/apps/search/components/reset-button/ResetButton.tsx","file:///app/packages/libs/shared/src/apps/search/components/search-filters/SearchFilters.tsx","file:///app/packages/libs/shared/src/components/tags/PartialTagItem.tsx","file:///app/packages/libs/shared/src/components/tags/TagItem.tsx","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/widget-header.scss","file:///app/packages/libs/shared/src/components/widgets/curated-widgets/components/header/WidgetHeader.tsx","file:///app/packages/libs/shared/src/utils/DragHelper.ts","file:///app/packages/libs/shared/src/components/widgets/sliding-list/SlidingListContainer.tsx","file:///app/packages/libs/shared/src/enums/CssMeasurement.ts","file:///app/packages/libs/shared/src/enums/TagType.ts","file:///app/packages/libs/shared/src/enums/WidgetInteraction.ts","file:///app/packages/libs/shared/src/errors/handlers/HttpErrorHandlers.ts","file:///app/packages/libs/shared/src/apps/search/components/search-filters/search-filters.scss","file:///app/packages/libs/shared/src/components/tags/tags.scss"],"sourcesContent":["import * as React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'search.filterActions';\n\ninterface FilterActionsProps {\n className?: string;\n onClickReset: () => void;\n onClickApply: () => void;\n active: boolean;\n}\n\nFilterActions.defaultProps = {\n active: false,\n className: ''\n};\n\nexport function FilterActions(props: FilterActionsProps): JSX.Element {\n return (\n <div className={`d-flex justify-content-between ${props.className}`}>\n {props.active ? (\n <DivButton className='text-secondary hover-text-underline cursor-pointer' onClick={props.onClickReset}>\n <Text namespace={namespace} phrase='reset' />\n </DivButton>\n ) : (\n <div className='invisible' />\n )}\n\n <DivButton className='info-link' onClick={props.onClickApply}>\n <Text namespace={namespace} phrase='apply' />\n </DivButton>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"hideCaret\":\"KDq7l\",\"filterMenu\":\"E9o_Q\",\"twoColumnsWidth\":\"C70vU\",\"nestedCheckboxesWidth\":\"kUHcg\",\"switchWidth\":\"bi1FH\",\"moreFiltersWidth\":\"rbr22\",\"svgContainer\":\"UwDMA\"};","import * as React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { FilterActions } from 'libs/shared/apps/search/components/filter-actions/FilterActions';\nimport { SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterState } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\n\nimport styles from './filter-button.scss';\n\n/**\n * If your filter requires some customisations to the default width, add a use case here.\n */\nfunction getCustomWidthClass(filter: SearchFilter): string {\n if (FilterHelper.displayTwoColumns(filter))\n return styles.twoColumnsWidth;\n\n // Some classifications has long names, so we make them wider\n if (filter.id === 'classification')\n return styles.classificationWidth;\n \n if (FilterHelper.displayTwoLayers(filter))\n return styles.nestedCheckboxesWidth;\n\n if (filter.type === 'switch')\n return styles.switchWidth;\n\n return '';\n}\n\nFilterButton.defaultProps = {\n hideCaret: true\n};\n\ninterface FilterButtonProps {\n filter: SearchFilter;\n hideCaret?: boolean;\n}\n\nexport function FilterButton(props: FilterButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n const currentFilterState = state[props.filter.id];\n\n const isDropdownFilter = props.filter.type === 'dropdown';\n\n const [ label, setLabel ] = React.useState(props.filter.name);\n const [ showDropdown, setShowDropdown ] = React.useState(false);\n const [ draftState, setDraftState ] = React.useState<FilterState>(currentFilterState);\n\n React.useEffect(() => {\n setLabel(FilterHelper.getLabel(props.filter, currentFilterState));\n setDraftState(currentFilterState);\n }, [ props.filter, currentFilterState?.selection ]);\n\n function onSelectItem(state: FilterState): void {\n setDraftState(state);\n\n if (isDropdownFilter)\n applyFilter(state);\n }\n\n function onClickReset(): void {\n const defaultOption = props.filter.options?.find(o => o.default);\n\n setDraftState({\n active: false,\n selection: defaultOption ? [defaultOption] : []\n });\n }\n\n function onClickApply(): void {\n applyFilter();\n setShowDropdown(false);\n }\n\n function applyFilter(newState: FilterState = draftState): void {\n FilterHelper.applyFilter(\n [props.filter],\n currentFilterState,\n { [props.filter.id]: newState },\n state.appLink\n );\n }\n\n function onToggleDropdown(isShowing: boolean): void {\n setShowDropdown(isShowing);\n\n if (isShowing || isDropdownFilter)\n return;\n\n // Apply the filter if the dropdown has been closed\n applyFilter();\n }\n\n const FilterComponent = React.useMemo(() => {\n return props.filter.customComponent\n ? props.filter.customComponent\n : FilterHelper.mapTypeToComponent(props.filter.type);\n }, [props.filter.type]);\n\n const baseClass = `fw-semibold mx-1 btn d-flex align-items-center`;\n const caretClass = props.hideCaret && !isDropdownFilter ? styles.hideCaret : '';\n const customWidthClass = getCustomWidthClass(props.filter);\n\n if (props.filter.type === 'button')\n return (\n <FilterComponent\n filter={props.filter}\n draftState={draftState}\n setDraftState={onSelectItem}\n />\n );\n\n return (\n <Dropdown onToggle={onToggleDropdown} show={showDropdown}>\n <Dropdown.Toggle\n id={`filterButton-${props.filter.id}`}\n className={`${baseClass} ${caretClass}`}\n variant={(currentFilterState.active && !isDropdownFilter) ? 'dark' : 'outline-dark'}\n disabled={props.filter.disabled}\n >\n {!!props.filter.icon && (\n <div className={styles.svgContainer}>\n <SvgContainer svgName={props.filter.icon} />\n </div>\n )}\n {props.filter.labelPrefix} {label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n <div className={`mx-1 ${styles.filterMenu} ${customWidthClass} ${!isDropdownFilter ? 'px-2 py-1' : ''}`}>\n <FilterComponent\n filter={props.filter}\n draftState={draftState}\n setDraftState={onSelectItem}\n />\n\n {(!isDropdownFilter && !props.filter.disabled) && (\n <FilterActions\n active={draftState.active}\n onClickReset={onClickReset}\n onClickApply={onClickApply}\n />\n )}\n </div>\n </Dropdown.Menu>\n </Dropdown>\n );\n}\n","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nexport const StateHelper = {\n /**\n * Helper function to get the setState function for an individual key in a state object.\n * \n * @param setState React setState action\n * @param key Property within the state object we're updating\n * @param callback Optional callback to modify data before setting state. Uses identity fn by default.\n * \n * @returns Newly updated state object\n */\n getSetStateByKey<T extends HashObject>(\n setState: React.Dispatch<React.SetStateAction<T>>,\n key: keyof T,\n callback?: (data: any, state?: T) => T[keyof T]\n ): (data: any) => void {\n return (data: any) => setState(state => {\n const fn = FunctionHelper.isFunction(callback) ? callback : FunctionHelper.useIdentity<T>();\n return { ...state, [key]: fn(data, state) };\n });\n }\n};","import * as React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { FilterActions } from 'libs/shared/apps/search/components/filter-actions/FilterActions';\nimport { FilterIds, MoreFilters } from 'libs/shared/apps/search/interfaces';\nimport { DraftState, FilterContext, FilterStateHash } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { StateHelper } from 'libs/shared/utils/StateHelper';\n\nimport styles from './filter-button.scss';\n\nfunction getTotalActiveFilters(currentState: FilterStateHash): number {\n const total = Object.keys(currentState).reduce((acc: number, key: FilterIds) => {\n return currentState[key].active\n ? acc + 1\n : acc;\n }, 0);\n\n return total;\n}\n\ninterface MoreFiltersButtonProps {\n filter: MoreFilters;\n}\n\nexport function MoreFiltersButton(props: MoreFiltersButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n const currentFilterState = state.moreFilters;\n\n const [ label, setLabel ] = React.useState(props.filter.name);\n const [ showDropdown, setShowDropdown ] = React.useState(false);\n const [ draftState, setDraftState ] = React.useState<DraftState>(currentFilterState);\n const [ totalActiveFilters, setTotalActiveFilters ] = React.useState(getTotalActiveFilters(currentFilterState));\n\n const currentFilterStateKey = Object.keys(currentFilterState).map((id: FilterIds) => {\n return `${id}:${currentFilterState[id].active}`;\n }).join('-');\n\n React.useEffect(() => {\n setDraftState(currentFilterState);\n setTotalActiveFilters(getTotalActiveFilters(currentFilterState));\n }, [ props.filter, currentFilterStateKey ]);\n\n React.useEffect(() => {\n setLabel(totalActiveFilters ? `${props.filter.name} - ${totalActiveFilters}` : props.filter.name);\n }, [totalActiveFilters]);\n\n function onClickReset(): void {\n const filterIds = Object.keys(currentFilterState) as FilterIds[];\n\n const newState = filterIds.reduce((acc: DraftState, filterId) => {\n const filter = props.filter.filters.find(f => f.id === filterId);\n const defaultOption = filter.options?.find(o => o.default);\n\n acc[filterId] = {\n active: false,\n selection: defaultOption ? [defaultOption] : []\n };\n\n return acc;\n }, {});\n\n setDraftState(newState);\n }\n\n function onClickApply(): void {\n applyFilter();\n setShowDropdown(false);\n }\n\n function onToggleDropdown(isShowing: boolean): void {\n setShowDropdown(isShowing);\n\n if (isShowing)\n return;\n\n // Apply the filter if the dropdown has been closed\n applyFilter();\n }\n\n function applyFilter(): void {\n FilterHelper.applyFilter(\n props.filter.filters,\n currentFilterState,\n draftState,\n state.appLink\n );\n }\n\n const baseClass = `fw-semibold ${styles.hideCaret} mx-1 btn`;\n\n return (\n <Dropdown onToggle={onToggleDropdown} show={showDropdown}>\n <Dropdown.Toggle id={props.filter.id} className={baseClass} variant={totalActiveFilters ? 'dark' : 'outline-dark'}>\n {label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu onClick={(e: React.MouseEvent) => e.stopPropagation()}>\n <div className={`mx-1 ${styles.moreFiltersWidth} ${props.filter.type !== 'dropdown' ? 'px-2 py-1' : ''}`}>\n {props.filter.filters.map(filter => {\n const FilterComponent = filter.customComponent\n ? filter.customComponent\n : FilterHelper.mapTypeToComponent(filter.type);\n\n return (\n <div key={filter.id} className='mb-2'>\n <FilterComponent\n filter={filter}\n draftState={draftState[filter.id]}\n setDraftState={StateHelper.getSetStateByKey(setDraftState, filter.id)}\n isOnMoreFilters\n />\n </div>\n );\n })}\n\n <FilterActions\n active={!!Object.keys(draftState).find((key: FilterIds) => draftState[key].active)}\n onClickReset={onClickReset}\n onClickApply={onClickApply}\n />\n </div>\n </Dropdown.Menu>\n </Dropdown>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"tagItem\":\"EcurS\",\"selected\":\"FypfE\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { FilterOption } from 'libs/shared/apps/search/interfaces';\nimport { TagItem } from 'libs/shared/components/tags/TagItem';\nimport { BaseObject, Tag } from 'libs/shared/interfaces';\n\nimport styles from './tag-widget-item.scss';\n\nexport interface TagWidgetItemProps {\n appLink: Core.AppLink;\n data: Tag;\n selectedItems?: BaseObject[];\n onClick?: (data: Tag | FilterOption) => void;\n}\n\nexport function TagWidgetItem(props: TagWidgetItemProps): JSX.Element {\n const isSelected = props.selectedItems.find(selection => selection.id === props.data.id);\n\n const colorClass = isSelected ? `${styles.selected} text-info` : 'bg-light';\n\n return (\n <TagItem\n tag={props.data}\n appLink={props.appLink}\n tagClass={`no-decoration ${colorClass} ${styles.tagItem}`}\n onClick={() => props.onClick(props.data)}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"tagItem\":\"j84HW\"};","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterState } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { PartialTagItem } from 'libs/shared/components/tags/PartialTagItem';\nimport { DynamicWidget } from 'libs/shared/components/widgets/dynamic-widget/DynamicWidget';\nimport { TagWidgetItem, TagWidgetItemProps } from 'libs/shared/components/widgets/items/tag-widget-item/TagWidgetItem';\n\nimport styles from './tag-filter.scss';\n\ninterface TagFilterProps {\n filter: SearchFilter;\n queryParams: HashObject;\n isFetching?: boolean;\n}\n\nexport function TagFilter(props: TagFilterProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n\n if (!props.filter?.id)\n return <></>;\n\n const currentFilterState = state[props.filter.id];\n\n const { selection: selections } = currentFilterState;\n\n const unappliedOptions = props.filter?.options?.filter(opt => {\n return !selections?.find(selection => selection.id === opt.id);\n }) ?? [];\n\n function onClickOption(option: FilterOption): void {\n let nextFilterState: FilterState = null;\n\n let indexOfItem: number = -1;\n\n // Find the index of the selected item if it's already selected\n selections.find((selection, i) => {\n if (indexOfItem > -1)\n return;\n\n if (selection.id.toString() !== option.id.toString())\n return;\n\n indexOfItem = i;\n });\n\n if (indexOfItem >= 0) {\n const newItems = [ ...selections.slice(0, indexOfItem), ...selections.slice(indexOfItem + 1) ];\n \n nextFilterState = {\n active: !!newItems.length,\n selection: newItems\n };\n } else {\n nextFilterState = {\n active: true,\n selection: selections.concat(option)\n };\n }\n\n FilterHelper.applyFilter(\n [props.filter],\n currentFilterState,\n { [props.filter.id]: nextFilterState },\n state.appLink\n );\n }\n\n function getContainerClass(): string {\n let className = 'mb-3';\n\n if (collection.length && props.isFetching)\n className += ' mt-n1';\n else if (!collection.length && !props.isFetching)\n className += ' d-none';\n\n return className;\n }\n\n const collection = [ ...selections, ...(props.isFetching ? [] : unappliedOptions) ];\n\n return (\n <div className={(props.isFetching || collection.length) ? 'py-2' : ''}>\n <div className={getContainerClass()}>\n {(!!collection.length || props.isFetching) && (\n <DynamicWidget\n collection={collection}\n childComponent={(props: TagWidgetItemProps) => (\n <TagWidgetItem\n {...props}\n selectedItems={selections}\n onClick={onClickOption}\n />\n )}\n staticChildren={props.isFetching\n ? new Array(3).fill({\n component: () => <PartialTagItem tagClass={styles.tagItem} />,\n position: 'end'\n })\n : []\n }\n partialLoadingComponent={() => (\n <div className='me-2'>\n <PartialTagItem tagClass={`${styles.tagItem}`} />\n </div>\n )}\n />\n )}\n </div>\n </div>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { MoreFilters, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext } from 'libs/shared/apps/search/reducers';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\n\ntype ResetButtonProps = PropsWithAnalyticsOptions<{\n currentQueryParam: string;\n mainFilters: Array<SearchFilter>;\n moreFilters: MoreFilters;\n alignLeft?: boolean;\n}>;\n\nexport function ResetButton(props: ResetButtonProps): JSX.Element {\n const { state } = React.useContext(FilterContext);\n\n const onClickReset = () => {\n Core.AppLinkHelper.trigger({\n ...state.appLink,\n params: props.currentQueryParam ? { query: props.currentQueryParam } : null\n });\n };\n\n return (\n <DivButton\n onClick={onClickReset}\n className={`${props.alignLeft ? 'order-first' : ''} hover-text-underline cursor-pointer d-flex align-items-center mx-2`}\n >\n <Text namespace='search.resetButton' phrase='reset' />\n </DivButton>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { FilterButton } from 'libs/shared/apps/search/components/filter-button/FilterButton';\nimport { MoreFiltersButton } from 'libs/shared/apps/search/components/filter-button/MoreFiltersButton';\nimport { TagFilter } from 'libs/shared/apps/search/components/filter-types/tag-filter/TagFilter';\nimport { ResetButton } from 'libs/shared/apps/search/components/reset-button/ResetButton';\nimport { MoreFilters, SearchFilter, SearchIndices } from 'libs/shared/apps/search/interfaces';\nimport { FilterContext, FilterReducer } from 'libs/shared/apps/search/reducers';\nimport { FilterHelper } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport styles from './search-filters.scss';\n\ntype SearchFiltersProps = {\n queryParams: HashObject;\n mainFilters: SearchFilter[];\n appLink: Core.AppLink;\n moreFilters?: MoreFilters;\n isFetchingOptions?: boolean;\n constantIndices?: SearchIndices[];\n analyticsOptions?: AnalyticsOptions;\n\n hideHeading?: boolean;\n hideDivider?: boolean;\n hideResetButton?: boolean;\n alignResetButtonLeft?: boolean;\n hideCaret?: boolean;\n};\n\nexport function SearchFilters(props: SearchFiltersProps): JSX.Element {\n const { queryParams, appLink, hideHeading, isFetchingOptions, constantIndices = []} = props;\n\n const newState = React.useMemo(() => {\n return FilterHelper.deriveInitialStateFromQuery(queryParams, props.mainFilters, props.moreFilters, appLink);\n }, [ queryParams, isFetchingOptions ]);\n\n const [ state, dispatch ] = React.useReducer(FilterReducer, newState);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(newState, state))\n return;\n\n dispatch({\n type: 'update',\n payload: newState\n });\n\n if (props.analyticsOptions) {\n FilterHelper.logFilterEvent(\n props.mainFilters,\n props.moreFilters,\n newState,\n queryParams.query,\n props.analyticsOptions\n );\n }\n }, [newState]);\n\n const indices = ArrayHelper.uniq([\n ...FilterHelper.getAppliedIndices(queryParams),\n ...constantIndices\n ]);\n\n const { mainFilters, moreFilters } = FilterHelper.mixinDisabledFields(\n state,\n indices,\n props.mainFilters,\n props.moreFilters\n );\n\n // Separate the tag filter as it's rendered differently\n const mainFiltersWithoutTags = mainFilters.filter(f => f.type !== 'tag');\n const tagFilter = mainFilters.find(f => f.type === 'tag');\n\n return (\n <FilterContext.Provider value={{ state, dispatch }}>\n <LanguageNamespaceContext.Provider value='search.searchFilters'>\n <section>\n <div className={`d-flex ${!props.hideDivider ? 'border-bottom pb-3 mb-3' : ''}`}>\n {!hideHeading && (\n <h2 className='h5 mb-0 d-inline-block pe-2 border-end d-flex align-items-center'>\n <Text phrase='heading' />\n </h2>\n )}\n\n <div className={`d-flex flex-wrap ${styles.filtersContainer} ${!hideHeading ? 'ms-2' : ''}`}>\n {mainFiltersWithoutTags.map(f => (\n <FilterButton key={f.id} filter={f} hideCaret={props.hideCaret} />\n ))}\n\n {moreFilters && <MoreFiltersButton filter={moreFilters} />}\n\n {FilterHelper.hasActiveFilters(queryParams) && !props.hideResetButton && (\n <ResetButton\n mainFilters={props.mainFilters}\n moreFilters={props.moreFilters}\n currentQueryParam={queryParams.query}\n analyticsOptions={props.analyticsOptions}\n alignLeft={props.alignResetButtonLeft}\n />\n )}\n </div>\n </div>\n \n <TagFilter\n filter={tagFilter}\n queryParams={queryParams}\n isFetching={props.isFetchingOptions}\n />\n </section>\n </LanguageNamespaceContext.Provider>\n </FilterContext.Provider>\n );\n}\n","import React from 'react';\n\nimport styles from './tags.scss';\n\ninterface PartialTagItemProps {\n tagClass?: string;\n}\n\nexport const PartialTagItem = React.memo(function({ tagClass = '' }: PartialTagItemProps): JSX.Element {\n const classNames = `partial-loading-background d-inline-block rounded-pill py-1 px-2 mb-1 me-1 text-nowrap ${tagClass} ${styles.partialTag}`;\n\n return (\n <div className='mt-1'>\n <span className={classNames}>&nbsp;</span>\n </div>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { Tag, ThemeColours } from 'libs/shared/interfaces';\n\nimport styles from './tags.scss';\n\ninterface TagItemProps {\n tag: Tag;\n themeColours?: ThemeColours;\n appLink?: Core.AppLink;\n onClick?: () => void;\n onRemove?: () => void;\n disabled?: boolean;\n tagClass?: string;\n}\n\nfunction getTagTypeClass(tagType: TagType): string {\n switch (tagType) {\n case TagType.Pedagogy:\n case TagType.Skill:\n return 'pedagogy-tag text-white';\n\n case TagType.Hidden:\n return 'hidden-tag';\n\n case TagType.Normal:\n default:\n return '';\n }\n}\n\nexport function TagItem(props: TagItemProps): JSX.Element {\n const { tag, appLink, onClick, disabled, tagClass = 'tag' } = props;\n\n const name = tag.name.toLowerCase();\n const tagType = tag.tagType?.toLowerCase() as TagType;\n\n let classNames = `rounded-pill py-1 px-2 my-1 me-1 ${tagClass} ${getTagTypeClass(tagType)}`;\n\n const hasThemeColour = tagType === TagType.Normal && !!props.themeColours?.secondary;\n\n if (hasThemeColour)\n classNames += ' text-white';\n\n if ((appLink || onClick) && !disabled)\n classNames += ' cursor-pointer';\n\n if (disabled)\n classNames += ' ' + styles.disabled;\n\n if (props.onRemove)\n classNames += ' ' + styles.badge;\n\n if (!appLink)\n classNames += ' d-inline-block';\n\n const style: React.CSSProperties = hasThemeColour\n ? { backgroundColor: props.themeColours.secondary }\n : {};\n\n if (appLink) {\n return (\n <AppLink\n onClick={onClick}\n appLink={appLink}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>{name}</span>\n </AppLink>\n );\n }\n\n return (\n <span\n onClick={onClick}\n className={classNames}\n title={name}\n style={style}\n >\n <span className='text-truncate text-nowrap'>\n {name}\n {props.onRemove &&\n <button\n onClick={props.onRemove}\n className={`${styles.close} btn-close font-size-normal`}\n role='button'\n aria-label='Close'\n />\n }\n </span>\n </span>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"yv0FS\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsOptions, ClickDescriptor } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './widget-header.scss';\n\nconst namespace = 'shared.widgetHeader';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface WidgetHeaderProps {\n name: string;\n description: string;\n\n appLink?: Core.AppLink;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showSeeMoreLink?: boolean;\n onClick?: () => void;\n}\n\nfunction SeeMore(props: WidgetHeaderProps) {\n return (\n <div className={`ms-3 ${styles.seeMore}`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={props.analyticsData }\n analyticsOptions={{ ...props.analyticsOptions, descriptor: ClickDescriptor.SeeMore }}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n >\n <p className='hover-text-underline text-dark curated-widget-heading'>{getPhrase('seeMore')}</p>\n </AppLink>\n </div>\n );\n}\n\nexport function WidgetHeader(props: WidgetHeaderProps): JSX.Element {\n const hasDescription = !!props.description;\n\n if (!props.name && !props.description)\n return <></>;\n\n return (\n <div className='curated-widget-header'>\n <div className='d-flex justify-content-between'>\n {!!props.name && (\n <div className={styles.title}>\n <AppLink\n appLink={props.appLink}\n analyticsOptions={props.analyticsOptions}\n analyticsData={props.analyticsData}\n className={`text-decoration-none ${props.appLink ? 'curated-widget-link' : ''}`}\n onClick={props.onClick}\n >\n <h2 className='h4 curated-widget-heading'>\n {props.name}\n </h2>\n </AppLink>\n </div>\n )}\n {!!props.appLink && !hasDescription && !!props.showSeeMoreLink && <SeeMore {...props}/>}\n </div>\n \n {hasDescription && (\n <div className='d-flex justify-content-between align-items-end'>\n <p className={`description curated-widget-description ${styles.description}`}>\n <span>{props.description}</span>\n </p>\n {!!props.appLink && !!props.showSeeMoreLink && <SeeMore {...props}/> }\n </div>\n )}\n </div>\n );\n}","import { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst blankImage = new Image();\nblankImage.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=';\n\nexport const DragHelper = {\n // This removes the image that appears when you drag a draggable HTML element\n hideDragImage(event: React.DragEvent<HTMLElement>): void {\n if (!event.dataTransfer.setDragImage || !FunctionHelper.isFunction(event.dataTransfer.setDragImage))\n return;\n\n event.dataTransfer.setDragImage(blankImage, 0, 0);\n }\n};","import * as React from 'react';\n\nimport { UserAgentHelper } from 'libs/common/backbone/utils/UserAgentHelper';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { CssMeasurement } from 'libs/shared/enums/CssMeasurement';\nimport { DragHelper } from 'libs/shared/utils/DragHelper';\n\nconst isTouchScreen = UserAgentHelper.isTouchScreen();\n\nconst getPositionStyling = (xPosition: number, measurement: CssMeasurement, dragPercentage?: number) => {\n // Used in situations where a touch screen user is dragging the `<FixedWidget />`\n if (measurement === CssMeasurement.Percentage && dragPercentage)\n xPosition = xPosition - dragPercentage;\n\n return {\n transform: `translate3d(${xPosition}${measurement}, 0px, 0px)`,\n transition: 'transform .4s ease-in-out'\n };\n};\n\ninterface SlidingListContainerProps extends React.PropsWithChildren<unknown> {\n position: number;\n positionType: CssMeasurement;\n\n onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;\n onDragEnd?: () => void;\n\n onTouchMove?: (event: React.TouchEvent<HTMLDivElement>) => void;\n onTouchEnd?: () => void;\n\n percentageDragged?: number;\n}\n\nexport const SlidingListContainer = React.forwardRef((\n props: SlidingListContainerProps,\n ref: React.MutableRefObject<HTMLDivElement>\n): JSX.Element => {\n const { children, positionType, onDrag, onDragEnd, onTouchMove, onTouchEnd, percentageDragged, position = 0 } = props;\n\n function getEventListeners(): HashObject {\n const listenerProps: HashObject = {};\n\n if (onDrag && onDragEnd) {\n listenerProps.draggable = true;\n listenerProps.onDragEnd = onDragEnd;\n listenerProps.onDragStart = DragHelper.hideDragImage;\n listenerProps.onDragOver = onDrag;\n }\n\n if (onTouchMove && onTouchEnd && isTouchScreen) {\n listenerProps.onTouchMoveCapture = onTouchMove;\n listenerProps.onTouchEndCapture = onTouchEnd;\n }\n\n return listenerProps;\n }\n\n return (\n <div\n className='d-flex flex-nowrap position-relative w-100'\n style={getPositionStyling(position, positionType, percentageDragged)}\n ref={ref}\n {...getEventListeners()}\n >\n {children}\n </div>\n );\n});","export enum CssMeasurement {\n Percentage = '%',\n Pixels = 'px'\n}","export enum TagType {\n Normal = 'normal',\n Pedagogy = 'pedagogy',\n Hidden = 'hidden',\n Skill = 'skill',\n Curation = 'curation'\n}\n\n/**\n * This should **only** be used to create new tags in master (as it only accepts enum values).\n * Use the string enum above for all other cases.\n */\nexport enum TagTypeNumber {\n Normal = 0,\n Pedagogy = 1,\n Hidden = 2,\n Skill = 3,\n Curation = 4\n}","export enum WidgetInteraction {\n Init = 'init',\n Next = 'next',\n Previous = 'previous',\n Resize = 'resize',\n Drag = 'drag',\n Update = 'update',\n JumpToIndex = 'jump-to-index'\n}","import { BaseError } from 'libs/common/backbone/core/BaseError';\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\n\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { PrivateResourceError } from 'libs/shared/errors/general/private-resource/PrivateResourceError';\nimport { RegionLockedResourceError } from 'libs/shared/errors/general/region-locked-resource/RegionLockedResourceError';\nimport { UnspecifiedError } from 'libs/shared/errors/general/unspecified-error/UnspecifiedError';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nexport interface HttpErrorMap {\n notFound?: new () => BaseError;\n forbidden?: {\n rating?: new (description: string) => BaseError;\n yearLevel?: new (description: string) => BaseError;\n region?: new () => BaseError;\n privacy?: new (video?: VideoTypes) => BaseError;\n };\n badRequest?: new () => BaseError;\n}\n\nexport type IgnoreHttpErrorMap = {\n [key in keyof HttpErrorMap]: boolean;\n};\n\nconst defaultErrors: HttpErrorMap = {\n notFound: NotFoundError,\n forbidden: {\n rating: PrivateResourceError,\n yearLevel: PrivateResourceError,\n region: RegionLockedResourceError,\n privacy: PrivateResourceError\n },\n badRequest: UnspecifiedError\n};\n\nexport function handleHttpError(\n info: HttpStatus | Xhr,\n customErrorMap: HttpErrorMap = {},\n /**\n * Prevent certain errors in the errorMap from being thrown\n * so that you may implement your own handler\n */\n ignoreMap: IgnoreHttpErrorMap = {}\n): void {\n if (!info)\n return;\n\n let statusCode: HttpStatus;\n\n if (typeof(info) === 'number') {\n statusCode = info;\n } else {\n statusCode = info.status;\n }\n\n const errorMap = {\n ...defaultErrors,\n ...customErrorMap\n };\n\n if (!statusCode)\n return;\n\n if (!Core.ErrorHelper.isStatusCodeError(statusCode))\n return;\n\n if (statusCode === HttpStatus.NotFound) {\n if (!ignoreMap.notFound)\n Core.ErrorHelper.throw(new errorMap.notFound());\n return;\n }\n\n if (statusCode === HttpStatus.Forbidden) {\n /**\n * TODO: Work out how to go about handling all forbidden errors, such as region locking, year levels,\n * ratings, and privacy.\n */\n if (!ignoreMap.forbidden)\n Core.ErrorHelper.throw(new errorMap.forbidden.privacy());\n return;\n }\n\n if (!ignoreMap.badRequest)\n Core.ErrorHelper.throw(new errorMap.badRequest());\n}\n\nexport function handleXhrError(xhr: Xhr, customErrorMap?: HttpErrorMap): void {\n handleHttpError(xhr.status, customErrorMap);\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialFilterHeading\":\"O8f8H\",\"partialButton\":\"ThKam\",\"filtersContainer\":\"JIp3h\"};","// extracted by mini-css-extract-plugin\nexport default {\"tagList\":\"Zw6d9\",\"disabled\":\"jlL1c\",\"partialTag\":\"too_N\",\"badge\":\"OjtN8\",\"close\":\"X9joI\"};"],"names":["namespace","FilterActions","props","className","active","DivButton","onClick","onClickReset","Text","phrase","onClickApply","defaultProps","FilterButton","state","currentFilterState","filter","id","isDropdownFilter","type","name","label","setLabel","showDropdown","setShowDropdown","draftState","setDraftState","onSelectItem","applyFilter","newState","FilterHelper","appLink","selection","FilterComponent","customComponent","caretClass","hideCaret","customWidthClass","Dropdown","onToggle","isShowing","show","variant","disabled","icon","SvgContainer","svgName","labelPrefix","defaultOption","options","find","o","StateHelper","getSetStateByKey","setState","key","callback","data","fn","FunctionHelper","getTotalActiveFilters","currentState","Object","keys","reduce","acc","MoreFiltersButton","moreFilters","totalActiveFilters","setTotalActiveFilters","currentFilterStateKey","map","join","filters","baseClass","e","stopPropagation","isOnMoreFilters","filterId","f","TagWidgetItem","colorClass","selectedItems","TagItem","tag","tagClass","TagFilter","selections","unappliedOptions","opt","onClickOption","option","nextFilterState","indexOfItem","i","toString","newItems","slice","length","concat","collection","isFetching","DynamicWidget","childComponent","staticChildren","Array","fill","component","PartialTagItem","position","partialLoadingComponent","ResetButton","params","currentQueryParam","query","alignLeft","SearchFilters","queryParams","hideHeading","isFetchingOptions","constantIndices","mainFilters","dispatch","ObjectHelper","payload","analyticsOptions","indices","ArrayHelper","mainFiltersWithoutTags","tagFilter","value","hideDivider","hideResetButton","alignResetButtonLeft","classNames","toLowerCase","tagType","getTagTypeClass","hasThemeColour","themeColours","secondary","onRemove","style","backgroundColor","title","role","getPhrase","LanguageService","SeeMore","AppLink","analyticsData","descriptor","WidgetHeader","hasDescription","description","showSeeMoreLink","blankImage","Image","src","DragHelper","event","dataTransfer","setDragImage","isTouchScreen","UserAgentHelper","SlidingListContainer","ref","listenerProps","xPosition","measurement","dragPercentage","children","positionType","onDrag","onDragEnd","onTouchMove","onTouchEnd","percentageDragged","CssMeasurement","C","transform","transition","draggable","onDragStart","onDragOver","onTouchMoveCapture","onTouchEndCapture","TagType","TagTypeNumber","WidgetInteraction","defaultErrors","notFound","forbidden","rating","yearLevel","region","privacy","badRequest","handleHttpError","info","customErrorMap","ignoreMap","statusCode","status","errorMap"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[714],{49935:(e,t,a)=>{a.d(t,{Oo:()=>u,b2:()=>d});var n=a(32735),r=a(36848),c=a(86764),s=a(3747),i=a(5859),l=a(35223),o=a(83914),m=function(e){var t=e.breadcrumb,a=t.name,c=t.appLink,s=t.active,i=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(s?" active":"")},s?n.createElement("strong",null,a):n.createElement(r.F,{appLink:c},i&&n.createElement(o.x,{svgName:l.vn.ChevronLeft,size:o.S.Small}),n.createElement("span",{className:i?"ms-2":""},a)))},u=function(e){var t=e.breadcrumbs,a=(0,s.a)(c.r.XS),r=null==t?void 0:t.length;return!r||a&&r<2?n.createElement(n.Fragment,null):a?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(m,{breadcrumb:t[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(m,{key:t,breadcrumb:e})}))))},d=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,s.a)(c.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},i.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},38502:(e,t,a)=>{a.d(t,{r:()=>u});var n=a(32735),r=a(49985),c=a(36848),s=a(18559),i=a(11607),l=a(83914),o=a(87432);function m(e){return n.createElement(n.Fragment,null,!!e.tab.svgName&&n.createElement("div",{className:e.tab.name?"pe-1":""},n.createElement(l.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&n.createElement("div",{className:"ps-2"},n.createElement(s.C,{type:s.g.Count,data:e.tab.count})))}function u(e){var t;return n.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:""},n.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(o.Z.pillTabSelector,"\n ").concat(e.borderRadius?o.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return n.createElement("li",{className:"\n p-0 ".concat(o.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?o.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?n.createElement(c.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(o.Z.tabLink,"\n ")},n.createElement(m,{tab:e})):n.createElement(i.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(o.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},n.createElement(m,{tab:e})))}))))}u.defaultProps={borderRadius:"lg"}},58739:(e,t,a)=>{var n;a.d(t,{K:()=>n}),function(e){e[e.Submitted=0]="Submitted",e[e.Queued=1]="Queued",e[e.Pending=2]="Pending",e[e.InProgress=3]="InProgress",e[e.Completed=4]="Completed",e[e.CompletedWithError=5]="CompletedWithError",e[e.Failed=6]="Failed"}(n||(n={}))},44538:(e,t,a)=>{a.d(t,{K:()=>i});var n=a(99940),r=a(97395),c=a(58739),s=a(38389),i={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var a=[];e.jobStatus.includes("completed")&&a.push.apply(a,[c.K.Completed,c.K.CompletedWithError]),e.jobStatus.includes("failed")&&a.push(c.K.Failed),e.jobStatus.includes("inProgress")&&a.push.apply(a,[c.K.Submitted,c.K.Queued,c.K.Pending,c.K.InProgress]),t.status=a}return t.type=s.m.Rostering,{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:n.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:a}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,a,r,c){return{type:n.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:a,error:r,always:c}}}},5859:(e,t,a)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,{u:()=>c});var r={numItems:5,minWidth:50,maxWidth:100},c={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign(Object.assign({},r),t);return(e=Array(a.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*a.maxWidth),a.minWidth),"px")}}))}}},96268:(e,t,a)=>{a.d(t,{W:()=>o});var n=a(32735),r=a(81886),c=a(65858),s=a(37802),i=a(14070),l=a(97291);function o(){var e=(0,s.r)(c.LZ.Settings),t=e.isLoadingSettings,a=e.domainSettings;n.useEffect((function(){t||a||r.Q.C$.trigger({application:l.O.SETTINGS,action:i.e.Settings.HOME},{replace:!0})}),[a,t])}},97990:(e,t,a)=>{a.d(t,{t:()=>p});var n=a(32735),r=a(81886),c=a(23481),s=a(65858),i=a(38502),l=a(14070),o=a(97291),m="settings.staffManagerTabs",u=c.T.encloseNamespace(m),d={staffManager:{application:o.O.USER_MANAGER,action:l.e.UserManager.STAFF},inviteRequests:{application:o.O.USER_MANAGER,action:l.e.UserManager.ACCESS_REQUESTS}};function p(e){var t=e.active;return n.createElement("div",{className:"mb-3"},n.createElement(i.r,{tabs:[{name:u("staffManager"),appLink:d.staffManager,active:"staff-manager"===t,analyticsData:{name:u("staffManager"),url:r.Q.C$.getHref(d.staffManager)},analyticsOptions:{actionType:s.Vw.Click,entity:s.py.Url,location:s.LZ.MagicTabs}},{name:u("inviteRequests"),appLink:d.inviteRequests,active:"invite-requests"===t,analyticsData:{name:c.T.getPhrase(m,"inviteRequests"),url:r.Q.C$.getHref(d.inviteRequests)},analyticsOptions:{actionType:s.Vw.Click,entity:s.py.Url,location:s.LZ.MagicTabs}}]}))}},81422:(e,t,a)=>{var n;a.d(t,{C:()=>n}),function(e){e.Approved="Approved",e.Denied="Denied",e.Pending="Pending"}(n||(n={}))},80714:(e,t,a)=>{a.r(t),a.d(t,{AccessRequestsView:()=>F});var n=a(32735),r=a(81886),c=a(23481),s=a(20354),i=a(36848),l=a(49935),o=a(83345),m=a(39151),u=a(44538),d=a(31949),p=a(14070),g=a(97291),b=a(96268),E=a(110),f=a(20789),v=a(19808),y=a(64818),S=a(23232),h=a(99742),N="userManager.inviteRequestsTableEmptyState",C=c.T.encloseNamespace(N);function k(){return n.createElement(S.u,null,n.createElement(S.u.Image,{src:h.W.EmptyStates.UserManager.STAFF}),n.createElement(S.u.Heading,null,n.createElement(o.x,{namespace:N,phrase:"heading"})),n.createElement(S.u.Info,null,n.createElement(o.x,{namespace:N,phrase:"info"})),n.createElement(S.u.Cta,{text:C("cta"),appLink:{application:g.O.SETTINGS,action:p.e.Settings.REQUESTING_ACCESS},className:"btn btn-dark"}))}var R=a(81422);const T={avatarContainer:"HxoMt",emailText:"ughCx"};var x="userManager.inviteRequestsTable";function M(e){var t=e.joinRequests,a=e.imageCdnUrl,r=e.currentUser,c=e.onResolveRequest;return t.length?n.createElement("table",{className:"w-100 table table-striped table-borderless"},n.createElement("thead",null,n.createElement("tr",null,n.createElement("th",{scope:"col",className:"ps-3"},n.createElement(o.x,{namespace:x,phrase:"nameTableHeading"})),n.createElement("th",{scope:"col"},n.createElement(o.x,{namespace:x,phrase:"dateTableHeading"})),n.createElement("th",null))),n.createElement("tbody",null,t.map((function(e){return n.createElement("tr",{key:e.id},n.createElement("td",{className:"align-middle ps-3"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"".concat(T.avatarContainer," me-2")},n.createElement(f.q,{imageCdnUrl:a,initials:y.l.getInitialsFromFullName(e.fullName)||e.email.charAt(0)})),n.createElement("div",{className:"d-flex flex-column justify-content-center"},e.fullName&&n.createElement("span",{className:"fw-semibold"},e.fullName),n.createElement("span",{className:"".concat(T.emailText)},e.email)))),n.createElement("td",{className:"align-middle"},E.O.format(e.dateCreated,r.instanceRegion===v.b.US?"MM/DD/YYYY":"DD/MM/YYYY")),n.createElement("td",{className:"text-end pe-3"},n.createElement("button",{className:"btn btn-tertiary me-1",onClick:function(){return c(e,R.C.Denied)}},n.createElement(o.x,{namespace:x,phrase:"rejectButtonLabel"})),n.createElement("button",{className:"btn btn-primary btn-dark",onClick:function(){return c(e,R.C.Approved)}},n.createElement(o.x,{namespace:x,phrase:"approveButtonLabel"}))))})))):n.createElement(k,null)}var A=a(97990),L=a(47288),w="userManager.accessRequests",U=c.T.encloseNamespace(w),I={application:g.O.SETTINGS,action:p.e.Settings.REQUESTING_ACCESS},O={application:g.O.SETTINGS,action:p.e.Settings.HOME};function F(){var e;(0,b.W)();var t=s.a.useBasicFetch(d.N.currentUser()),a=s.a.useBasicFetch(L.N.joinRequests()),c=s.a.useBasicFetch(m.L.config()),E=s.a.useBasicFetch(u.K.getRostering()),f=(null===(e=E.data)||void 0===e?void 0:e.status)&&"None"!==E.data.status;return n.useEffect((function(){if(E.hasCompleted&&f){var e={application:g.O.USER_MANAGER,action:p.e.UserManager.STAFF};r.Q.C$.trigger(e,{replace:!0})}}),[E.hasCompleted,f]),a.hasCompleted&&c.hasCompleted&&t.hasCompleted&&E.hasCompleted&&!f?n.createElement("div",{className:"px-3"},n.createElement("h1",{className:"h2"},n.createElement(o.x,{namespace:w,phrase:"heading"})),n.createElement("div",{className:"pb-3"},n.createElement(l.Oo,{breadcrumbs:[{name:U("settingsBreadcrumb"),appLink:O},{name:U("staffManagerBreadcrumb"),active:!0}]})),n.createElement(A.t,{active:"invite-requests"}),n.createElement("p",{className:"mb-3"},n.createElement(o.x,{namespace:w,phrase:"domainSettingsDescription"}),n.createElement("br",null),n.createElement(i.F,{appLink:I,className:"info-link"},n.createElement(o.x,{namespace:w,phrase:"domainSettingsLink"}))),n.createElement(M,{joinRequests:a.data,imageCdnUrl:c.data.imageCdnUrl,onResolveRequest:function(e,t){r.Q.C$.trigger({application:g.O.USER_MANAGER,action:p.e.UserManager.RESOLVE_ACCESS_REQUEST,args:[e.id],params:{status:t}})},currentUser:t.data})):n.createElement(n.Fragment,null)}},87432:(e,t,a)=>{a.d(t,{Z:()=>n});const n={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
2
- //# sourceMappingURL=714-2e52398bb7-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/714-2e52398bb7-lite.chunk.js","mappings":"4NAuBaA,EAAiB,SAAH,WAAMC,WAAcC,EAAI,EAAJA,KAAMC,EAAO,EAAPA,QAASC,EAAM,EAANA,OAAUC,EAAY,EAAZA,aAAY,OAClF,sBAAIC,UAAS,yBAAoBF,EAAS,UAAY,KACnDA,EACG,8BAASF,GACT,gBAAC,IAAO,CAACC,QAASA,GACjBE,GAAgB,gBAAC,IAAY,CAACE,QAAS,iBAA0BC,KAAM,EAAAC,EAAA,QACxE,wBAAMH,UAAWD,EAAe,OAAS,IAAKH,IAG/C,EAOMQ,EAAc,SAAH,GAAyC,IAAnCC,EAAW,EAAXA,YACtBC,GAAW,OAAc,QAEzBC,EAASF,aAAW,EAAXA,EAAaE,OAE5B,OAAKA,GAAWD,GAAYC,EAAS,EAC5B,iCAELD,EAEA,oCAAgB,cACd,sBAAIN,UAAU,sBACZ,gBAACN,EAAc,CAACC,WAAYU,EAAYE,EAAS,GAAIR,cAAY,MAMvE,oCAAgB,cACd,sBAAIC,UAAU,sBACXK,EAAYG,KAAI,SAACC,EAAGC,GAAG,OAAK,gBAAChB,EAAc,CAACiB,IAAKD,EAAKf,WAAYc,GAAK,KAIhF,EAEaG,EAAqB,QAAW,YAAiD,QAAtCC,SAAAA,OAAQ,IAAG,IAAC,EAGlE,OAFiB,OAAc,QAI3B,uBAAKb,UAAU,6BAA6Bc,MAAO,CAAEC,OAAQ,YAAaC,MAAO,UAKnF,oCAAgB,cACd,sBAAIhB,UAAU,sBACX,2BAA4C,CAAEa,SAAAA,IAAYL,KAAI,WAAYE,GAAG,IAAZM,EAAK,EAALA,MAAK,OACrE,sBAAIL,IAAKD,EAAKV,UAAU,mBACtB,wBAAMA,UAAU,4CAA4Cc,MAAO,CAAEE,MAAAA,GAASC,wBAAyB,CAAEC,OAAQ,WAC9G,KAKf,G,oHCjEA,SAASC,EAAYC,GACnB,OACE,kCACKA,EAAMC,IAAIpB,SACX,uBAAKD,UAAWoB,EAAMC,IAAIzB,KAAO,OAAS,IACxC,gBAAC,IAAY,CAACK,QAASmB,EAAMC,IAAIpB,WAIpCmB,EAAMC,IAAIzB,KAEmB,iBAArBwB,EAAMC,IAAIC,OACjB,uBAAKtB,UAAU,QACb,gBAAC,IAAK,CAACuB,KAAM,UAAiBC,KAAMJ,EAAMC,IAAIC,SAKxD,CA6BM,SAAUG,EAAgBL,G,MAW9B,OACE,uBAAKpB,UAA0B,QAAf,EAAAoB,EAAMpB,iBAAS,QAAI,IACjC,sBAAIA,UAAS,qDACwB,oBAAsB,qBACvDoB,EAAMM,aAAe,gBAAqB,GAAE,qBAC5CN,EAAMO,cAAa,aAEpBP,EAAMQ,KAAKpB,KAAI,SAACa,EAAKQ,GACpB,OACE,sBACE7B,UAAS,gCACD,QAAU,YAAIqB,EAAIvB,OAAS,eAAiB,uBAAsB,6BACtEuB,EAAIzB,KAAO,aAAkB,GAAE,YAAIyB,EAAIrB,UAAS,oBAEpDW,IAAKkB,GAEJR,EAAIxB,QACH,gBAAC,IAAO,CACNA,QAASwB,EAAIxB,QACbiC,cAAeT,EAAIS,cACnBC,iBAAkBV,EAAIU,iBACtB/B,UAAS,sKAE4C,YAAc,yBAGnE,gBAACmB,EAAW,CAACE,IAAKA,KAGpB,gBAAC,IAAS,CACRrB,UAAS,qKAE2C,YAAc,wBAElEgC,QAAS,kBA5CzB,SAAqBX,IACfA,EAAIvB,QAAWuB,EAAIY,WAGvBZ,EAAIY,WAEAZ,EAAIS,eAAiBT,EAAIU,kBAC3B,kBAA8BV,EAAIS,cAAeT,EAAIU,kBACzD,CAoC+BG,CAAYb,EAAI,GAE/B,gBAACF,EAAW,CAACE,IAAKA,KAK5B,KAIR,CA5DAI,EAAgBU,aAAe,CAC7BT,aAAc,K,kBChEhB,IAAYU,E,iBAAZ,SAAYA,GACV,6BACA,uBACA,yBACA,+BACA,6BACA,+CACA,sBACD,CARD,CAAYA,IAAAA,EAAc,I,mFCWbC,EAAoB,CAC/BC,aAAY,WACV,MAAO,CACLC,IAAK,kCACL5B,IAAK,YAET,EAEA6B,YAAW,SAACC,GACV,IAAMC,EAAqB,CAAC,EAW5B,GAVID,EAAYE,SACdD,EAAOC,OAASF,EAAYE,QAE1BF,EAAYG,OACW,WAArBH,EAAYG,KACdF,EAAOG,MAAQ,MAEfH,EAAOG,MAAQ,QAGfJ,EAAYK,UAAW,CACzB,IAAMC,EAAW,GACbN,EAAYK,UAAUE,SAAS,cACjCD,EAASE,KAAI,MAAbF,EAAiB,CAAE,cAA0B,yBAE3CN,EAAYK,UAAUE,SAAS,WACjCD,EAASE,KAAK,YAEZR,EAAYK,UAAUE,SAAS,eACjCD,EAASE,KAAI,MAAbF,EAAiB,CACf,cACA,WACA,YACA,iBAEJL,EAAOQ,OAASH,CACjB,CAID,OAFAL,EAAOnB,KAAO,cAEP,CACLgB,IAAK,eAAqB,0BAA2BG,GACrD/B,IAAK,kBAAF,OAAoB8B,EAAYE,OAAM,YAAIF,EAAYG,KAAI,YAAIH,EAAYK,WAEjF,EAEAK,UAAS,SACP3B,EACA4B,EACAC,GAEA,MAAO,CACLd,IAAK,0BACL5B,IAAK,iBACLY,KAAM,SACN+B,iBAAkB,CAAC,kBACnB9B,KAAAA,EACA4B,QAAAA,EACAC,MAAAA,EAEJ,EAEAE,cAAa,SAACC,GACZ,MAAO,CACLjB,IAAK,2BAAF,OAA6BiB,EAAE,YAClC7C,IAAK,eAAF,OAAiB6C,GAExB,EAEAC,wBAAuB,SAACC,GACtB,MAAO,CACLnB,IAAK,0BAAF,OAA4BmB,EAAa,aAC5C/C,IAAK,iBAAF,OAAmB+C,GAE1B,EAEAC,sBAAqB,SACnBnC,EACAkC,EACAN,EACAC,EACAO,GAEA,MAAO,CACLrC,KAAM,QACNgB,IAAK,0BAAF,OAA4BmB,EAAa,aAC5C/C,IAAK,wBAAF,OAA0Ba,EAAKqC,WAAU,YAAIH,GAChDJ,iBAAkB,CAAC,iBAAD,OAAkBI,IACpClC,KAAAA,EACA4B,QAAAA,EACAC,MAAAA,EACAO,OAAAA,EAEJ,E,wICxGF,IAAME,EAAyD,CAC7DjD,SAAU,EACVkD,SAAU,GACVC,SAAU,KAaCC,EAAuB,CAClCC,uBAAsB,WAAoC,I,EAAnCC,EAAA,uDAAiC,CAAC,EACjDC,EAAO,OAAH,wBACLN,GACAK,GAKL,O,EAAWE,MAAMD,EAAKvD,U,omBAAWL,KAAI,iBAAO,CAAEQ,MAAO,GAAF,OAFhBsD,KAAKC,IAAID,KAAKE,MAAMF,KAAKG,SAAWL,EAAKJ,UAAWI,EAAKL,UAEd,MAAM,GACtF,E,yGCfI,SAAUW,IACd,OAA8C,OAAY,eAAlDC,EAAiB,EAAjBA,kBAAmBC,EAAc,EAAdA,eAE3B,aAAgB,WACVD,GAGCC,GACH,eAA2B,CACzBC,YAAa,aACbC,OAAQ,mBACP,CAAEC,SAAS,GAElB,GAAG,CAAEH,EAAgBD,GACvB,C,oHCXMK,EAAY,4BACZC,EAAY,qBAAiCD,GAE7CE,EAA6C,CACjDC,aAAc,CACZN,YAAa,iBACbC,OAAQ,uBAEVM,eAAgB,CACdP,YAAa,iBACbC,OAAQ,kCAQN,SAAUO,EAAiBjE,GAC/B,IAAQtB,EAAWsB,EAAXtB,OAER,OACE,uBAAKE,UAAU,QACb,gBAAC,IAAe,CACd4B,KAAM,CAAC,CACLhC,KAAMqF,EAAU,gBAChBpF,QAASqF,EAAqBC,aAC9BrF,OAAmB,kBAAXA,EACRgC,cAAe,CACblC,KAAMqF,EAAU,gBAChB1C,IAAK,eAA2B2C,EAAqBC,eAEvDpD,iBAAkB,CAChBuD,WAAY,WACZC,OAAQ,SACRC,SAAU,iBAEX,CACD5F,KAAMqF,EAAU,kBAChBpF,QAASqF,EAAqBE,eAC9BtF,OAAmB,oBAAXA,EACRgC,cAAe,CACblC,KAAM,cAA0BoF,EAAW,kBAC3CzC,IAAK,eAA2B2C,EAAqBE,iBAEvDrD,iBAAkB,CAChBuD,WAAY,WACZC,OAAQ,SACRC,SAAU,oBAMtB,C,kBCpEA,IAAYC,E,iBAAZ,SAAYA,GACV,sBACA,kBACA,mBACD,CAJD,CAAYA,IAAAA,EAAiB,I,8QCWvBT,EAAY,4CACZC,EAAYS,EAAA,mBAAiCV,GAE7C,SAAUW,IACd,OACE,gBAACC,EAAA,EAAU,KACT,gBAACA,EAAA,QAAgB,CAACC,IAAKC,EAAA,kCAEvB,gBAACF,EAAA,UAAkB,KAAC,gBAACG,EAAA,EAAI,CAACf,UAAWA,EAAWgB,OAAO,aAEvD,gBAACJ,EAAA,OAAe,KAAC,gBAACG,EAAA,EAAI,CAACf,UAAWA,EAAWgB,OAAO,UACpD,gBAACJ,EAAA,MAAc,CACbK,KAAMhB,EAAU,OAChBpF,QAAS,CACPgF,YAAa,aACbC,OAAQ,gCAEV9E,UAAU,iBAIlB,C,eC/BA,SAAgB,gBAAkB,QAAQ,UAAY,SCetD,IAAM,EAAY,kCASZ,SAAUkG,EAAoB9E,GAClC,IAAQ+E,EAA6D/E,EAA7D+E,aAAcC,EAA+ChF,EAA/CgF,YAAaC,EAAkCjF,EAAlCiF,YAAaC,EAAqBlF,EAArBkF,iBAQhD,OAAKH,EAAa5F,OAKhB,yBAAOP,UAAU,8CACf,6BACE,0BACE,sBAAIuG,MAAM,MAAMvG,UAAU,QAAO,gBAAC+F,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,sBACpE,sBAAIO,MAAM,OAAM,gBAACR,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,sBACnD,6BAGJ,6BACGG,EAAa3F,KAAI,SAAAgG,GAAW,OAC3B,sBAAI7F,IAAK6F,EAAYhD,IACnB,sBAAIxD,UAAU,qBACZ,uBAAKA,UAAU,6BACb,uBAAKA,UAAS,UAAK,kBAAsB,UACvC,gBAACyG,EAAA,EAAM,CACLL,YAAaA,EACbM,SACEC,EAAA,0BAAmCH,EAAYI,WAAaJ,EAAYK,MAAMC,OAAO,MAI3F,uBAAK9G,UAAU,6CACZwG,EAAYI,UAAY,wBAAM5G,UAAU,eAAewG,EAAYI,UACpE,wBAAM5G,UAAS,UAAK,cAAqBwG,EAAYK,UAI3D,sBAAI7G,UAAU,gBAAgB+G,EAAA,SAAkBP,EAAYQ,YArChEX,EAAYY,iBAAmBC,EAAA,KAC1B,aACF,eAoCC,sBAAIlH,UAAU,iBACZ,0BACEA,UAAU,wBACVgC,QAAS,kBAAMsE,EAAiBE,EAAaf,EAAA,SAAyB,GAEtE,gBAACM,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,uBAErC,0BACEhG,UAAU,2BACVgC,QAAS,kBAAMsE,EAAiBE,EAAaf,EAAA,WAA2B,GAExE,gBAACM,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,yBAGpC,MA9CJ,gBAACL,EAA6B,KAmDzC,C,0BC9DM,EAAY,6BACZ,EAAYD,EAAA,mBAAiC,GAE7CyB,EAAsC,CAC1CtC,YAAa,aACbC,OAAQ,gCAGJsC,EAAgC,CACpCvC,YAAa,aACbC,OAAQ,mBAGJ,SAAUuC,I,OACd,EAAA3C,EAAA,KAEA,IAAM2B,EAAc,kBAAkCiB,EAAA,iBAChDnB,EAAe,kBAAoCoB,EAAA,kBACnDC,EAAS,kBAA6BC,EAAA,YACtCC,EAAY,kBAAwCrF,EAAA,kBAEpDsF,GAA6B,QAAd,EAAAD,EAAUlG,YAAI,eAAE0B,SAAoC,SAA1BwE,EAAUlG,KAAK0B,OA2B9D,OAzBA,aAAgB,WAEd,GAAIwE,EAAUE,cAAgBD,EAAc,CAC1C,IAAM9H,EAAU,CACdgF,YAAa,iBACbC,OAAQ,uBAEV,eAA2BjF,EAAS,CAAEkF,SAAS,GAChD,CACH,GAAG,CAAE2C,EAAUE,aAAcD,IAWTxB,EAAayB,cAC3BJ,EAAOI,cACPvB,EAAYuB,cACZF,EAAUE,eAEED,EAKhB,uBAAK3H,UAAU,QACb,sBAAIA,UAAU,MACZ,gBAAC+F,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,aAGrC,uBAAKhG,UAAU,QACb,gBAACI,EAAA,GAAW,CACVC,YAAa,CACX,CAAET,KAAM,EAAU,sBAAuBC,QAASuH,GAClD,CAAExH,KAAM,EAAU,0BAA2BE,QAAQ,OAK3D,gBAACuF,EAAA,EAAgB,CAACvF,OAAO,oBAEzB,qBAAGE,UAAU,QACX,gBAAC+F,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAO,8BACnC,2BACA,gBAAC6B,EAAA,EAAO,CAAChI,QAASsH,EAAuBnH,UAAU,aACjD,gBAAC+F,EAAA,EAAI,CAACf,UAAW,EAAWgB,OAAQ,yBAIxC,gBAACE,EAAmB,CAClBC,aAAcA,EAAa3E,KAC3B4E,YAAaoB,EAAOhG,KAAK4E,YACzBE,iBA9CN,SAA0BE,EAA0BtD,GAClD,eAA2B,CACzB2B,YAAa,iBACbC,OAAQ,uCACRgD,KAAM,CAACtB,EAAYhD,IACnBd,OAAQ,CAAEQ,OAAAA,IAEd,EAwCMmD,YAAaA,EAAY7E,QAhCtB,gCAoCX,C,mCC5GA,SAAgB,gBAAkB,QAAQ,IAAM,QAAQ,SAAW,QAAQ,YAAc,QAAQ,QAAU,Q","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/enums/BatchJobStatus.ts","file:///app/packages/libs/shared/src/flight-requests/RosteringRequests.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/hooks/useDomainSettingsSwitch.ts","file:///app/packages/projects/lite/src/apps/user-manager/components/staff-manager-tabs/StaffManagerTabs.tsx","file:///app/packages/projects/lite/src/apps/user-manager/enums/JoinRequestStatus.ts","file:///app/packages/projects/lite/src/apps/user-manager/components/invite-requests-table/empty-state/InviteRequestsTableEmptyState.tsx","file:///app/packages/projects/lite/src/apps/user-manager/components/invite-requests-table/invite-requests-table.scss","file:///app/packages/projects/lite/src/apps/user-manager/components/invite-requests-table/InviteRequestsTable.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/invite-requests/AccessRequestsView.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","export enum BatchJobStatus {\n Submitted = 0,\n Queued = 1,\n Pending = 2,\n InProgress = 3,\n Completed = 4,\n CompletedWithError = 5,\n Failed = 6\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { BulkJobsQueryParams } from 'libs/shared/components/bulk-jobs-filters/BulkJobsFilters';\nimport { BatchJobStatus } from 'libs/shared/enums/BatchJobStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { BatchJob, ScheduleSettingRequest } from 'libs/shared/interfaces';\nimport { CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const RosteringRequests = {\n getRostering(): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/rostering`,\n key: `rostering`\n };\n },\n\n getSyncList(queryParams: BulkJobsQueryParams): Flight.Request {\n const params: HashObject = {};\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.jobStatus) {\n const statuses = [];\n if (queryParams.jobStatus.includes('completed')) {\n statuses.push(...[ BatchJobStatus.Completed, BatchJobStatus.CompletedWithError ]);\n }\n if (queryParams.jobStatus.includes('failed')) {\n statuses.push(BatchJobStatus.Failed);\n }\n if (queryParams.jobStatus.includes('inProgress')) {\n statuses.push(...[\n BatchJobStatus.Submitted,\n BatchJobStatus.Queued,\n BatchJobStatus.Pending,\n BatchJobStatus.InProgress ]);\n }\n params.status = statuses;\n }\n\n params.type = BatchJobType.Rostering;\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `rostering:sync:${queryParams.cursor}:${queryParams.sort}:${queryParams.jobStatus}`\n };\n },\n\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'rostering:sync',\n type: HttpVerbs.POST,\n invalidationKeys: ['rostering:sync'],\n data,\n success,\n error\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n },\n\n getSyncScheduleSettings(integrationId: string): Flight.SimulatedRequest {\n return {\n url: `{gateway}/v1/rostering/${integrationId}/schedule`,\n key: `sync-settings:${integrationId}`\n };\n },\n\n updateScheduleSetting(\n data: ScheduleSettingRequest,\n integrationId: string,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n type: HttpVerbs.PUT,\n url: `{gateway}/v1/rostering/${integrationId}/schedule`,\n key: `update:sync-settings:${data.customerId}:${integrationId}`,\n invalidationKeys: [`sync-settings:${integrationId}`],\n data,\n success,\n error,\n always\n };\n }\n};","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function useDomainSettingsSwitch() {\n const { isLoadingSettings, domainSettings } = useSettings(LocationContext.Settings);\n\n React.useEffect(() => {\n if (isLoadingSettings)\n return;\n\n if (!domainSettings) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [ domainSettings, isLoadingSettings ]);\n}\n","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { StaffManagerAppLinks } from 'apps/user-manager/interfaces/StaffManagerAppLinks';\n\nconst namespace = 'settings.staffManagerTabs';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst staffManagerAppLinks: StaffManagerAppLinks = {\n staffManager: {\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.STAFF\n },\n inviteRequests: {\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.ACCESS_REQUESTS\n }\n};\n\ninterface StaffManagerTabsProps {\n active: 'staff-manager' | 'invite-requests'\n}\n\nexport function StaffManagerTabs(props: StaffManagerTabsProps): JSX.Element {\n const { active } = props;\n \n return (\n <div className='mb-3'>\n <PillTabSelector\n tabs={[{\n name: getPhrase('staffManager'),\n appLink: staffManagerAppLinks.staffManager,\n active: active === 'staff-manager',\n analyticsData: {\n name: getPhrase('staffManager'),\n url: Core.AppLinkHelper.getHref(staffManagerAppLinks.staffManager)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }, {\n name: getPhrase('inviteRequests'),\n appLink: staffManagerAppLinks.inviteRequests,\n active: active === 'invite-requests',\n analyticsData: {\n name: LanguageService.getPhrase(namespace, 'inviteRequests'),\n url: Core.AppLinkHelper.getHref(staffManagerAppLinks.inviteRequests)\n },\n analyticsOptions: {\n actionType: UserAction.Click,\n entity: EntityType.Url,\n location: LocationContext.MagicTabs\n }\n }]}\n />\n </div>\n );\n}","export enum JoinRequestStatus {\n Approved = 'Approved',\n Denied = 'Denied',\n Pending = 'Pending'\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'userManager.inviteRequestsTableEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function InviteRequestsTableEmptyState(): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.UserManager.STAFF} />\n\n <EmptyState.Heading><Text namespace={namespace} phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text namespace={namespace} phrase='info' /></EmptyState.Info>\n <EmptyState.Cta\n text={getPhrase('cta')}\n appLink={{\n application: AppChannels.SETTINGS,\n action: Actions.Settings.REQUESTING_ACCESS\n }}\n className='btn btn-dark'\n />\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"avatarContainer\":\"HxoMt\",\"emailText\":\"ughCx\"};","import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { InstanceRegion } from 'libs/shared/enums/InstanceRegion';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport { InviteRequestsTableEmptyState } from 'apps/user-manager/components/invite-requests-table/empty-state/InviteRequestsTableEmptyState';\nimport { JoinRequestStatus } from 'apps/user-manager/enums/JoinRequestStatus';\nimport { JoinRequest } from 'apps/user-manager/interfaces/JoinRequest';\n\nimport styles from './invite-requests-table.scss';\n\nconst namespace = 'userManager.inviteRequestsTable';\n\ninterface InviteRequestsTableProps {\n joinRequests: JoinRequest[],\n imageCdnUrl: string,\n currentUser: CurrentUser;\n onResolveRequest: (request: JoinRequest, status: JoinRequestStatus) => void\n}\n\nexport function InviteRequestsTable(props: InviteRequestsTableProps) {\n const { joinRequests, imageCdnUrl, currentUser, onResolveRequest } = props;\n\n function getDateFormat(): string {\n if (currentUser.instanceRegion === InstanceRegion.US)\n return 'MM/DD/YYYY';\n return 'DD/MM/YYYY';\n }\n\n if (!joinRequests.length) {\n return <InviteRequestsTableEmptyState />;\n }\n\n return (\n <table className='w-100 table table-striped table-borderless'>\n <thead>\n <tr>\n <th scope='col' className='ps-3'><Text namespace={namespace} phrase='nameTableHeading' /></th>\n <th scope='col'><Text namespace={namespace} phrase='dateTableHeading' /></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n {joinRequests.map(joinRequest => (\n <tr key={joinRequest.id}>\n <td className='align-middle ps-3'>\n <div className='d-flex align-items-center'>\n <div className={`${styles.avatarContainer} me-2`}>\n <Avatar\n imageCdnUrl={imageCdnUrl}\n initials={\n UserHelper.getInitialsFromFullName(joinRequest.fullName) || joinRequest.email.charAt(0)\n }\n />\n </div>\n <div className='d-flex flex-column justify-content-center'>\n {joinRequest.fullName && <span className='fw-semibold'>{joinRequest.fullName}</span>}\n <span className={`${styles.emailText}`}>{joinRequest.email}</span>\n </div>\n </div>\n </td>\n <td className='align-middle'>{DateHelper.format(joinRequest.dateCreated, getDateFormat())}</td>\n <td className='text-end pe-3'>\n <button\n className='btn btn-tertiary me-1'\n onClick={() => onResolveRequest(joinRequest, JoinRequestStatus.Denied)}\n >\n <Text namespace={namespace} phrase='rejectButtonLabel' />\n </button>\n <button\n className='btn btn-primary btn-dark'\n onClick={() => onResolveRequest(joinRequest, JoinRequestStatus.Approved)}\n >\n <Text namespace={namespace} phrase='approveButtonLabel' />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RosteringRequests } from 'libs/shared/flight-requests/RosteringRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { Config, CurrentUser, RosteringResponse } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useDomainSettingsSwitch } from 'apps/settings/hooks/useDomainSettingsSwitch';\nimport { InviteRequestsTable } from 'apps/user-manager/components/invite-requests-table/InviteRequestsTable';\nimport { StaffManagerTabs } from 'apps/user-manager/components/staff-manager-tabs/StaffManagerTabs';\nimport { JoinRequestStatus } from 'apps/user-manager/enums/JoinRequestStatus';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\nimport { JoinRequest } from 'apps/user-manager/interfaces/JoinRequest';\n\nconst namespace = 'userManager.accessRequests';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst domainSettingsAppLink: Core.AppLink = {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.REQUESTING_ACCESS\n};\n\nconst settingsAppLink: Core.AppLink = {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n};\n\nexport function AccessRequestsView() {\n useDomainSettingsSwitch();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const joinRequests = Flight.useBasicFetch<JoinRequest[]>(UserManagerRequests.joinRequests());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const rostering = Flight.useBasicFetch<RosteringResponse>(RosteringRequests.getRostering());\n\n const hasRostering = rostering.data?.status && rostering.data.status !== 'None';\n\n React.useEffect(() => {\n // if school has rostering, redirect to staff manager\n if (rostering.hasCompleted && hasRostering) {\n const appLink = {\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.STAFF\n };\n Core.AppLinkHelper.trigger(appLink, { replace: true });\n }\n }, [ rostering.hasCompleted, hasRostering ]);\n\n function onResolveRequest(joinRequest: JoinRequest, status: JoinRequestStatus) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.RESOLVE_ACCESS_REQUEST,\n args: [joinRequest.id],\n params: { status }\n });\n }\n\n const dataLoaded = !joinRequests.hasCompleted\n || !config.hasCompleted\n || !currentUser.hasCompleted\n || !rostering.hasCompleted;\n\n if (dataLoaded || hasRostering) {\n return <></>;\n }\n\n return (\n <div className='px-3'>\n <h1 className='h2'>\n <Text namespace={namespace} phrase='heading' />\n </h1>\n\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settingsBreadcrumb'), appLink: settingsAppLink },\n { name: getPhrase('staffManagerBreadcrumb'), active: true }\n ]}\n />\n </div>\n\n <StaffManagerTabs active='invite-requests' />\n\n <p className='mb-3'>\n <Text namespace={namespace} phrase='domainSettingsDescription' />\n <br/>\n <AppLink appLink={domainSettingsAppLink} className='info-link'>\n <Text namespace={namespace} phrase={'domainSettingsLink'}/>\n </AppLink>\n </p>\n\n <InviteRequestsTable\n joinRequests={joinRequests.data}\n imageCdnUrl={config.data.imageCdnUrl}\n onResolveRequest={onResolveRequest}\n currentUser={currentUser.data}\n />\n </div>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","TabContents","props","tab","count","type","data","PillTabSelector","borderRadius","listClassName","tabs","index","analyticsData","analyticsOptions","onClick","onSelect","onSelectTab","defaultProps","BatchJobStatus","RosteringRequests","getRostering","url","getSyncList","queryParams","params","cursor","sort","order","jobStatus","statuses","includes","push","status","createJob","success","error","invalidationKeys","getJobSummary","id","getSyncScheduleSettings","integrationId","updateScheduleSetting","always","customerId","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","useDomainSettingsSwitch","isLoadingSettings","domainSettings","application","action","replace","namespace","getPhrase","staffManagerAppLinks","staffManager","inviteRequests","StaffManagerTabs","actionType","entity","location","JoinRequestStatus","LanguageService","InviteRequestsTableEmptyState","EmptyState","src","ImageUrls","Text","phrase","text","InviteRequestsTable","joinRequests","imageCdnUrl","currentUser","onResolveRequest","scope","joinRequest","Avatar","initials","UserHelper","fullName","email","charAt","DateHelper","dateCreated","instanceRegion","InstanceRegion","domainSettingsAppLink","settingsAppLink","AccessRequestsView","UserRequests","UserManagerRequests","config","ConfigRequests","rostering","hasRostering","hasCompleted","AppLink","args"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7187,6846],{96922:(e,t,n)=>{n.r(t),n.d(t,{SharedSeriesView:()=>s});var i=n(32735),a=n(81886),r=n(183),o=n(95342);function s(e){var t=a.Q.C$.getCurrentAppLink();return i.createElement(o.SeriesView,{key:e.objectId,id:e.objectId,shareId:e.shareId,getVideoAppLink:function(n){return Object.assign(Object.assign({},t),{params:{videoId:n.id,contextId:e.objectId,context:r.Q.Series}})}})}},95342:(e,t,n)=>{n.r(t),n.d(t,{SeriesView:()=>se});var i=n(32735),a=n(70680),r=n(23481),o=n(20354),s=n(65858),c=n(44522),u=n(49935),d=n(71020),l=n(74696),p=n(13231),v=n(79718),f=n(7733),m=n(51365),b=n(16714),h=n(23788),g=n(21750),y=n(39151),I=n(1666),S=n(60011),k=n(31949),A=n(56520),E=n(91286),L=n(60115),O=n(22902),T=n(79612),w=n(76753),P=n(35223),j=n(68140),C=n(14070),F=n(97291),N=n(64364);function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function x(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,B(i.key),i)}}function B(e){var t=function(e,t){if("object"!=_(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,"string");if("object"!=_(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==_(t)?t:t+""}function V(e,t,n){return t=G(t),function(e,t){if(t&&("object"==_(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,D()?Reflect.construct(t,n||[],G(e).constructor):t.apply(e,n))}function D(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(D=function(){return!!e})()}function G(e){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},G(e)}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}var R="shared.seriesNotFoundError",U=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),V(this,t,["Series doesn't exist"])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(t,e),n=t,(i=[{key:"name",get:function(){return"SeriesNotFoundError"}},{key:"heading",get:function(){return r.T.getPhrase(R,"heading")}},{key:"description",get:function(){return r.T.getPhrase(R,"description")}}])&&x(n.prototype,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,i}(N.H),H=n(51855),J=n(10671),Q=n(7179),W=n(27638),Z=n(86698),K=n(44110),$=n(97816),q=n(10741),z=n(33192),X=n(22490),Y=n(28400),ee=n(87114),te=r.T.encloseNamespace("shared.series"),ne=function(e,t){return{application:F.O.SUBJECT,action:C.e.Subjects.CLASSIFICATION,args:[e.id,Y.m.slugify(e.name)],params:{mtv:!!t||void 0}}},ie={getBreadcrumbs:function(e){var t=e.moviesAndTv,n=e.topicPath,i=e.series,a=e.presentation,r=e.availablePresentations;if(t){var o=[{name:te("moviesAndTv"),appLink:{application:F.O.MOVIES_AND_TV,action:C.e.MoviesAndTv.HOME}}];return null==n||n.slice(1,n.length).forEach((function(e){o.push({name:e.name,appLink:ne(e,!0)})})),o.push({name:i.name,active:!0}),o}var s=[{name:te("discover"),appLink:{application:F.O.DASHBOARD,action:C.e.Dashboard.HOME}}];return n&&(s.push({name:ee.i.getExploreAllTopicsTitle(null==a?void 0:a.name,null==r?void 0:r.length),appLink:{application:F.O.SUBJECT,action:C.e.Subjects.CLASSIFICATION_ALL,params:{presentationId:null==a?void 0:a.id}}}),n.forEach((function(e){s.push({name:e.name,appLink:ne(e)})}))),s.push({name:i.name,active:!0}),s}},ae=n(82431),re=r.T.encloseNamespace("shared.series"),oe=function(e){return f.o[e.name.charCodeAt(0)%f.o.length]};function se(e){var t,n,r,f,N,_=(0,a.I0)(),x=(0,W.u)(s.LZ.VideoThumbnail),B=x.setFavourite,V=x.canFavourite,D=(0,O.T)(),G=D.hasPermissions,M=D.hasLocalPermissions,R=(0,H.G)().isPlugin,Y=(0,A.R0)(),ee=Y.openInCurationStudioLabel,te=Y.isUserCurator,ne=Y.getOpenInCurationStudioLink;(0,Q.P)({id:e.id,app:"series",shareId:e.shareId});var se=o.a.useBasicFetch(y.L.config()),ce=o.a.useBasicFetch(k.N.currentUser()),ue=o.a.useBasicFetch((null===(t=ce.data)||void 0===t?void 0:t.isAuthenticated)&&I.h.yearGroups(ce.data.customerId)),de=o.a.useBasicFetch(e.classificationId&&g.x.classification(e.classificationId,null===(n=ce.data)||void 0===n?void 0:n.id)),le=o.a.useBasicFetch(e.shareId?S.J.sharedSeries(e.id,e.shareId):S.J.series(e.id)),pe=o.a.useBasicFetch((null===(r=de.data)||void 0===r?void 0:r.presentationId)&&g.x.presentationById(de.data.presentationId)),ve=(0,Z.y)().availablePresentations,fe=(0,K.i)();(0,T.M)(w.CG.getSeriesMetadata({content:le.data,phraseContext:{phraseHandler:re,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:z.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:z.f.allowIndexing()}));var me=(0,J._)({location:J.i.VideoItem,shareId:e.shareId}),be=o.a.useBasicFetch(e.classificationId&&g.x.path(e.classificationId));function he(t){var n;return S.J.seriesVideos(e.id,null===(n=ce.data)||void 0===n?void 0:n.id,Ie,t)}function ge(e){if(ye(!!e))return o.a.getFetch(_)(he(e))}function ye(e){return!e||!z.f.isBot()}var Ie=!!ce.data&&j.d.getOrSetSortType(ce.data.id,e.sort,h.D.Series),Se={classificationId:e.classificationId,mtv:e.moviesAndTv},ke=(0,L.K)(!!ce.data&&he,ge),Ae=ke.items,Ee=ke.hasMore,Le=ke.isFetching;(0,$.V)(Ae),(0,E.v)(le,{notFound:U});var Oe=!G(b.C.StudentExperience)&&M(b.E.UseSeriesActions);return i.createElement(m.M.Provider,{value:me},i.createElement("div",{className:"px-3"},se.data&&le.data?i.createElement(c.p,{heading:le.data.name,banner:le.data.banner,imageCdnUrl:se.data.imageCdnUrl,actions:function(){var e,t,n;if(R||!Oe)return[];var i=[{label:re("share"),appLink:le&&{application:F.O.DEFAULT,action:C.e.Default.SHARE,args:[null===(e=le.data)||void 0===e?void 0:e.id],params:{entityType:"series"}},svgName:P.vn.Share2,className:"btn btn-outline-dark me-2",button:!0}];return te&&i.push({label:ee,href:ne(null===(t=le.data)||void 0===t?void 0:t.typeId,null===(n=le.data)||void 0===n?void 0:n.id),openInNewTab:!0}),i}(),actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:oe(le.data)}):i.createElement(c.v,null),i.createElement("div",null,i.createElement("div",{className:(null===(f=le.data)||void 0===f?void 0:f.description)||e.moviesAndTv&&be.data?"border-bottom py-3 mb-3":"pt-3 mb-2"},e.classificationId||e.moviesAndTv?!le.data||e.classificationId&&!be.data?i.createElement(u.b2,null):i.createElement(u.Oo,{breadcrumbs:ie.getBreadcrumbs({moviesAndTv:e.moviesAndTv,topicPath:be.data,series:le.data,presentation:pe.data,availablePresentations:ve})}):i.createElement(i.Fragment,null),i.createElement("div",{className:"d-flex align-items-center"},(null===(N=le.data)||void 0===N?void 0:N.description)&&i.createElement("p",{className:"mb-0 ".concat(e.classificationId?"pt-2":"")},le.data.description),le.data&&i.createElement("div",{className:"ms-auto"},i.createElement(v.p,{variant:"outline-dark",type:Ie,analyticsOptions:{location:s.LZ.VideoListHeader,entity:s.py.Video,actionType:s.Vw.Sort,workflowPhase:s.eu.Complete},getSortAppLink:function(e){return ae.j.getSeriesAppLink(le.data,Object.assign(Object.assign({},Se),{sort:e}))}})))),Ae?i.createElement(i.Fragment,null,i.createElement(p.E4,{videos:Ae,yearGroups:ue.data,getVideoAppLink:e.getVideoAppLink,hasPermissions:G,getSubTextAppLink:function(e){return ae.j.getSeriesAppLink(null==e?void 0:e.series,Object.assign(Object.assign({},Se),{sort:Ie}))},setFavourite:B,canFavourite:V,presentationAudiences:e.moviesAndTv?null:fe.data,getPreviewQuestionsAppLink:function(e){return q.j.getPreviewQuestionsAppLink(e)},isPlugin:R,getClassroomGuideAppLink:X.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:X.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:X.W.getResourceGuidanceAppLink}),(ye(Ee)||Le)&&i.createElement(d._,{isFetching:Le,fetchNext:ge})):i.createElement(l.S,null))))}}}]);
2
- //# sourceMappingURL=7187-414ac79d42-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/7187-414ac79d42-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-series/SharedSeriesView.tsx","file:///app/packages/projects/lite/src/shared/errors/series/series-not-found/SeriesNotFoundError.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesViewUtils.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { Video } from 'libs/shared/interfaces';\n\nimport { SeriesView } from 'shared/views/series/SeriesView';\n\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedSeriesView(props: ShareLinkViewProps): JSX.Element {\n const currentAppLink = Core.AppLinkHelper.getCurrentAppLink();\n\n const getVideoAppLink = (video: Video) => ({\n ...currentAppLink,\n params: {\n videoId: video.id,\n contextId: props.objectId,\n context: RelatedVideosContext.Series\n }\n });\n\n return (\n <SeriesView\n key={props.objectId}\n id={props.objectId}\n shareId={props.shareId}\n getVideoAppLink={getVideoAppLink}\n />\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.seriesNotFoundError';\n\nexport class SeriesNotFoundError extends ErrorPageError {\n constructor() {\n super('Series doesn\\'t exist');\n }\n\n // @ts-ignore\n public get name(): string {\n return 'SeriesNotFoundError';\n }\n\n // @ts-ignore\n public get heading(): string {\n return LanguageService.getPhrase(namespace, 'heading');\n }\n\n // @ts-ignore\n public get description(): string {\n return LanguageService.getPhrase(namespace, 'description');\n }\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Classification, Presentation, Series } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getClassificationAppLink = (classification: Classification, moviesAndTv?: boolean): Core.AppLink => ({\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION,\n args: [ classification.id, TextHelper.slugify(classification.name) ],\n params: { mtv: moviesAndTv ? true : undefined }\n});\n\ninterface GetBreadcrumbOptions {\n moviesAndTv: boolean;\n topicPath: Classification[];\n series: Series;\n presentation: Presentation;\n availablePresentations: Presentation[]\n}\n\nexport const SeriesViewUtils = {\n getBreadcrumbs(options: GetBreadcrumbOptions): Breadcrumb[] {\n const { moviesAndTv, topicPath, series, presentation, availablePresentations } = options;\n\n if (moviesAndTv) {\n const breadcrumbs: Breadcrumb[] = [{\n name: getPhrase('moviesAndTv'),\n appLink: {\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.HOME\n }\n }];\n\n topicPath?.slice(1, topicPath.length).forEach(item => {\n breadcrumbs.push({\n name: item.name,\n appLink: getClassificationAppLink(item, true)\n });\n });\n\n breadcrumbs.push({\n name: series.name,\n active: true\n });\n\n return breadcrumbs;\n }\n\n const breadcrumbs: Breadcrumb[] = [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }];\n \n if (topicPath) {\n breadcrumbs.push({\n name: TopicsHelper.getExploreAllTopicsTitle(\n presentation?.name,\n availablePresentations?.length\n ),\n appLink: {\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION_ALL,\n params: { presentationId: presentation?.id }\n }\n });\n\n topicPath.forEach(item => {\n breadcrumbs.push({\n name: item.name,\n appLink: getClassificationAppLink(item)\n });\n });\n }\n\n breadcrumbs.push({\n name: series.name,\n active: true\n });\n\n return breadcrumbs;\n }\n};","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, Config, CurrentUser, Presentation, Series, Video, YearGroup } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { SeriesNotFoundError } from 'shared/errors/series/series-not-found/SeriesNotFoundError';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { SeriesViewUtils } from 'shared/views/series/SeriesViewUtils';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getFallbackBannerColourClass = (series: Series): string => {\n return BG_COLOUR_CLASS_NAMES[series.name.charCodeAt(0) % BG_COLOUR_CLASS_NAMES.length];\n};\n\ninterface SeriesViewProps {\n id: string;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n classificationId?: string;\n shareId?: string;\n moviesAndTv?: boolean;\n sort?: VideoSortType;\n}\n\nexport function SeriesView(props: SeriesViewProps): JSX.Element {\n const dispatch = useDispatch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n useDeepLinks({ id: props.id, app: 'series', shareId: props.shareId });\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const classification = Flight.useBasicFetch<Classification>(\n props.classificationId &&\n ClassificationRequests.classification(props.classificationId, currentUser.data?.id)\n );\n\n const series = Flight.useBasicFetch<Series>(props.shareId\n ? SeriesRequests.sharedSeries(props.id, props.shareId)\n : SeriesRequests.series(props.id));\n\n const presentation = Flight.useBasicFetch<Presentation>(classification.data?.presentationId &&\n ClassificationRequests.presentationById(classification.data.presentationId));\n\n const {\n availablePresentations\n } = usePresentation();\n\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata(PageMetadataHelper.getSeriesMetadata({\n content: series.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, shareId: props.shareId });\n\n const topicPath = Flight.useBasicFetch<Classification[]>(\n props.classificationId &&\n ClassificationRequests.path(props.classificationId)\n );\n\n function getVideosRequest(cursor?: string) {\n return SeriesRequests.seriesVideos(props.id, currentUser.data?.id, sort, cursor);\n }\n\n function fetchNext(cursor?: string) {\n if (!shouldRequestData(!!cursor))\n return;\n\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n /**\n * Infinite scrolling will be restricted for public browsing as a crawler/bot.\n * The rationale behind this is that we don't want to preload or allow crawlers\n * to enumerate the entirety of our series collections. Some series have > 10k videos\n * and they don't all need to be indexed (i.e. old news/current affair series).\n * \n * Public browsing by regular users will continue to paginate, along with authenticated\n * users. - Mike\n */\n function shouldRequestData(moreToFetch?: boolean) {\n return !moreToFetch || !SeoHelper.isBot();\n }\n\n function getBannerActions(): ActionOptions[] {\n if (isPlugin || !showHeaderActions) {\n return [];\n }\n\n const actions: ActionOptions[] = [{\n label: getPhrase('share'),\n appLink: series && {\n application: AppChannels.DEFAULT,\n action: Actions.Default.SHARE,\n args: [series.data?.id],\n params: { entityType: 'series' }\n },\n svgName: cvSvgLibrary.Share2,\n className: 'btn btn-outline-dark me-2',\n button: true\n }];\n\n if (isUserCurator)\n actions.push({\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(series.data?.typeId, series.data?.id),\n openInNewTab: true\n });\n\n return actions;\n }\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data && VideoSortHelper.getOrSetSortType(\n currentUser.data.id,\n props.sort,\n VideoSortType.Series\n );\n\n const seriesParams = {\n classificationId: props.classificationId,\n mtv: props.moviesAndTv\n };\n\n const {\n items: videos,\n hasMore,\n isFetching\n } = useInfiniteList<Video>(currentUser.data ? getVideosRequest : false, fetchNext);\n\n useVideoMixin(videos);\n\n useHandleObjectError(series, {\n notFound: SeriesNotFoundError\n });\n\n const showHeaderActions = !hasPermissions(PermissionName.StudentExperience) &&\n hasLocalPermissions(LocalPermissionName.UseSeriesActions);\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n {config.data && series.data\n ? (\n <BannerHeader\n heading={series.data.name}\n banner={series.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n actions={getBannerActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n blockColourClass={getFallbackBannerColourClass(series.data)}\n />\n ) : <PartialBannerHeader />\n }\n \n <div>\n <div className={series.data?.description || (props.moviesAndTv && topicPath.data) ? 'border-bottom py-3 mb-3' : 'pt-3 mb-2'}>\n {(() => {\n if (!props.classificationId && !props.moviesAndTv)\n return <></>;\n\n if (!series.data || (props.classificationId && !topicPath.data))\n return <PartialBreadcrumbs />;\n\n return (\n <Breadcrumbs\n breadcrumbs={SeriesViewUtils.getBreadcrumbs({\n moviesAndTv: props.moviesAndTv,\n topicPath: topicPath.data,\n series: series.data,\n presentation: presentation.data,\n availablePresentations: availablePresentations\n })}\n />\n );\n })()}\n\n <div className='d-flex align-items-center'>\n {series.data?.description && (\n <p className={`mb-0 ${props.classificationId ? 'pt-2' : ''}`}>{series.data.description}</p>\n )}\n\n {series.data && (\n <div className='ms-auto'>\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n getSortAppLink={sort => {\n return SeriesAppLinkHelper.getSeriesAppLink(series.data, { ...seriesParams, sort });\n }}\n />\n </div>\n )}\n </div>\n </div>\n\n {(() => {\n if (!videos)\n return <PartialVideoList />;\n\n return (\n <>\n <VideoList\n videos={videos}\n yearGroups={yearGroups.data}\n getVideoAppLink={props.getVideoAppLink}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video =>\n SeriesAppLinkHelper.getSeriesAppLink(video?.series, { ...seriesParams, sort })}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={props.moviesAndTv ? null : audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {(shouldRequestData(hasMore) || isFetching) &&\n <InfiniteScrollFooter isFetching={isFetching} fetchNext={fetchNext} />}\n </>\n );\n })()}\n </div>\n </div>\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["SharedSeriesView","props","currentAppLink","SeriesView","key","objectId","id","shareId","getVideoAppLink","video","params","videoId","contextId","context","namespace","SeriesNotFoundError","LanguageService","ErrorPageError","getPhrase","getClassificationAppLink","classification","moviesAndTv","application","action","args","TextHelper","name","mtv","undefined","SeriesViewUtils","getBreadcrumbs","options","topicPath","series","presentation","availablePresentations","appLink","slice","length","forEach","item","push","active","breadcrumbs","TopicsHelper","presentationId","getFallbackBannerColourClass","charCodeAt","dispatch","useLiteFavourites","u","setFavourite","canFavourite","usePermissions","hasPermissions","hasLocalPermissions","isPlugin","usePluginHelper","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useDeepLinks","app","config","ConfigRequests","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","classificationId","ClassificationRequests","SeriesRequests","usePresentation","audiences","usePresentationAudiences","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","allowIndexing","videoActions","useVideoActions","location","getVideosRequest","cursor","sort","fetchNext","shouldRequestData","moreToFetch","VideoSortHelper","VideoSortType","seriesParams","videos","items","hasMore","isFetching","useVideoMixin","notFound","showHeaderActions","PermissionName","VideoActionsContext","value","className","BannerHeader","heading","banner","imageCdnUrl","actions","label","entityType","svgName","button","href","typeId","openInNewTab","getBannerActions","actionsDropdownClassName","blockColourClass","description","Breadcrumbs","VideoSortSelect","variant","type","analyticsOptions","entity","actionType","workflowPhase","getSortAppLink","SeriesAppLinkHelper","VideoList","getSubTextAppLink","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","VideoAppLinkHelper","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","InfiniteScrollFooter","PartialVideoList"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7533],{63649:(e,a,t)=>{t.d(a,{X:()=>n});var i=t(32735);const c={video:"ekpg6",notice:"lQs4F",heading:"Gt6uV",interaction:"LEfYX",button:"caHP7",edit:"de4DP",questions:"XelbS"};function n(e){var a=e.isEdit;return i.createElement("div",{className:"px-3 w-100 ".concat(a?c.edit:"")},a?i.createElement("div",{className:"d-flex justify-content-between align-items-center mb-3"},i.createElement("div",{className:"partial-loading-background ".concat(c.heading)}),i.createElement("div",null,i.createElement("div",{className:"partial-loading-background d-inline-block ".concat(c.button)}),i.createElement("div",{className:"partial-loading-background d-inline-block ms-2 ".concat(c.button)}))):i.createElement("div",{className:"partial-loading-background ".concat(c.notice)}),i.createElement("div",{className:"partial-loading-background mb-3 ".concat(c.video)},i.createElement("div",{className:"partial-loading-background ".concat(c.questions)})),i.createElement("div",{className:"partial-loading-background mb-3 ".concat(c.heading)}),i.createElement("div",null,Array(5).fill(null).map((function(e,a){return i.createElement("div",{key:a,className:"partial-loading-background my-2 ".concat(c.interaction)})}))))}},38280:(e,a,t)=>{t.r(a),t.d(a,{SharedInteractiveView:()=>x});var i=t(32735),c=t(20354),n=t(30439),r=t(4594),d=t(60051),s=t(16714),l=t(39151),o=t(1666),u=t(20768),m=t(47812),v=t(31949),b=t(26304),g=t(91286),h=t(22902),p=t(79612),k=t(76753),E=t(51855),y=t(7179),I=t(36873),P=t(44110),f=t(53073),w=t(97816),N=t(63649),q=t(84062),F=t(25758),C=t(57426),V=t(16857),j={notFound:C.k,forbidden:{privacy:V.m}};function x(e){var a,t,C,x=(0,h.T)().hasPermissions,B=c.a.useBasicFetch(l.L.config()),M=(0,E.G)().isPlugin,G=c.a.useBasicFetch(v.N.currentUser()),S=c.a.useBasicFetch(u.b.sharedInteractiveMetadata(e.objectId,e.shareId)),A=c.a.useBasicFetch(n.o.getShareObject(e.shareId)),T=A.data&&(A.data.objectTypeId===r.E.Interactive?m.k.createViewKey(e.shareId,d.f.Share):m.k.createViewKey(e.objectId,d.f.MasterObject,e.shareId)),U=c.a.useBasicFetch(T),X=(0,P.i)(),_=c.a.useBasicFetch((null===(a=G.data)||void 0===a?void 0:a.isAuthenticated)&&o.h.yearGroups(G.data.customerId)),K=(0,f.f)(),L=c.a.useBasicFetch(K&&S.data&&u.b.interactive(S.data.interactiveId)),O=(0,I.k)({video:S.data,context:e.queryParams.context,contextId:e.queryParams.contextId,moviesAndTv:e.queryParams.mtv,currentUser:G.data});(0,g.v)(S,j),(0,b.b)(S,{private:V.m}),(0,y.P)({id:e.objectId,app:"interactives",shareId:e.shareId}),(0,w.V)(null!==(t=O.videos)&&void 0!==t?t:[]),(0,p.M)(k.CG.getInteractiveMetadata({content:S.data}));var D=S.data&&B.hasCompleted&&G.hasCompleted&&(!K||L.hasCompleted)&&A.hasCompleted&&U.hasCompleted;return K?D?i.createElement(F.x,{config:B.data,currentUser:G.data,queryParams:e.queryParams,interactive:S.data,isPreviewPreventScrubbingEnabled:L.data.preventScrubbing,yearGroups:_.data,audiences:X.data,relatedVideos:O,canManageVideoAccess:x(s.C.ManageVideoAccess),isPlugin:M}):i.createElement(N.X,{isEdit:!1}):D?i.createElement(q.M,{interactive:S.data,currentUser:G.data,config:B.data,audiences:X.data,yearGroups:_.data,queryParams:e.queryParams,viewKey:U.data,relatedVideos:O,shareLink:A.data,startTime:null===(C=e.queryParams)||void 0===C?void 0:C.t,isPlugin:M}):i.createElement(i.Fragment,null)}}}]);
2
- //# sourceMappingURL=7533-f2e71bd0dd-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/7533-f2e71bd0dd-lite.chunk.js","mappings":"mJACA,SAAgB,MAAQ,QAAQ,OAAS,QAAQ,QAAU,QAAQ,YAAc,QAAQ,OAAS,QAAQ,KAAO,QAAQ,UAAY,SCO/H,SAAUA,EAA0BC,GACxC,IAAQC,EAAWD,EAAXC,OAER,OACE,uBAAKC,UAAS,qBAAgBD,EAAS,OAAc,KAClDA,EACC,uBAAKC,UAAU,0DACb,uBAAKA,UAAS,qCAAgC,aAC9C,2BACE,uBAAKA,UAAS,oDAA+C,YAC7D,uBAAKA,UAAS,yDAAoD,cAGtE,uBAAKA,UAAS,qCAAgC,YAEhD,uBAAKA,UAAS,0CAAqC,UACjD,uBAAKA,UAAS,qCAAgC,gBAEhD,uBAAKA,UAAS,0CAAqC,aACnD,2BACGC,MAAM,GAAGC,KAAK,MAAMC,KAAI,SAACC,EAAGC,GAAC,OAC5B,uBAAKC,IAAKD,EAAGL,UAAS,0CAAqC,gBAA4B,KAKjG,C,wWCAMO,EAAc,CAClBC,SAAU,IACVC,UAAW,CACTC,QAAS,MAIP,SAAUC,EAAsBb,G,UAC5Bc,GAAmB,SAAnBA,eAEFC,EAAS,kBAA6B,cAEpCC,GAAa,SAAbA,SAEFC,EAAc,kBAAkC,mBAChDC,EAAsB,kBAC1B,8BAA8ClB,EAAMmB,SAAUnB,EAAMoB,UAGhEC,EAAY,kBAChB,mBAA6BrB,EAAMoB,UAO/BE,EAAiBD,EAAUE,OAASF,EAAUE,KAAKC,eAAiB,gBACtE,kBAA6BxB,EAAMoB,QAAS,WAC5C,kBAA6BpB,EAAMmB,SAAU,iBAA0BnB,EAAMoB,UAC3EK,EAAU,kBAAoCH,GAC9CI,GAAY,SACZC,EAAa,mBACD,QAAhB,EAAAV,EAAYM,YAAI,eAAEK,kBAAmB,eAA4BX,EAAYM,KAAKM,aAO9EC,GAA2B,SAC3BC,EAAc,kBAClBD,GAA4BZ,EAAoBK,MAChD,gBAAgCL,EAAoBK,KAAKS,gBAGrDC,GAAgB,OAAoB,CACxCC,MAAOhB,EAAoBK,KAC3BY,QAASnC,EAAMoC,YAAYD,QAC3BE,UAAWrC,EAAMoC,YAAYC,UAC7BC,YAAatC,EAAMoC,YAAYG,IAC/BtB,YAAaA,EAAYM,QAG3B,OAAqBL,EAAqBT,IAC1C,OAAsBS,EAAqB,CAAEsB,QAAS,OACtD,OAAa,CAAEC,GAAIzC,EAAMmB,SAAUuB,IAAK,eAAgBtB,QAASpB,EAAMoB,WACvE,OAAkC,QAApB,EAAAa,EAAcU,cAAM,QAAI,KACtC,OAAmB,4BAA0C,CAAEC,QAAS1B,EAAoBK,QAE5F,IAAMsB,EACJ3B,EAAoBK,MACpBR,EAAO+B,cACP7B,EAAY6B,gBACVhB,GAA4BC,EAAYe,eAC1CzB,EAAUyB,cACVrB,EAAQqB,aAGV,OAAIhB,EAEGe,EAIH,gBAAC,IAAkB,CACjB9B,OAAQA,EAAOQ,KACfN,YAAaA,EAAYM,KACzBa,YAAapC,EAAMoC,YACnBL,YAAab,EAAoBK,KACjCwB,iCAAkChB,EAAYR,KAAKyB,iBACnDrB,WAAYA,EAAWJ,KACvBG,UAAWA,EAAUH,KACrBU,cAAeA,EACfgB,qBAAsBnC,EAAe,uBACrCE,SAAUA,IAbL,gBAAC,IAAyB,CAACf,QAAQ,IAkBzC4C,EAIH,gBAAC,IAAe,CACdd,YAAab,EAAoBK,KACjCN,YAAaA,EAAYM,KACzBR,OAAQA,EAAOQ,KACfG,UAAWA,EAAUH,KACrBI,WAAYA,EAAWJ,KACvBa,YAAapC,EAAMoC,YACnBX,QAASA,EAAQF,KACjBU,cAAeA,EACfZ,UAAWA,EAAUE,KACrB2B,UAA4B,QAAjB,EAAAlD,EAAMoC,mBAAW,eAAEe,EAC9BnC,SAAUA,IAdL,gCAiBX,C","sources":["file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/interactive-partial-loading.scss","file:///app/packages/projects/lite/src/apps/interactives/components/interactive-partial-loading/InteractivePartialLoading.tsx","file:///app/packages/projects/lite/src/apps/share/views/shared-interactive/SharedInteractiveView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"video\":\"ekpg6\",\"notice\":\"lQs4F\",\"heading\":\"Gt6uV\",\"interaction\":\"LEfYX\",\"button\":\"caHP7\",\"edit\":\"de4DP\",\"questions\":\"XelbS\"};","import React from 'react';\n\nimport styles from './interactive-partial-loading.scss';\n\ninterface InteractivePartialLoadingProps {\n isEdit: boolean;\n}\n\nexport function InteractivePartialLoading(props: InteractivePartialLoadingProps): React.ReactElement {\n const { isEdit } = props;\n\n return (\n <div className={`px-3 w-100 ${isEdit ? styles.edit : ''}`}>\n {isEdit ?\n <div className='d-flex justify-content-between align-items-center mb-3'>\n <div className={`partial-loading-background ${styles.heading}`}></div>\n <div>\n <div className={`partial-loading-background d-inline-block ${styles.button}`}></div>\n <div className={`partial-loading-background d-inline-block ms-2 ${styles.button}`}></div>\n </div>\n </div> :\n <div className={`partial-loading-background ${styles.notice}`} />\n }\n <div className={`partial-loading-background mb-3 ${styles.video}`}>\n <div className={`partial-loading-background ${styles.questions}`}></div>\n </div>\n <div className={`partial-loading-background mb-3 ${styles.heading}`}></div>\n <div>\n {Array(5).fill(null).map((_, i) => (\n <div key={i} className={`partial-loading-background my-2 ${styles.interaction}`}></div>\n ))}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useCannotConsumeError } from 'libs/shared/hooks/useCannotConsumeError';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Interactive, InteractiveMetadata, PlayerViewKey, UnionShareObject, YearGroup } from 'libs/shared/interfaces';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useGetRelatedVideos } from 'shared/hooks/useGetRelatedVideos';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useShouldPreviewInteractive } from 'shared/hooks/useShouldPreviewInteractive';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { InteractivePartialLoading } from 'apps/interactives/components/interactive-partial-loading/InteractivePartialLoading';\nimport { PlayInteractive } from 'apps/interactives/components/play-interactive/PlayInteractive';\nimport { PreviewInteractive } from 'apps/interactives/components/preview-interactive/PreviewInteractive';\nimport { ShareLinkNotFoundError } from 'apps/share/errors/share-link-not-found/ShareLinkNotFoundError';\nimport { ShareLinkPrivateError } from 'apps/share/errors/share-link-private/ShareLinkPrivateError';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nconst videoErrors = {\n notFound: ShareLinkNotFoundError,\n forbidden: {\n privacy: ShareLinkPrivateError\n }\n};\n\nexport function SharedInteractiveView(props: ShareLinkViewProps): JSX.Element {\n const { hasPermissions } = usePermissions();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.sharedInteractiveMetadata(props.objectId, props.shareId)\n );\n\n const shareLink = Flight.useBasicFetch<UnionShareObject>(\n ShareRequests.getShareObject(props.shareId)\n );\n\n /**\n * If the shareLink type isn't an interactive, then it's a playlist and needs to be\n * used as context for fetching\n */\n const viewKeyRequest = shareLink.data && (shareLink.data.objectTypeId === MasterType.Interactive\n ? PlayerRequests.createViewKey(props.shareId, MediaIdType.Share)\n : PlayerRequests.createViewKey(props.objectId, MediaIdType.MasterObject, props.shareId));\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(viewKeyRequest);\n const audiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n /**\n * Authenticated staff with Lite product access get the interactive \"Preview\" view instead\n * of the usual play view.\n */\n const shouldPreviewInteractive = useShouldPreviewInteractive();\n const interactive = Flight.useBasicFetch<Interactive>(\n shouldPreviewInteractive && interactiveMetadata.data &&\n InteractiveRequests.interactive(interactiveMetadata.data.interactiveId)\n );\n\n const relatedVideos = useGetRelatedVideos({\n video: interactiveMetadata.data,\n context: props.queryParams.context,\n contextId: props.queryParams.contextId,\n moviesAndTv: props.queryParams.mtv,\n currentUser: currentUser.data\n });\n \n useHandleObjectError(interactiveMetadata, videoErrors);\n useCannotConsumeError(interactiveMetadata, { private: ShareLinkPrivateError });\n useDeepLinks({ id: props.objectId, app: 'interactives', shareId: props.shareId });\n useVideoMixin(relatedVideos.videos ?? []);\n useSetPageMetadata(PageMetadataHelper.getInteractiveMetadata({ content: interactiveMetadata.data }));\n\n const hasLoaded = (\n interactiveMetadata.data &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!shouldPreviewInteractive || interactive.hasCompleted) &&\n shareLink.hasCompleted &&\n viewKey.hasCompleted\n );\n\n if (shouldPreviewInteractive) {\n // For staff, the interactive is previewed\n if (!hasLoaded)\n return <InteractivePartialLoading isEdit={false} />;\n\n return (\n <PreviewInteractive\n config={config.data}\n currentUser={currentUser.data}\n queryParams={props.queryParams}\n interactive={interactiveMetadata.data}\n isPreviewPreventScrubbingEnabled={interactive.data.preventScrubbing}\n yearGroups={yearGroups.data}\n audiences={audiences.data}\n relatedVideos={relatedVideos}\n canManageVideoAccess={hasPermissions(PermissionName.ManageVideoAccess)}\n isPlugin={isPlugin}\n />\n );\n }\n\n if (!hasLoaded)\n return <></>;\n\n return (\n <PlayInteractive\n interactive={interactiveMetadata.data}\n currentUser={currentUser.data}\n config={config.data}\n audiences={audiences.data}\n yearGroups={yearGroups.data}\n queryParams={props.queryParams}\n viewKey={viewKey.data}\n relatedVideos={relatedVideos}\n shareLink={shareLink.data}\n startTime={props.queryParams?.t}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["InteractivePartialLoading","props","isEdit","className","Array","fill","map","_","i","key","videoErrors","notFound","forbidden","privacy","SharedInteractiveView","hasPermissions","config","isPlugin","currentUser","interactiveMetadata","objectId","shareId","shareLink","viewKeyRequest","data","objectTypeId","viewKey","audiences","yearGroups","isAuthenticated","customerId","shouldPreviewInteractive","interactive","interactiveId","relatedVideos","video","context","queryParams","contextId","moviesAndTv","mtv","private","id","app","videos","content","hasLoaded","hasCompleted","isPreviewPreventScrubbingEnabled","preventScrubbing","canManageVideoAccess","startTime","t"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[7630],{19670:(e,t,a)=>{a.d(t,{o:()=>p});var n=a(32735),i=a(1048),r=a(11607),l=a(87311),o=a(91743),c=a(83345),s=a(54610),d=a(67453),m=a(80385),u=a(93563),v="shared.videoAtAGlance";function p(e){var t=(0,m.Wp)(e.video,e.theme),a=(0,m.md)(e.video,e.pointsOfInterest,t,e.suppressInteractivity),p=(0,m.RH)(e.pointsOfInterest,t);if(!t)return n.createElement(n.Fragment,null);var f,g,E,h,b,y=(null===(E=null===(g=null==(f=e.theme)?void 0:f.data)||void 0===g?void 0:g.colours)||void 0===E?void 0:E.primary)&&(null===(b=null===(h=null==f?void 0:f.data)||void 0===h?void 0:h.colours)||void 0===b?void 0:b.secondary)?f.data.colours:{primary:"#F5F4FF",secondary:"#9294FF"},C="function"==typeof e.onClickShowDescription,k="function"==typeof e.onClickShowCurriculumLinks;return n.createElement("div",{className:"rounded border px-3 px-sm-5 py-3 mb-3 position-relative d-flex justify-content-center ".concat(u.Z.container),style:{backgroundColor:y.primary}},n.createElement("div",{className:"".concat(u.Z.content," d-flex align-items-center pt-4 pt-sm-0")},n.createElement("div",null,n.createElement("h2",{className:"h4"},n.createElement(c.x,{namespace:v,phrase:"videoAtAGlance"})),C&&n.createElement(r.L,{onClick:e.onClickShowDescription,className:"".concat(u.Z.detailsBtn," position-absolute cursor-pointer me-4 fw-semibold text-info")},n.createElement(c.x,{namespace:v,phrase:"readFullDescription"})),n.createElement("div",{ref:p,onClick:function(t){return(0,m.$H)(t,e.pointsOfInterest,e.setStartTime)},dangerouslySetInnerHTML:{__html:a}}),function(){var t,a,i,r;return(null===(a=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)?n.createElement("div",{className:"py-1"},n.createElement(o.P,Object.assign({tags:null===(r=null===(i=e.video)||void 0===i?void 0:i.tags)||void 0===r?void 0:r.data,themeColours:y},l.G.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity)))):n.createElement(n.Fragment,null)}(),n.createElement("div",{className:"mt-2"},k&&n.createElement(r.L,{onClick:e.onClickShowCurriculumLinks,className:"cursor-pointer d-inline-block fw-semibold text-info"},n.createElement(c.x,{namespace:v,phrase:"seeCurriculumLinks"}))))),function(){var t,a,r,l=null!==(r=null===(a=null===(t=e.theme)||void 0===t?void 0:t.data)||void 0===a?void 0:a.images)&&void 0!==r?r:{};return i.t.keys(l).filter((function(e){return!i.t.isEmpty(l[e])})).map((function(e){var t,a,i=d.j.createUrl(null===(t=l[e])||void 0===t?void 0:t.url,{size:s.h2.Medium});return n.createElement("div",{key:null===(a=l[e])||void 0===a?void 0:a.fileId,className:"".concat(u.Z[e]," ").concat(u.Z.background," d-none d-lg-block"),style:{backgroundImage:"url('".concat(i,"')")}})}))}())}},80385:(e,t,a)=>{a.d(t,{$H:()=>p,RH:()=>g,Wp:()=>E,md:()=>f});var n=a(32735),i=a(16367),r=a(34468),l=a(73758),o=a(93264),c=a(93563);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}var d=/(\[.*\]\(cv:\/\/poi\?id=[0-9]+\))/g,m=/[0-9]+/,u=/\[.*\]/,v=/[\[\]]/g;function p(e,t,a){e.preventDefault();var n=e.target.getAttribute("href");if((null==n?void 0:n.includes("cv://poi"))&&(null==t?void 0:t.length)){var i=n.split("cv://poi?id=")[1],r=t.find((function(e){return e.id.toString()===i}));a&&r&&a(r.startTime)}}function f(e,t,a,r){var l,c,p,f=(c=(0,n.useState)(""),p=2,function(e){if(Array.isArray(e))return e}(c)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,r,l,o=[],c=!0,s=!1;try{if(r=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=r.call(a)).done)&&(o.push(n.value),o.length!==t);c=!0);}catch(e){s=!0,i=e}finally{try{if(!c&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw i}}return o}}(c,p)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?s(e,t):void 0}}(c,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=f[0],E=f[1];return(0,n.useEffect)((function(){if(a){var n=function(e,t,a){var n=function(e,t,a){return(null==t?void 0:t.length)?e.content.replace(d,(function(e){var n=e.match(m);if(!(null==n?void 0:n.length))return e;var i=t.find((function(e){return e.id.toString()===n[0]})),r=e.match(u);if(!i||!(null==r?void 0:r.length))return e;var l='<span class="me-2">'.concat(o.T.ToDisplayDuration(1e3*i.startTime),"</span>"),c=r[0];return c=(c=c.replace(v,""))||i.description,c="".concat(l," ").concat(c),a?'<span class="d-flex">'.concat(c,"</span>"):e.replace(u,"[".concat(c,"]"))})):e.content}(e,t,a);return i(n).split('a href="cv://poi').join('a class="d-flex" href="cv://poi')}(e.glance,t,r);E(n)}}),[null===(l=e.glance)||void 0===l?void 0:l.content,null==t?void 0:t.length,a]),g}function g(e,t){var a=(0,n.useRef)();function i(){var t=this.getAttribute("href");if((null==t?void 0:t.includes("cv://poi"))&&(null==e?void 0:e.length)){var a=t.split("cv://poi?id=")[1];if(a){var n=e.find((function(e){return e.id.toString()===a}));n&&l.n.trigger("glance:poi:mouseover",n)}}}function o(){l.n.trigger("glance:poi:mouseleave")}function s(){var e;return null===(e=a.current)||void 0===e?void 0:e.querySelectorAll('[href*="cv://poi"]')}return(0,r.R)("player:poi:mouseover",(function(e){var t,n=null==e?void 0:e.id;n&&(null===(t=function(e){var t;return null===(t=a.current)||void 0===t?void 0:t.querySelector('[href="cv://poi?id='.concat(e,'"]'))}(n))||void 0===t||t.classList.add(c.Z.highlightPoi))}),null,t),(0,r.R)("player:poi:mouseleave",(function(){var e;null===(e=s())||void 0===e||e.forEach((function(e){return e.classList.remove(c.Z.highlightPoi)}))}),null,t),(0,n.useEffect)((function(){if(a.current&&t){var e=s();return e.forEach((function(e){return e.addEventListener("mouseover",i)})),e.forEach((function(e){return e.addEventListener("mouseleave",o)})),function(){e.forEach((function(e){return e.removeEventListener("mouseover",i)})),e.forEach((function(e){return e.removeEventListener("mouseleave",o)}))}}}),[a.current]),a}function E(e,t){var a,n;return t&&(null===(a=e.glance)||void 0===a?void 0:a.content)&&"text/markdown"===(null===(n=e.glance)||void 0===n?void 0:n.format)}},73804:(e,t,a)=>{a.d(t,{X:()=>k});var n=a(32735),i=a(42648),r=a(23481),l=a(110),o=a(78259),c=a(65858),s=a(11607),d=a(25723),m=a(87311),u=a(91743),v=a(83345),p=a(40178),f=a(31908),g=a(8730);const E={closeButton:"ZwHXo",descriptionBorder:"J_Z5i"};var h="shared.videoDetails",b=r.T.encloseNamespace(h);function y(e){var t=e.label,a=e.items,i=e.className;if(!(a&&a.data&&a.data.length))return n.createElement(n.Fragment,null);var r=a.data.map((function(e){return e.name})).join(", ");return n.createElement("div",{className:i},t,": ",r)}function C(e){var t,a,i,r,o,c,s,d,m,u=e.video;if(!f.M.isVideo(u)&&!f.M.isClip(u))return n.createElement(n.Fragment,null);var p=f.M.getParentVideo(u);return n.createElement("div",{className:u.description?"col-md-5 ps-md-3 pt-3 pt-md-0":"col-12"},n.createElement("h2",{className:"h6 mb-1"},n.createElement(v.x,{phrase:"details"})),!!p.productionYear&&n.createElement("div",{className:"mb-1"},n.createElement(v.x,{phrase:"productionYear",options:{year:p.productionYear}})),n.createElement(y,{label:b("productionCompanies",{smartCount:null===(a=null===(t=p.productionCompanies)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length}),items:p.productionCompanies,className:"mb-1"}),n.createElement(y,{label:b("distributors",{smartCount:null===(r=null===(i=p.distributors)||void 0===i?void 0:i.data)||void 0===r?void 0:r.length}),items:p.distributors,className:"mb-1"}),n.createElement(y,{label:b("producers",{smartCount:null===(c=null===(o=p.producers)||void 0===o?void 0:o.data)||void 0===c?void 0:c.length}),items:p.producers,className:"mb-1"}),n.createElement(y,{label:b("directors",{smartCount:null===(d=null===(s=p.directors)||void 0===s?void 0:s.data)||void 0===d?void 0:d.length}),items:p.directors,className:"mb-1"}),!!p.dateBroadcast&&n.createElement("div",{className:"mb-1"},n.createElement(v.x,{phrase:"dateBroadcast",options:{date:l.O.format(p.dateBroadcast,"DD/MM/YYYY")}})),!!p.channel&&n.createElement("div",{className:"mb-1"},n.createElement(v.x,{phrase:"channel",options:{channel:p.channel.name}})),!((null===(m=u._isClickViewCurated)||void 0===m?void 0:m.value)||!u.dateCreated)&&n.createElement("div",{className:"mb-1"},n.createElement(v.x,{phrase:"dateUploaded",options:{date:l.O.format(u.dateCreated,"DD/MM/YYYY")}})))}function k(e){var t,a=e.video,r=e.maxHeight,l=void 0===r?p.x:r,b=f.M.getParentVideo(a),y=!!e.video.description,k=(0,g._)(e.video)||!!b.productionYear||!!b.dateBroadcast||!!b.channel||!(!a.dateCreated||(null===(t=a._isClickViewCurated)||void 0===t?void 0:t.value)),N="function"==typeof e.onClickClose,w="function"==typeof e.onClickShowCurriculumLinks;return y||k?n.createElement(v.D.Provider,{value:h},n.createElement("div",{className:"rounded border p-3 mb-3 position-relative"},n.createElement(i.$B,{autoHeight:!0,autoHeightMax:l},n.createElement("div",{className:"row g-0"},y&&n.createElement("div",{className:k?"".concat(E.descriptionBorder," pe-3 col-md-7"):"col-12"},n.createElement("div",{className:"d-flex align-items-center"},n.createElement("h2",{className:"h6 mb-1"},n.createElement(v.x,{phrase:"description"})),n.createElement(d.m,{text:a.description,title:a.name,className:"ps-2",onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:c.LZ.PlayPage,entity:c.py.Video,actionType:c.Vw.Click,descriptor:c._S.LaunchImmersiveReader},analyticsData:{id:a.id,type:"description"}})),n.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:o.O.linkifyText(e.video.description,{nl2br:!0})}}),n.createElement(u.P,Object.assign({tags:function(){var t,a;return e.hideTags||f.M.isInteractive(e.video)||!(null===(a=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)?null:e.video.tags.data}()},m.G.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),{className:"mt-1"})),w&&n.createElement(s.L,{onClick:e.onClickShowCurriculumLinks,className:"cursor-pointer d-inline-block fw-semibold text-info mt-2 mb-1"},n.createElement(v.x,{namespace:h,phrase:"seeCurriculumLinks"}))),k&&n.createElement(C,Object.assign({},e)))),N&&n.createElement("button",{type:"button",className:"btn-close ".concat(E.closeButton),"aria-label":"Close",onClick:e.onClickClose}))):n.createElement(n.Fragment,null)}},3133:(e,t,a)=>{a.d(t,{R:()=>s});var n=a(32735),i=a(20789),r=a(86794),l=a(2786),o=a(64818);const c={avatarContainer:"kd18L",cvIcon:"smUBc"};function s(e){var t;if(!e.owner&&!e.isClickViewCurated)return n.createElement(n.Fragment,null);if(e.isClickViewCurated)return n.createElement("div",{className:"clamp-1 d-flex align-items-center"},n.createElement("div",{className:"".concat(c.avatarContainer," me-1 border rounded-circle position-relative")},n.createElement(r.b,{className:"me-1 ".concat(c.cvIcon)},n.createElement(l.Sd,null))),"ClickView");var a=o.l.getCommunityName(e.owner);return a?n.createElement("div",{className:"d-flex align-items-center"},n.createElement("div",{className:"".concat(c.avatarContainer," me-1")},n.createElement(i.q,{imageCdnUrl:e.imageCdnUrl,initials:o.l.getInitials(e.owner.name,e.owner.surname),imageUrl:null===(t=e.owner.avatar)||void 0===t?void 0:t.url})),n.createElement("div",{className:"clamp-1"},a)):n.createElement(n.Fragment,null)}},15446:(e,t,a)=>{a.d(t,{C:()=>d});var n=a(32735),i=a(65858),r=a(36848),l=a(89118),o=a(3133),c=a(54610),s=a(68626);var d=n.memo((function(e){var t;return n.createElement("div",{className:"flex-shrink-0 px-1 ".concat("hzP5u")},n.createElement("div",{className:"row m-0 border rounded p-2 h-100"},n.createElement("div",{className:"col-6 p-0"},n.createElement(l.u,{video:e.data,appLink:e.getAppLink(e.data),type:"cosmetic",imageOptions:{size:c.h2.Small},textPosition:s.z.Independent,analyticsOptions:{location:i.LZ.SlidingListItem},preload:!0})),n.createElement("div",{className:"col-6 p-0"},n.createElement("div",{className:"ps-2"},n.createElement(r.F,{appLink:e.getAppLink(e.data)},n.createElement("h3",{className:"h6 mb-1"},n.createElement("span",{className:"clamp-2"},e.data.name))),n.createElement(o.R,{owner:e.data.owner,isClickViewCurated:null===(t=e.data._isClickViewCurated)||void 0===t?void 0:t.value,imageCdnUrl:e.imageCdnUrl})))))}))},47862:(e,t,a)=>{a.d(t,{K:()=>m});var n=a(32735),i=a(65858),r=a(36848),l=a(83345),o=a(89118),c=a(3133),s=a(54610),d=a(68626);var m=n.memo((function(e){var t,a=Object.assign(Object.assign({},e.questionsAppLink),{args:[e.data.id]});return n.createElement("div",{className:"flex-shrink-0 px-1 ".concat("rXatl")},n.createElement("div",{className:"row m-0 border rounded p-2 h-100"},n.createElement("div",{className:"col-6 p-0"},n.createElement(o.u,{video:e.data,appLink:e.getAppLink(e.data),type:"cosmetic",imageOptions:{size:s.h2.Small},textPosition:d.z.Independent,preload:!0,analyticsOptions:{location:i.LZ.SlidingListItem}})),n.createElement("div",{className:"col-6 p-0"},n.createElement("div",{className:"ps-2"},n.createElement(r.F,{appLink:e.getAppLink(e.data)},n.createElement("h3",{className:"h6 mb-1"},n.createElement("span",{className:"clamp-2"},e.data.name))),n.createElement(c.R,{owner:e.data.owner,isClickViewCurated:null===(t=e.data._isClickViewCurated)||void 0===t?void 0:t.value,imageCdnUrl:e.imageCdnUrl}),n.createElement(r.F,{className:"info-link",appLink:a},n.createElement(l.x,{namespace:"shared.interactiveWidgetItem",phrase:"previewQuestions"}))))))}))},26733:(e,t,a)=>{a.d(t,{s:()=>k,R:()=>N});var n=a(32735),i=a(39202),r=a(49985),l=a(65858),o=a(36848),c=a(11607),s=a(75891),d=a(83914),m=a(60995),u=a(76177),v=a(61150),p=a(71063),f=a(4594),g=a(1164),E=a(79967),h=a(45778),b=a(54297),y=a(35223);const C={imageStyle:"I9E5O",item:"tqUFn",dashboard:"o7j7p",playPage:"V2RwX",aspectRatio:"OnJDH",outerContainer:"CIFy7",innerContainer:"oUZPD",actions:"jzGAm",titleBelow:"Cpjs3",thumbnailContainer:"EDiGi",titleAbove:"e9ejn",teacherPack:"_tdVE",text:"g5NWS",hoverState:"xRYhX",atomGuide:"X39wU",studentActivity:"X9pMl",additionalMaterials:"qRVUo",userUploaded:"_18JaV",imageTypeResource:"KYtZL",download:"fbb_e"};function k(e){var t,a,i,r,l=null;"metadata"in e.data&&(l=e.data.metadata);var o=h.G.isType(e.data,f.E.Resource);return n.createElement(n.Fragment,null,n.createElement("div",{className:C.aspectRatio},n.createElement("div",{className:C.outerContainer},n.createElement("div",{className:function(t){var a,n="\n d-flex flex-column align-items-center justify-content-end rounded-3 h-100\n position-relative ".concat(function(e){switch(e){case"atom-guide":return C.atomGuide;case"student-activity":return C.studentActivity;case"teacher-pack":return C.teacherPack;case"additional-materials":return C.additionalMaterials;default:return C.userUploaded}}(t)," ").concat(C.innerContainer);return(null===(a=e.theme)||void 0===a?void 0:a.containerClass)?n+=" ".concat(e.theme.containerClass):n+=" pt-3 px-3",e.applyHoverState&&(n+=" ".concat(C.hoverState)),n}(null==l?void 0:l.resourceType)},"above"===e.titlePosition&&n.createElement(u.u,{title:e.data.name},n.createElement("h3",{className:"text-center text-break h5 mb-3 ".concat(C.text)},n.createElement("span",{className:"clamp-1"},e.data.name))),n.createElement("div",{className:"\n ".concat(null!==(a=null===(t=e.theme)||void 0===t?void 0:t.thumbnailContainerClass)&&void 0!==a?a:""," w-75 overflow-hidden \n ").concat(C.thumbnailContainer," ").concat("above"===e.titlePosition?C.titleAbove:""," \n ").concat(C.imageStyle,"\n ")},n.createElement(s.C,{resource:e.data,imageCdnUrl:e.imageCdnUrl,imageErrorFallbackUrl:e.imageErrorFallbackUrl,preloadImage:e.preloadImage})),o&&e.onClickDownload&&"normal"===e.actionBehaviour&&n.createElement("div",{className:C.actions},n.createElement(c.L,{onClick:function(t){return e.onClickDownload(t,e.data)},className:"".concat(C.download," d-flex align-items-center justify-content-center")},n.createElement(d.x,{svgName:y.vn.Download}))),!e.hideTypeBadge&&o&&n.createElement(v.y,{typeId:f.E.Resource})))),"below"===e.titlePosition&&n.createElement("div",{className:"mt-1 ".concat(C.titleBelow)},h.G.isType(e.data,f.E.Resource)&&!!(null===(r=null===(i=e.data)||void 0===i?void 0:i.metadata)||void 0===r?void 0:r.resourceType)&&n.createElement(m.m,null,b.C.getResourceTypeName(e.data.metadata.resourceType)),n.createElement("h3",{className:"h6 clamp-2"},e.data.name)))}k.defaultProps={preloadImage:!0,actionBehaviour:"normal"};var N=n.memo((function(e){var t,a,c,s,d=(t=e.data,a=e.actionBehaviour,s=(0,E.k)(),"public"===a||!s.xs&&!s.sm&&"resource"===t.type&&"metadata"in t&&(t.metadata.type===g.L.Image||(t.metadata.type===g.L.Pdf?!!t.url:!!(null===(c=t.pdf)||void 0===c?void 0:c.url)))),m=Object.assign(Object.assign({},e.analyticsData),e.data),u=Object.assign(Object.assign({},e.analyticsOptions),{actionType:l.Vw.Click,entity:e.data.typeId===f.E.Resource?l.py.Resource:l.py.Link});function v(){r.k.logUserAction(m,u)}var h,b=Object.assign(Object.assign({},e),{applyHoverState:d||!!e.data.url});return n.createElement("div",{className:"px-1 flex-shrink-0 ".concat(C.item," ").concat("play-page"===e.location?C.playPage:C.dashboard," ").concat(p.M.RESOURCE_ITEM_SELECTOR)},(h="d-block no-decoration","link"===e.data.type?n.createElement("a",{href:e.data.url,target:"_blank",className:h,onClick:v},n.createElement(k,Object.assign({},b))):d?"public"===e.actionBehaviour?n.createElement("div",{className:"".concat(h," cursor-pointer d-inline"),onClick:function(){v(),i.C$.trigger(e.getAppLink(e.data))}},n.createElement(k,Object.assign({},b))):n.createElement(o.F,{appLink:e.getAppLink(e.data),className:h,analyticsData:m,analyticsOptions:u},n.createElement(k,Object.assign({},b))):e.data.url?n.createElement("a",{href:e.data.url,className:h,onClick:v},n.createElement(k,Object.assign({},b))):n.createElement("div",{className:h},n.createElement(k,Object.assign({},b)))))}))},93563:(e,t,a)=>{a.d(t,{Z:()=>n});const n={container:"BImYH",background:"aAY0j",topLeft:"azcIT",bottomLeft:"mBkCx",topRight:"tcN5n",bottomRight:"sHsOr",detailsBtn:"jyxT7",content:"PeWbM",highlightPoi:"un8Q0"}}}]);
2
- //# sourceMappingURL=7630-72099a7a26-lite.chunk.js.map