@clickview/curator 1.100.0-rc.1 → 1.100.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 (321) hide show
  1. package/dist/.vite/manifest.json +1779 -1779
  2. package/dist/Assets/js/dist/scripts/{CYhNyVj0.chunk.js → -6zuD8lo.chunk.js} +2 -2
  3. package/dist/Assets/js/dist/scripts/{CYhNyVj0.chunk.js.map → -6zuD8lo.chunk.js.map} +1 -1
  4. package/dist/Assets/js/dist/scripts/{D28bEsam.chunk.js → 0A42jU2r.chunk.js} +2 -2
  5. package/dist/Assets/js/dist/scripts/{D28bEsam.chunk.js.map → 0A42jU2r.chunk.js.map} +1 -1
  6. package/dist/Assets/js/dist/scripts/{oYHUjbwb2.chunk.js → 0ogjGD4J2.chunk.js} +2 -2
  7. package/dist/Assets/js/dist/scripts/{oYHUjbwb2.chunk.js.map → 0ogjGD4J2.chunk.js.map} +1 -1
  8. package/dist/Assets/js/dist/scripts/{PeuFojmJ2.chunk.js → 2aCj1HHJ2.chunk.js} +2 -2
  9. package/dist/Assets/js/dist/scripts/{PeuFojmJ2.chunk.js.map → 2aCj1HHJ2.chunk.js.map} +1 -1
  10. package/dist/Assets/js/dist/scripts/{q7pjZoNd.chunk.js → 2zbtFQka.chunk.js} +2 -2
  11. package/dist/Assets/js/dist/scripts/{q7pjZoNd.chunk.js.map → 2zbtFQka.chunk.js.map} +1 -1
  12. package/dist/Assets/js/dist/scripts/{0S5J0xX22.chunk.js → 3IQ_8AZP2.chunk.js} +2 -2
  13. package/dist/Assets/js/dist/scripts/{0S5J0xX22.chunk.js.map → 3IQ_8AZP2.chunk.js.map} +1 -1
  14. package/dist/Assets/js/dist/scripts/{DvP7S5Uq.chunk.js → 3eMwLZ5D.chunk.js} +2 -2
  15. package/dist/Assets/js/dist/scripts/{DvP7S5Uq.chunk.js.map → 3eMwLZ5D.chunk.js.map} +1 -1
  16. package/dist/Assets/js/dist/scripts/{y1L3G7XA2.chunk.js → 4Tx2JSvk2.chunk.js} +2 -2
  17. package/dist/Assets/js/dist/scripts/{y1L3G7XA2.chunk.js.map → 4Tx2JSvk2.chunk.js.map} +1 -1
  18. package/dist/Assets/js/dist/scripts/{BbR7yW4A2.chunk.js → 5uVJfyDx2.chunk.js} +2 -2
  19. package/dist/Assets/js/dist/scripts/{BbR7yW4A2.chunk.js.map → 5uVJfyDx2.chunk.js.map} +1 -1
  20. package/dist/Assets/js/dist/scripts/{B52yjTo5.chunk.js → 6l2s6d3Q.chunk.js} +2 -2
  21. package/dist/Assets/js/dist/scripts/{B52yjTo5.chunk.js.map → 6l2s6d3Q.chunk.js.map} +1 -1
  22. package/dist/Assets/js/dist/scripts/{DezIbRcB2.chunk.js → 8RAh0VA72.chunk.js} +2 -2
  23. package/dist/Assets/js/dist/scripts/{DezIbRcB2.chunk.js.map → 8RAh0VA72.chunk.js.map} +1 -1
  24. package/dist/Assets/js/dist/scripts/{CixcMUHF.chunk.js → 9nk_zFtT.chunk.js} +2 -2
  25. package/dist/Assets/js/dist/scripts/{CixcMUHF.chunk.js.map → 9nk_zFtT.chunk.js.map} +1 -1
  26. package/dist/Assets/js/dist/scripts/{Bk9vy70e2.chunk.js → Ae4rMqFm2.chunk.js} +2 -2
  27. package/dist/Assets/js/dist/scripts/{Bk9vy70e2.chunk.js.map → Ae4rMqFm2.chunk.js.map} +1 -1
  28. package/dist/Assets/js/dist/scripts/{Bzh_AwaG.chunk.js → B0mCquXn.chunk.js} +2 -2
  29. package/dist/Assets/js/dist/scripts/{Bzh_AwaG.chunk.js.map → B0mCquXn.chunk.js.map} +1 -1
  30. package/dist/Assets/js/dist/scripts/B1pBJzjh.chunk.js +1 -0
  31. package/dist/Assets/js/dist/scripts/{BswFY0mR2.chunk.js → B6IinlWw2.chunk.js} +2 -2
  32. package/dist/Assets/js/dist/scripts/{BswFY0mR2.chunk.js.map → B6IinlWw2.chunk.js.map} +1 -1
  33. package/dist/Assets/js/dist/scripts/{ClpIRgLR.chunk.js → B6NMAAhW.chunk.js} +2 -2
  34. package/dist/Assets/js/dist/scripts/{ClpIRgLR.chunk.js.map → B6NMAAhW.chunk.js.map} +1 -1
  35. package/dist/Assets/js/dist/scripts/{BCMXlwdC2.chunk.js → B8RZKQTs2.chunk.js} +2 -2
  36. package/dist/Assets/js/dist/scripts/{BCMXlwdC2.chunk.js.map → B8RZKQTs2.chunk.js.map} +1 -1
  37. package/dist/Assets/js/dist/scripts/{CymdouaN.chunk.js → B9R92bqj.chunk.js} +2 -2
  38. package/dist/Assets/js/dist/scripts/{CymdouaN.chunk.js.map → B9R92bqj.chunk.js.map} +1 -1
  39. package/dist/Assets/js/dist/scripts/{CtVYDK7g.chunk.js → BAFYJZ4c.chunk.js} +2 -2
  40. package/dist/Assets/js/dist/scripts/{CtVYDK7g.chunk.js.map → BAFYJZ4c.chunk.js.map} +1 -1
  41. package/dist/Assets/js/dist/scripts/{_wZpe632.chunk.js → BFPSIGJg.chunk.js} +2 -2
  42. package/dist/Assets/js/dist/scripts/{_wZpe632.chunk.js.map → BFPSIGJg.chunk.js.map} +1 -1
  43. package/dist/Assets/js/dist/scripts/{BNHULwJy2.chunk.js → BGiLDtc92.chunk.js} +2 -2
  44. package/dist/Assets/js/dist/scripts/{BNHULwJy2.chunk.js.map → BGiLDtc92.chunk.js.map} +1 -1
  45. package/dist/Assets/js/dist/scripts/{DA9R8atp2.chunk.js → BH6LIpwu2.chunk.js} +2 -2
  46. package/dist/Assets/js/dist/scripts/{DA9R8atp2.chunk.js.map → BH6LIpwu2.chunk.js.map} +1 -1
  47. package/dist/Assets/js/dist/scripts/{DbrVjVdn.chunk.js → BMj3pXcm.chunk.js} +2 -2
  48. package/dist/Assets/js/dist/scripts/{DbrVjVdn.chunk.js.map → BMj3pXcm.chunk.js.map} +1 -1
  49. package/dist/Assets/js/dist/scripts/{CDvLjxwS.chunk.js → BQTfNBFU.chunk.js} +2 -2
  50. package/dist/Assets/js/dist/scripts/{CDvLjxwS.chunk.js.map → BQTfNBFU.chunk.js.map} +1 -1
  51. package/dist/Assets/js/dist/scripts/{mStmtFRo.chunk.js → BT-jeT7C.chunk.js} +2 -2
  52. package/dist/Assets/js/dist/scripts/{mStmtFRo.chunk.js.map → BT-jeT7C.chunk.js.map} +1 -1
  53. package/dist/Assets/js/dist/scripts/{FlF2O19P2.chunk.js → BUD4osIg2.chunk.js} +2 -2
  54. package/dist/Assets/js/dist/scripts/{FlF2O19P2.chunk.js.map → BUD4osIg2.chunk.js.map} +1 -1
  55. package/dist/Assets/js/dist/scripts/{DWS9yr24.chunk.js → BVoG71Kc.chunk.js} +2 -2
  56. package/dist/Assets/js/dist/scripts/{DWS9yr24.chunk.js.map → BVoG71Kc.chunk.js.map} +1 -1
  57. package/dist/Assets/js/dist/scripts/{B9tf3oT62.chunk.js → BW5iVK1B2.chunk.js} +2 -2
  58. package/dist/Assets/js/dist/scripts/{B9tf3oT62.chunk.js.map → BW5iVK1B2.chunk.js.map} +1 -1
  59. package/dist/Assets/js/dist/scripts/{C2mEE4FT.chunk.js → BW9r-3iO.chunk.js} +2 -2
  60. package/dist/Assets/js/dist/scripts/{C2mEE4FT.chunk.js.map → BW9r-3iO.chunk.js.map} +1 -1
  61. package/dist/Assets/js/dist/scripts/{Dpgqkqbp.chunk.js → BX1tMzoa.chunk.js} +2 -2
  62. package/dist/Assets/js/dist/scripts/{Dpgqkqbp.chunk.js.map → BX1tMzoa.chunk.js.map} +1 -1
  63. package/dist/Assets/js/dist/scripts/{DVRzbAn6.chunk.js → BXaC-l33.chunk.js} +2 -2
  64. package/dist/Assets/js/dist/scripts/{DVRzbAn6.chunk.js.map → BXaC-l33.chunk.js.map} +1 -1
  65. package/dist/Assets/js/dist/scripts/{BaR7D4NT2.chunk.js → BY-c3M2b2.chunk.js} +2 -2
  66. package/dist/Assets/js/dist/scripts/{BaR7D4NT2.chunk.js.map → BY-c3M2b2.chunk.js.map} +1 -1
  67. package/dist/Assets/js/dist/scripts/{CJpVJtZk.chunk.js → BYMuPFbe.chunk.js} +2 -2
  68. package/dist/Assets/js/dist/scripts/{CJpVJtZk.chunk.js.map → BYMuPFbe.chunk.js.map} +1 -1
  69. package/dist/Assets/js/dist/scripts/{C5INFWaM2.chunk.js → BaOAOuSc2.chunk.js} +2 -2
  70. package/dist/Assets/js/dist/scripts/{C5INFWaM2.chunk.js.map → BaOAOuSc2.chunk.js.map} +1 -1
  71. package/dist/Assets/js/dist/scripts/{wAWlO6hc.chunk.js → Bb_f3Lku.chunk.js} +2 -2
  72. package/dist/Assets/js/dist/scripts/{wAWlO6hc.chunk.js.map → Bb_f3Lku.chunk.js.map} +1 -1
  73. package/dist/Assets/js/dist/scripts/{BLJO44vl.chunk.js → BdJYoUIO.chunk.js} +2 -2
  74. package/dist/Assets/js/dist/scripts/{BLJO44vl.chunk.js.map → BdJYoUIO.chunk.js.map} +1 -1
  75. package/dist/Assets/js/dist/scripts/{CW2k5Ut-2.chunk.js → Bf-6iyfX2.chunk.js} +2 -2
  76. package/dist/Assets/js/dist/scripts/{CW2k5Ut-2.chunk.js.map → Bf-6iyfX2.chunk.js.map} +1 -1
  77. package/dist/Assets/js/dist/scripts/{DxL0ZEcN2.chunk.js → BiPUuGEE2.chunk.js} +2 -2
  78. package/dist/Assets/js/dist/scripts/{DxL0ZEcN2.chunk.js.map → BiPUuGEE2.chunk.js.map} +1 -1
  79. package/dist/Assets/js/dist/scripts/{2XS-c0Xo.chunk.js → Bj4-NRWf.chunk.js} +2 -2
  80. package/dist/Assets/js/dist/scripts/{2XS-c0Xo.chunk.js.map → Bj4-NRWf.chunk.js.map} +1 -1
  81. package/dist/Assets/js/dist/scripts/{D13ViJt82.chunk.js → BkVcraos2.chunk.js} +2 -2
  82. package/dist/Assets/js/dist/scripts/{D13ViJt82.chunk.js.map → BkVcraos2.chunk.js.map} +1 -1
  83. package/dist/Assets/js/dist/scripts/{U1L4Dfoc.chunk.js → BkZ7WS_H.chunk.js} +2 -2
  84. package/dist/Assets/js/dist/scripts/{U1L4Dfoc.chunk.js.map → BkZ7WS_H.chunk.js.map} +1 -1
  85. package/dist/Assets/js/dist/scripts/{DoQiTqRX2.chunk.js → BoMt5mMW2.chunk.js} +2 -2
  86. package/dist/Assets/js/dist/scripts/{DoQiTqRX2.chunk.js.map → BoMt5mMW2.chunk.js.map} +1 -1
  87. package/dist/Assets/js/dist/scripts/{Da_9BBKD2.chunk.js → Bo_WsHZq2.chunk.js} +2 -2
  88. package/dist/Assets/js/dist/scripts/{Da_9BBKD2.chunk.js.map → Bo_WsHZq2.chunk.js.map} +1 -1
  89. package/dist/Assets/js/dist/scripts/{CnyrKBG0.chunk.js → BpV5ErII.chunk.js} +2 -2
  90. package/dist/Assets/js/dist/scripts/{CnyrKBG0.chunk.js.map → BpV5ErII.chunk.js.map} +1 -1
  91. package/dist/Assets/js/dist/scripts/{Dfhl7nI62.chunk.js → BrBPGjLi2.chunk.js} +2 -2
  92. package/dist/Assets/js/dist/scripts/{Dfhl7nI62.chunk.js.map → BrBPGjLi2.chunk.js.map} +1 -1
  93. package/dist/Assets/js/dist/scripts/{DcxGcCkR.chunk.js → BrHyZG_m.chunk.js} +2 -2
  94. package/dist/Assets/js/dist/scripts/{DcxGcCkR.chunk.js.map → BrHyZG_m.chunk.js.map} +1 -1
  95. package/dist/Assets/js/dist/scripts/{FXPxauLF.chunk.js → Bu4F3uuX.chunk.js} +2 -2
  96. package/dist/Assets/js/dist/scripts/{FXPxauLF.chunk.js.map → Bu4F3uuX.chunk.js.map} +1 -1
  97. package/dist/Assets/js/dist/scripts/{DZdJx-7j.chunk.js → BvW9SXzy.chunk.js} +2 -2
  98. package/dist/Assets/js/dist/scripts/{DZdJx-7j.chunk.js.map → BvW9SXzy.chunk.js.map} +1 -1
  99. package/dist/Assets/js/dist/scripts/{CAU0Lbgd.chunk.js → BwKHls91.chunk.js} +2 -2
  100. package/dist/Assets/js/dist/scripts/{CAU0Lbgd.chunk.js.map → BwKHls91.chunk.js.map} +1 -1
  101. package/dist/Assets/js/dist/scripts/{BiTzUyxj2.chunk.js → BxZNJjbX2.chunk.js} +2 -2
  102. package/dist/Assets/js/dist/scripts/{BiTzUyxj2.chunk.js.map → BxZNJjbX2.chunk.js.map} +1 -1
  103. package/dist/Assets/js/dist/scripts/{cymXuIcM.chunk.js → BygVW5WL.chunk.js} +2 -2
  104. package/dist/Assets/js/dist/scripts/{cymXuIcM.chunk.js.map → BygVW5WL.chunk.js.map} +1 -1
  105. package/dist/Assets/js/dist/scripts/{Dx07A6Ct.chunk.js → ByzsHBuo.chunk.js} +2 -2
  106. package/dist/Assets/js/dist/scripts/{Dx07A6Ct.chunk.js.map → ByzsHBuo.chunk.js.map} +1 -1
  107. package/dist/Assets/js/dist/scripts/C-M2om56.chunk.js +3 -0
  108. package/dist/Assets/js/dist/scripts/C-M2om56.chunk.js.map +1 -0
  109. package/dist/Assets/js/dist/scripts/{B6dlmRQL.chunk.js → C0UYMHUe.chunk.js} +2 -2
  110. package/dist/Assets/js/dist/scripts/{B6dlmRQL.chunk.js.map → C0UYMHUe.chunk.js.map} +1 -1
  111. package/dist/Assets/js/dist/scripts/{V0N7tCBl.chunk.js → C0_pEFCD.chunk.js} +2 -2
  112. package/dist/Assets/js/dist/scripts/{V0N7tCBl.chunk.js.map → C0_pEFCD.chunk.js.map} +1 -1
  113. package/dist/Assets/js/dist/scripts/{Cpr1J8Rk2.chunk.js → C2jRLu4_2.chunk.js} +2 -2
  114. package/dist/Assets/js/dist/scripts/{Cpr1J8Rk2.chunk.js.map → C2jRLu4_2.chunk.js.map} +1 -1
  115. package/dist/Assets/js/dist/scripts/{CY56FWb9.chunk.js → C2tBl3l9.chunk.js} +2 -2
  116. package/dist/Assets/js/dist/scripts/{CY56FWb9.chunk.js.map → C2tBl3l9.chunk.js.map} +1 -1
  117. package/dist/Assets/js/dist/scripts/{C3Lx9PwR.chunk.js → C4eazpDh.chunk.js} +2 -2
  118. package/dist/Assets/js/dist/scripts/{C3Lx9PwR.chunk.js.map → C4eazpDh.chunk.js.map} +1 -1
  119. package/dist/Assets/js/dist/scripts/{puobgAYi.chunk.js → CBq4vrjT.chunk.js} +2 -2
  120. package/dist/Assets/js/dist/scripts/{puobgAYi.chunk.js.map → CBq4vrjT.chunk.js.map} +1 -1
  121. package/dist/Assets/js/dist/scripts/{Bcx1C8ae.chunk.js → CBzqRw-k.chunk.js} +2 -2
  122. package/dist/Assets/js/dist/scripts/{Bcx1C8ae.chunk.js.map → CBzqRw-k.chunk.js.map} +1 -1
  123. package/dist/Assets/js/dist/scripts/{BD6DIPGL2.chunk.js → CDAdfAL02.chunk.js} +2 -2
  124. package/dist/Assets/js/dist/scripts/{BD6DIPGL2.chunk.js.map → CDAdfAL02.chunk.js.map} +1 -1
  125. package/dist/Assets/js/dist/scripts/{Ddp1uNfH.chunk.js → CE1Dxq8p.chunk.js} +2 -2
  126. package/dist/Assets/js/dist/scripts/{Ddp1uNfH.chunk.js.map → CE1Dxq8p.chunk.js.map} +1 -1
  127. package/dist/Assets/js/dist/scripts/{C99MPG7E.chunk.js → CG2julEA.chunk.js} +2 -2
  128. package/dist/Assets/js/dist/scripts/{C99MPG7E.chunk.js.map → CG2julEA.chunk.js.map} +1 -1
  129. package/dist/Assets/js/dist/scripts/{tyY3GHEC2.chunk.js → CGcN4g0d2.chunk.js} +2 -2
  130. package/dist/Assets/js/dist/scripts/{tyY3GHEC2.chunk.js.map → CGcN4g0d2.chunk.js.map} +1 -1
  131. package/dist/Assets/js/dist/scripts/{wODD7tmB2.chunk.js → CJmV_FfR2.chunk.js} +2 -2
  132. package/dist/Assets/js/dist/scripts/{wODD7tmB2.chunk.js.map → CJmV_FfR2.chunk.js.map} +1 -1
  133. package/dist/Assets/js/dist/scripts/{DavA1dZZ.chunk.js → CKvVGIRL.chunk.js} +2 -2
  134. package/dist/Assets/js/dist/scripts/{DavA1dZZ.chunk.js.map → CKvVGIRL.chunk.js.map} +1 -1
  135. package/dist/Assets/js/dist/scripts/{CrndJnZp.chunk.js → CL1DcbTZ.chunk.js} +2 -2
  136. package/dist/Assets/js/dist/scripts/{CrndJnZp.chunk.js.map → CL1DcbTZ.chunk.js.map} +1 -1
  137. package/dist/Assets/js/dist/scripts/{DLLL2lwS.chunk.js → CNLx6_fS.chunk.js} +2 -2
  138. package/dist/Assets/js/dist/scripts/{DLLL2lwS.chunk.js.map → CNLx6_fS.chunk.js.map} +1 -1
  139. package/dist/Assets/js/dist/scripts/{w2lackHw.chunk.js → CNUVs80P.chunk.js} +2 -2
  140. package/dist/Assets/js/dist/scripts/{w2lackHw.chunk.js.map → CNUVs80P.chunk.js.map} +1 -1
  141. package/dist/Assets/js/dist/scripts/{CCzvD0H4.chunk.js → CPa__SNX.chunk.js} +2 -2
  142. package/dist/Assets/js/dist/scripts/{CCzvD0H4.chunk.js.map → CPa__SNX.chunk.js.map} +1 -1
  143. package/dist/Assets/js/dist/scripts/{DeDh-wVP.chunk.js → CSA2Tnv9.chunk.js} +2 -2
  144. package/dist/Assets/js/dist/scripts/{DeDh-wVP.chunk.js.map → CSA2Tnv9.chunk.js.map} +1 -1
  145. package/dist/Assets/js/dist/scripts/{CjZJx6-O2.chunk.js → CT-xEpNT2.chunk.js} +2 -2
  146. package/dist/Assets/js/dist/scripts/{CjZJx6-O2.chunk.js.map → CT-xEpNT2.chunk.js.map} +1 -1
  147. package/dist/Assets/js/dist/scripts/{BRPP3VZ1.chunk.js → CT0vfLa0.chunk.js} +2 -2
  148. package/dist/Assets/js/dist/scripts/{BRPP3VZ1.chunk.js.map → CT0vfLa0.chunk.js.map} +1 -1
  149. package/dist/Assets/js/dist/scripts/{DGjNB2Bz.chunk.js → CUDnXypB.chunk.js} +2 -2
  150. package/dist/Assets/js/dist/scripts/{DGjNB2Bz.chunk.js.map → CUDnXypB.chunk.js.map} +1 -1
  151. package/dist/Assets/js/dist/scripts/{cXanUGwK.chunk.js → CeMQZB5J.chunk.js} +2 -2
  152. package/dist/Assets/js/dist/scripts/{cXanUGwK.chunk.js.map → CeMQZB5J.chunk.js.map} +1 -1
  153. package/dist/Assets/js/dist/scripts/Cf5cjLzK.chunk.js +2 -0
  154. package/dist/Assets/js/dist/scripts/{D2iK_uRt.chunk.js.map → Cf5cjLzK.chunk.js.map} +1 -1
  155. package/dist/Assets/js/dist/scripts/{CRNBuqmR.chunk.js → CfGaxIgd.chunk.js} +2 -2
  156. package/dist/Assets/js/dist/scripts/{CRNBuqmR.chunk.js.map → CfGaxIgd.chunk.js.map} +1 -1
  157. package/dist/Assets/js/dist/scripts/{BNr7ZL3F2.chunk.js → Cqfub35W2.chunk.js} +2 -2
  158. package/dist/Assets/js/dist/scripts/{BNr7ZL3F2.chunk.js.map → Cqfub35W2.chunk.js.map} +1 -1
  159. package/dist/Assets/js/dist/scripts/{DRmwJ1it2.chunk.js → Cv8UpP5_2.chunk.js} +2 -2
  160. package/dist/Assets/js/dist/scripts/{DRmwJ1it2.chunk.js.map → Cv8UpP5_2.chunk.js.map} +1 -1
  161. package/dist/Assets/js/dist/scripts/{DOfeXfSj.chunk.js → CvV6jx2d.chunk.js} +2 -2
  162. package/dist/Assets/js/dist/scripts/{DOfeXfSj.chunk.js.map → CvV6jx2d.chunk.js.map} +1 -1
  163. package/dist/Assets/js/dist/scripts/{DnGnhqys.chunk.js → CxENQntH.chunk.js} +2 -2
  164. package/dist/Assets/js/dist/scripts/{DnGnhqys.chunk.js.map → CxENQntH.chunk.js.map} +1 -1
  165. package/dist/Assets/js/dist/scripts/{NMDkdR-8.chunk.js → CxIfJCSc.chunk.js} +2 -2
  166. package/dist/Assets/js/dist/scripts/{NMDkdR-8.chunk.js.map → CxIfJCSc.chunk.js.map} +1 -1
  167. package/dist/Assets/js/dist/scripts/{B9H-d-YC.chunk.js → CxggKQxV.chunk.js} +2 -2
  168. package/dist/Assets/js/dist/scripts/{B9H-d-YC.chunk.js.map → CxggKQxV.chunk.js.map} +1 -1
  169. package/dist/Assets/js/dist/scripts/{B3I44IzQ.chunk.js → CyNNZ1So.chunk.js} +2 -2
  170. package/dist/Assets/js/dist/scripts/{B3I44IzQ.chunk.js.map → CyNNZ1So.chunk.js.map} +1 -1
  171. package/dist/Assets/js/dist/scripts/{B2V1N14S.chunk.js → Cz-WSyAE.chunk.js} +2 -2
  172. package/dist/Assets/js/dist/scripts/{B2V1N14S.chunk.js.map → Cz-WSyAE.chunk.js.map} +1 -1
  173. package/dist/Assets/js/dist/scripts/{S9cTzcQc2.chunk.js → D2aQFJWt2.chunk.js} +2 -2
  174. package/dist/Assets/js/dist/scripts/{S9cTzcQc2.chunk.js.map → D2aQFJWt2.chunk.js.map} +1 -1
  175. package/dist/Assets/js/dist/scripts/{CEsXUxxo2.chunk.js → D2h9W4GA2.chunk.js} +2 -2
  176. package/dist/Assets/js/dist/scripts/{CEsXUxxo2.chunk.js.map → D2h9W4GA2.chunk.js.map} +1 -1
  177. package/dist/Assets/js/dist/scripts/{DqCsVhOS.chunk.js → D3NAhMJm.chunk.js} +2 -2
  178. package/dist/Assets/js/dist/scripts/{DqCsVhOS.chunk.js.map → D3NAhMJm.chunk.js.map} +1 -1
  179. package/dist/Assets/js/dist/scripts/{DpM1KgHy.chunk.js → D3aWaqBW.chunk.js} +2 -2
  180. package/dist/Assets/js/dist/scripts/{DpM1KgHy.chunk.js.map → D3aWaqBW.chunk.js.map} +1 -1
  181. package/dist/Assets/js/dist/scripts/{CxtxOtyF2.chunk.js → D4xcR0492.chunk.js} +2 -2
  182. package/dist/Assets/js/dist/scripts/{CxtxOtyF2.chunk.js.map → D4xcR0492.chunk.js.map} +1 -1
  183. package/dist/Assets/js/dist/scripts/{BEeh_Vbr.chunk.js → D5ek2PiI.chunk.js} +2 -2
  184. package/dist/Assets/js/dist/scripts/{BEeh_Vbr.chunk.js.map → D5ek2PiI.chunk.js.map} +1 -1
  185. package/dist/Assets/js/dist/scripts/{DjqQYm43.chunk.js → D61ei_h6.chunk.js} +2 -2
  186. package/dist/Assets/js/dist/scripts/{DjqQYm43.chunk.js.map → D61ei_h6.chunk.js.map} +1 -1
  187. package/dist/Assets/js/dist/scripts/{lgpeNdac.chunk.js → D6wyTufc.chunk.js} +2 -2
  188. package/dist/Assets/js/dist/scripts/{lgpeNdac.chunk.js.map → D6wyTufc.chunk.js.map} +1 -1
  189. package/dist/Assets/js/dist/scripts/{B8li8ced.chunk.js → D7I90XOo.chunk.js} +2 -2
  190. package/dist/Assets/js/dist/scripts/{B8li8ced.chunk.js.map → D7I90XOo.chunk.js.map} +1 -1
  191. package/dist/Assets/js/dist/scripts/{DBAwgllB.chunk.js → DArfNv9S.chunk.js} +2 -2
  192. package/dist/Assets/js/dist/scripts/{DBAwgllB.chunk.js.map → DArfNv9S.chunk.js.map} +1 -1
  193. package/dist/Assets/js/dist/scripts/{B6uYrrzJ2.chunk.js → DB-51xws2.chunk.js} +2 -2
  194. package/dist/Assets/js/dist/scripts/{B6uYrrzJ2.chunk.js.map → DB-51xws2.chunk.js.map} +1 -1
  195. package/dist/Assets/js/dist/scripts/{C-flCrUr.chunk.js → DENdEA1F.chunk.js} +2 -2
  196. package/dist/Assets/js/dist/scripts/{C-flCrUr.chunk.js.map → DENdEA1F.chunk.js.map} +1 -1
  197. package/dist/Assets/js/dist/scripts/{BuF_pg9-2.chunk.js → DFYiLmms2.chunk.js} +2 -2
  198. package/dist/Assets/js/dist/scripts/{BuF_pg9-2.chunk.js.map → DFYiLmms2.chunk.js.map} +1 -1
  199. package/dist/Assets/js/dist/scripts/{BE6LUVEo2.chunk.js → DHa-x1js2.chunk.js} +2 -2
  200. package/dist/Assets/js/dist/scripts/{BE6LUVEo2.chunk.js.map → DHa-x1js2.chunk.js.map} +1 -1
  201. package/dist/Assets/js/dist/scripts/{DDHep0UM.chunk.js → DHeA2NJS.chunk.js} +2 -2
  202. package/dist/Assets/js/dist/scripts/{DDHep0UM.chunk.js.map → DHeA2NJS.chunk.js.map} +1 -1
  203. package/dist/Assets/js/dist/scripts/{D5OaPA-v.chunk.js → DIDxfMO_.chunk.js} +2 -2
  204. package/dist/Assets/js/dist/scripts/{D5OaPA-v.chunk.js.map → DIDxfMO_.chunk.js.map} +1 -1
  205. package/dist/Assets/js/dist/scripts/{CV7UIOmh2.chunk.js → DMq1wDNm2.chunk.js} +2 -2
  206. package/dist/Assets/js/dist/scripts/{CV7UIOmh2.chunk.js.map → DMq1wDNm2.chunk.js.map} +1 -1
  207. package/dist/Assets/js/dist/scripts/{ByMU9ltp2.chunk.js → DNWM9yfh2.chunk.js} +2 -2
  208. package/dist/Assets/js/dist/scripts/{ByMU9ltp2.chunk.js.map → DNWM9yfh2.chunk.js.map} +1 -1
  209. package/dist/Assets/js/dist/scripts/{DFwtjofq2.chunk.js → DSj7VCEo2.chunk.js} +2 -2
  210. package/dist/Assets/js/dist/scripts/{DFwtjofq2.chunk.js.map → DSj7VCEo2.chunk.js.map} +1 -1
  211. package/dist/Assets/js/dist/scripts/{BSYuzR8N2.chunk.js → DSvehN9D2.chunk.js} +2 -2
  212. package/dist/Assets/js/dist/scripts/{BSYuzR8N2.chunk.js.map → DSvehN9D2.chunk.js.map} +1 -1
  213. package/dist/Assets/js/dist/scripts/{FS74_jrx.chunk.js → DTvCgZ4c.chunk.js} +2 -2
  214. package/dist/Assets/js/dist/scripts/{FS74_jrx.chunk.js.map → DTvCgZ4c.chunk.js.map} +1 -1
  215. package/dist/Assets/js/dist/scripts/{C7Gmh7eY.chunk.js → DWHKdmdQ.chunk.js} +2 -2
  216. package/dist/Assets/js/dist/scripts/{C7Gmh7eY.chunk.js.map → DWHKdmdQ.chunk.js.map} +1 -1
  217. package/dist/Assets/js/dist/scripts/{DXcaOjI_.chunk.js → DYFGF9Pe.chunk.js} +2 -2
  218. package/dist/Assets/js/dist/scripts/{DXcaOjI_.chunk.js.map → DYFGF9Pe.chunk.js.map} +1 -1
  219. package/dist/Assets/js/dist/scripts/{CIw53qNO2.chunk.js → DYOxTenc2.chunk.js} +2 -2
  220. package/dist/Assets/js/dist/scripts/{CIw53qNO2.chunk.js.map → DYOxTenc2.chunk.js.map} +1 -1
  221. package/dist/Assets/js/dist/scripts/{CignflP_2.chunk.js → DZthp5T62.chunk.js} +2 -2
  222. package/dist/Assets/js/dist/scripts/{CignflP_2.chunk.js.map → DZthp5T62.chunk.js.map} +1 -1
  223. package/dist/Assets/js/dist/scripts/{BlqDwJRY.chunk.js → Djgwr16q.chunk.js} +2 -2
  224. package/dist/Assets/js/dist/scripts/{BlqDwJRY.chunk.js.map → Djgwr16q.chunk.js.map} +1 -1
  225. package/dist/Assets/js/dist/scripts/{BwToh2X9.chunk.js → DjnvbVQs.chunk.js} +2 -2
  226. package/dist/Assets/js/dist/scripts/{BwToh2X9.chunk.js.map → DjnvbVQs.chunk.js.map} +1 -1
  227. package/dist/Assets/js/dist/scripts/{UelJUmgx2.chunk.js → DmrhyI9D2.chunk.js} +2 -2
  228. package/dist/Assets/js/dist/scripts/{UelJUmgx2.chunk.js.map → DmrhyI9D2.chunk.js.map} +1 -1
  229. package/dist/Assets/js/dist/scripts/{0KUhq7W7.chunk.js → DnZGILQc.chunk.js} +2 -2
  230. package/dist/Assets/js/dist/scripts/{0KUhq7W7.chunk.js.map → DnZGILQc.chunk.js.map} +1 -1
  231. package/dist/Assets/js/dist/scripts/{BSPrErub.chunk.js → DqnZw1cj.chunk.js} +2 -2
  232. package/dist/Assets/js/dist/scripts/{BSPrErub.chunk.js.map → DqnZw1cj.chunk.js.map} +1 -1
  233. package/dist/Assets/js/dist/scripts/{Bkx2vKcX2.chunk.js → DrAKpy8L2.chunk.js} +2 -2
  234. package/dist/Assets/js/dist/scripts/{Bkx2vKcX2.chunk.js.map → DrAKpy8L2.chunk.js.map} +1 -1
  235. package/dist/Assets/js/dist/scripts/{DX9DFxX2.chunk.js → DsM1bfoR.chunk.js} +2 -2
  236. package/dist/Assets/js/dist/scripts/{DX9DFxX2.chunk.js.map → DsM1bfoR.chunk.js.map} +1 -1
  237. package/dist/Assets/js/dist/scripts/{Dh3G-ann.chunk.js → Dt2TCPUI.chunk.js} +2 -2
  238. package/dist/Assets/js/dist/scripts/{Dh3G-ann.chunk.js.map → Dt2TCPUI.chunk.js.map} +1 -1
  239. package/dist/Assets/js/dist/scripts/{DA6Ynhan.chunk.js → DtylOK55.chunk.js} +2 -2
  240. package/dist/Assets/js/dist/scripts/{DA6Ynhan.chunk.js.map → DtylOK55.chunk.js.map} +1 -1
  241. package/dist/Assets/js/dist/scripts/{CJBiVila2.chunk.js → DuTcsFNo2.chunk.js} +2 -2
  242. package/dist/Assets/js/dist/scripts/{CJBiVila2.chunk.js.map → DuTcsFNo2.chunk.js.map} +1 -1
  243. package/dist/Assets/js/dist/scripts/{BBFS0f7w.chunk.js → Dw0mo6Cf.chunk.js} +2 -2
  244. package/dist/Assets/js/dist/scripts/{BBFS0f7w.chunk.js.map → Dw0mo6Cf.chunk.js.map} +1 -1
  245. package/dist/Assets/js/dist/scripts/{Cg5KHpRA.chunk.js → DwISzabN.chunk.js} +2 -2
  246. package/dist/Assets/js/dist/scripts/{Cg5KHpRA.chunk.js.map → DwISzabN.chunk.js.map} +1 -1
  247. package/dist/Assets/js/dist/scripts/{DMxtE2iS.chunk.js → DxW67uUT.chunk.js} +2 -2
  248. package/dist/Assets/js/dist/scripts/{DMxtE2iS.chunk.js.map → DxW67uUT.chunk.js.map} +1 -1
  249. package/dist/Assets/js/dist/scripts/{BOGS-BOS.chunk.js → Eg4zYYCO.chunk.js} +2 -2
  250. package/dist/Assets/js/dist/scripts/{BOGS-BOS.chunk.js.map → Eg4zYYCO.chunk.js.map} +1 -1
  251. package/dist/Assets/js/dist/scripts/{CSuC7le7.chunk.js → GT6nO4Jv.chunk.js} +2 -2
  252. package/dist/Assets/js/dist/scripts/{CSuC7le7.chunk.js.map → GT6nO4Jv.chunk.js.map} +1 -1
  253. package/dist/Assets/js/dist/scripts/{BhKv6dKl2.chunk.js → GpDEun8c2.chunk.js} +2 -2
  254. package/dist/Assets/js/dist/scripts/{BhKv6dKl2.chunk.js.map → GpDEun8c2.chunk.js.map} +1 -1
  255. package/dist/Assets/js/dist/scripts/{DKJC5qg0.chunk.js → OKjYL31I.chunk.js} +2 -2
  256. package/dist/Assets/js/dist/scripts/{DKJC5qg0.chunk.js.map → OKjYL31I.chunk.js.map} +1 -1
  257. package/dist/Assets/js/dist/scripts/{D8rrJ-jY2.chunk.js → OrCUhFjq2.chunk.js} +2 -2
  258. package/dist/Assets/js/dist/scripts/{D8rrJ-jY2.chunk.js.map → OrCUhFjq2.chunk.js.map} +1 -1
  259. package/dist/Assets/js/dist/scripts/{D3exV_Ay2.chunk.js → SVXAAhk02.chunk.js} +2 -2
  260. package/dist/Assets/js/dist/scripts/{D3exV_Ay2.chunk.js.map → SVXAAhk02.chunk.js.map} +1 -1
  261. package/dist/Assets/js/dist/scripts/{CcZKy7SH.chunk.js → SmmnJrec.chunk.js} +2 -2
  262. package/dist/Assets/js/dist/scripts/{CcZKy7SH.chunk.js.map → SmmnJrec.chunk.js.map} +1 -1
  263. package/dist/Assets/js/dist/scripts/{Dy4nscVE2.chunk.js → T3BageSw2.chunk.js} +2 -2
  264. package/dist/Assets/js/dist/scripts/{Dy4nscVE2.chunk.js.map → T3BageSw2.chunk.js.map} +1 -1
  265. package/dist/Assets/js/dist/scripts/{B8PM5Ji3.chunk.js → T6xxjp_W.chunk.js} +2 -2
  266. package/dist/Assets/js/dist/scripts/{B8PM5Ji3.chunk.js.map → T6xxjp_W.chunk.js.map} +1 -1
  267. package/dist/Assets/js/dist/scripts/{Cp6Af16p.chunk.js → Uc2eW092.chunk.js} +2 -2
  268. package/dist/Assets/js/dist/scripts/{Cp6Af16p.chunk.js.map → Uc2eW092.chunk.js.map} +1 -1
  269. package/dist/Assets/js/dist/scripts/{DmKyGgLu.chunk.js → XHoEdG1q.chunk.js} +2 -2
  270. package/dist/Assets/js/dist/scripts/{DmKyGgLu.chunk.js.map → XHoEdG1q.chunk.js.map} +1 -1
  271. package/dist/Assets/js/dist/scripts/{BdVoyBI02.chunk.js → Y14NYZ692.chunk.js} +2 -2
  272. package/dist/Assets/js/dist/scripts/{BdVoyBI02.chunk.js.map → Y14NYZ692.chunk.js.map} +1 -1
  273. package/dist/Assets/js/dist/scripts/{DrszevCi.chunk.js → Y_IcNhI9.chunk.js} +2 -2
  274. package/dist/Assets/js/dist/scripts/{DrszevCi.chunk.js.map → Y_IcNhI9.chunk.js.map} +1 -1
  275. package/dist/Assets/js/dist/scripts/{CMGpVYHd.chunk.js → Yr5eNz05.chunk.js} +2 -2
  276. package/dist/Assets/js/dist/scripts/{CMGpVYHd.chunk.js.map → Yr5eNz05.chunk.js.map} +1 -1
  277. package/dist/Assets/js/dist/scripts/{QnwProbJ2.chunk.js → Yrc9o6bG2.chunk.js} +2 -2
  278. package/dist/Assets/js/dist/scripts/{QnwProbJ2.chunk.js.map → Yrc9o6bG2.chunk.js.map} +1 -1
  279. package/dist/Assets/js/dist/scripts/{app-Dl-tzfIp.js → app-RphP4Ht0.js} +4 -4
  280. package/dist/Assets/js/dist/scripts/{app-Dl-tzfIp.js.map → app-RphP4Ht0.js.map} +1 -1
  281. package/dist/Assets/js/dist/scripts/{B96Bwi2D.chunk.js → cUgHqo-u.chunk.js} +2 -2
  282. package/dist/Assets/js/dist/scripts/{B96Bwi2D.chunk.js.map → cUgHqo-u.chunk.js.map} +1 -1
  283. package/dist/Assets/js/dist/scripts/{oGkpmMft2.chunk.js → dmUfJoJz2.chunk.js} +2 -2
  284. package/dist/Assets/js/dist/scripts/{oGkpmMft2.chunk.js.map → dmUfJoJz2.chunk.js.map} +1 -1
  285. package/dist/Assets/js/dist/scripts/{DjlPflaG.chunk.js → fapHSEex.chunk.js} +2 -2
  286. package/dist/Assets/js/dist/scripts/{DjlPflaG.chunk.js.map → fapHSEex.chunk.js.map} +1 -1
  287. package/dist/Assets/js/dist/scripts/{CaEXONXp2.chunk.js → jf0e_ii92.chunk.js} +2 -2
  288. package/dist/Assets/js/dist/scripts/{CaEXONXp2.chunk.js.map → jf0e_ii92.chunk.js.map} +1 -1
  289. package/dist/Assets/js/dist/scripts/{Co7TevGA.chunk.js → kp4jXqVv.chunk.js} +2 -2
  290. package/dist/Assets/js/dist/scripts/{Co7TevGA.chunk.js.map → kp4jXqVv.chunk.js.map} +1 -1
  291. package/dist/Assets/js/dist/scripts/lAvSm0ti.chunk.js +2 -0
  292. package/dist/Assets/js/dist/scripts/lAvSm0ti.chunk.js.map +1 -0
  293. package/dist/Assets/js/dist/scripts/{Dmf5vYc42.chunk.js → n7lzp_Mc2.chunk.js} +2 -2
  294. package/dist/Assets/js/dist/scripts/{Dmf5vYc42.chunk.js.map → n7lzp_Mc2.chunk.js.map} +1 -1
  295. package/dist/Assets/js/dist/scripts/{CG9yCT4r2.chunk.js → nvtWO4PW2.chunk.js} +2 -2
  296. package/dist/Assets/js/dist/scripts/{CG9yCT4r2.chunk.js.map → nvtWO4PW2.chunk.js.map} +1 -1
  297. package/dist/Assets/js/dist/scripts/{CACu0hGi2.chunk.js → oYKM19q12.chunk.js} +2 -2
  298. package/dist/Assets/js/dist/scripts/{CACu0hGi2.chunk.js.map → oYKM19q12.chunk.js.map} +1 -1
  299. package/dist/Assets/js/dist/scripts/{B5v11U7g.chunk.js → ohTu1tHz.chunk.js} +2 -2
  300. package/dist/Assets/js/dist/scripts/{B5v11U7g.chunk.js.map → ohTu1tHz.chunk.js.map} +1 -1
  301. package/dist/Assets/js/dist/scripts/{BrT-onLe2.chunk.js → uCRnfBEw2.chunk.js} +2 -2
  302. package/dist/Assets/js/dist/scripts/{BrT-onLe2.chunk.js.map → uCRnfBEw2.chunk.js.map} +1 -1
  303. package/dist/Assets/js/dist/scripts/{3XkTogZ22.chunk.js → udVWVmrH2.chunk.js} +2 -2
  304. package/dist/Assets/js/dist/scripts/{3XkTogZ22.chunk.js.map → udVWVmrH2.chunk.js.map} +1 -1
  305. package/dist/Assets/js/dist/scripts/{DW-yUqjB2.chunk.js → v0VARBBE2.chunk.js} +2 -2
  306. package/dist/Assets/js/dist/scripts/{DW-yUqjB2.chunk.js.map → v0VARBBE2.chunk.js.map} +1 -1
  307. package/dist/Assets/js/dist/scripts/{B4lIRWK22.chunk.js → vf9_5VGa2.chunk.js} +2 -2
  308. package/dist/Assets/js/dist/scripts/{B4lIRWK22.chunk.js.map → vf9_5VGa2.chunk.js.map} +1 -1
  309. package/dist/Assets/js/dist/scripts/{pOwOak4Z2.chunk.js → wTEWtWoE2.chunk.js} +2 -2
  310. package/dist/Assets/js/dist/scripts/{pOwOak4Z2.chunk.js.map → wTEWtWoE2.chunk.js.map} +1 -1
  311. package/dist/Assets/js/dist/scripts/{DPYIBfGB.chunk.js → xj8_Pfx7.chunk.js} +2 -2
  312. package/dist/Assets/js/dist/scripts/{DPYIBfGB.chunk.js.map → xj8_Pfx7.chunk.js.map} +1 -1
  313. package/dist/bundles.json +1 -1
  314. package/dist/en.json +1 -1
  315. package/package.json +1 -1
  316. package/dist/Assets/js/dist/scripts/D2iK_uRt.chunk.js +0 -2
  317. package/dist/Assets/js/dist/scripts/DBUreHJA.chunk.js +0 -3
  318. package/dist/Assets/js/dist/scripts/DBUreHJA.chunk.js.map +0 -1
  319. package/dist/Assets/js/dist/scripts/Dh5DbdtP.chunk.js +0 -2
  320. package/dist/Assets/js/dist/scripts/Dh5DbdtP.chunk.js.map +0 -1
  321. package/dist/Assets/js/dist/scripts/DrBVabtm.chunk.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DFwtjofq2.chunk.js","names":[],"sources":["../../../../../src/apps/interactives/views/preview-interactive/PreviewInteractiveView.tsx"],"sourcesContent":["import React from 'react';\nimport { Alert, Spinner } from 'react-bootstrap';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VisibleOnSvg } from 'libs/shared/images/svg/actions/VisibleOnSvg';\nimport { CuratorUser, CurrentUser, InteractiveMetadata, PlayerViewKey } from 'libs/shared/interfaces';\n\nimport { InteractiveMode } from 'projects/player/plugins/interactive-plugin/interfaces';\nimport { ClickViewInteractivePlayer } from 'projects/player/react/InteractivePlayer';\n\nimport { ObjectHeader } from 'shared/components';\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { EditInteractivesNav } from 'apps/interactives/components/edit-interactives-nav/EditInteractivesNav';\nimport { InteractiveRequests } from 'apps/interactives/flight-requests/CuratorInteractiveRequests';\n\ninterface PreviewInteractiveViewProps {\n id: string;\n}\n\nexport function PreviewInteractiveView(props: PreviewInteractiveViewProps): JSX.Element {\n const [ ready, setReady ] = React.useState(false);\n\n const currentUser = Flight.useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const token = Flight.useBasicFetch<string>(UserRequests.token());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n interactiveMetadata.data &&\n PlayerRequests.createViewKey(interactiveMetadata.data.id, MediaIdType.MasterObject)\n );\n\n const questionListPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n React.useEffect(() => {\n if (!interactiveMetadata.hasCompleted || interactiveMetadata.data.status !== CurationStatus.Draft)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [props.id]\n }, { replace: true });\n }, [interactiveMetadata.hasCompleted]);\n\n function getActions(): ActionOptions[] {\n const actions: ActionOptions[] = [{\n label: 'Open in ClickView',\n href: UrlHelper.safeUrlConcat(\n ClickView.Config.Urls.LiteUrl,\n `interactive/${props.id}/${TextHelper.slugify(interactiveMetadata.data.name)}`\n ),\n openInNewTab: true,\n className: 'btn btn-outline-dark me-2',\n svg: VisibleOnSvg,\n button: true\n }, {\n label: 'Edit details',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE_DETAILS,\n args: [interactiveMetadata.data.id]\n },\n button: false\n }, {\n label: 'Copy interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.COPY_INTERACTIVE,\n args: [interactiveMetadata.data.id]\n },\n button: false\n }];\n\n if (interactiveMetadata.data._parentClip?.id) {\n actions.push({\n label: 'Open parent clip',\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.EDIT_CLIP_INTERACTIVES,\n args: [interactiveMetadata.data._parentClip.id]\n },\n button: false\n });\n } else if (interactiveMetadata.data._parentVideo?.id) {\n actions.push({\n label: 'Open parent video',\n appLink: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.EDIT_VIDEO,\n args: [interactiveMetadata.data._parentVideo.id]\n },\n button: false\n });\n }\n \n if (interactiveMetadata.data.status === CurationStatus.Published) {\n actions.push({\n label: 'Archive interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.ARCHIVE_INTERACTIVE,\n args: [props.id]\n },\n className: 'text-danger',\n button: false\n });\n } else {\n actions.push({\n label: 'Publish interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PUBLISH_INTERACTIVE,\n args: [props.id]\n },\n button: false\n });\n }\n\n return actions;\n }\n\n if (!viewKey.data || !interactiveMetadata.data || !token.data) {\n return (\n <div className='text-center py-5'>\n <Spinner as='div' animation='border' />\n </div>\n );\n }\n\n return (\n <>\n <EditInteractivesNav\n interactive={interactiveMetadata.data}\n activeAction={Actions.Interactives.PREVIEW_INTERACTIVE}\n currentUser={currentUser.data}\n />\n\n {interactiveMetadata.data.status === CurationStatus.Published && (\n <Alert variant='info' className='mt-3 mb-1'>\n This interactive is <strong>published</strong> and cannot be edited or deleted.\n You may archive it if you believe it should no longer be in use.\n </Alert>\n )}\n\n {interactiveMetadata.data.status === CurationStatus.Archived && (\n <Alert variant='info' className='mt-3 mb-1'>\n This interactive is <strong>archived</strong>. You may publish it again\n from the options menu.\n </Alert>\n )}\n\n <div className={`${ready ? '' : 'd-none'}`}>\n <ObjectHeader\n object={{ name: interactiveMetadata.data.name, status: interactiveMetadata.data.status }}\n actions={getActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n showStatus\n />\n <ClickViewInteractivePlayer\n viewKey={viewKey.data.viewKey}\n imageApi={new URL(ClickView.Config.Urls.ImageAPI)}\n playerApi={new URL(ClickView.Config.Urls.PlayerApi)}\n hotkeyElQuerySelector='body'\n onReady={() => setReady(true)}\n currentUser={currentUser.data as unknown as CurrentUser}\n mode={InteractiveMode.View}\n questionListPortalNode={questionListPortalNode}\n eventLogging={false}\n />\n <OutPortal node={questionListPortalNode} />\n </div>\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DSj7VCEo2.chunk.js","names":[],"sources":["../../../../../src/apps/interactives/views/preview-interactive/PreviewInteractiveView.tsx"],"sourcesContent":["import React from 'react';\nimport { Alert, Spinner } from 'react-bootstrap';\nimport { createHtmlPortalNode, OutPortal } from 'react-reverse-portal';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MediaIdType } from 'libs/shared/enums/MediaIdType';\nimport { PlayerRequests } from 'libs/shared/flight-requests/PlayerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VisibleOnSvg } from 'libs/shared/images/svg/actions/VisibleOnSvg';\nimport { CuratorUser, CurrentUser, InteractiveMetadata, PlayerViewKey } from 'libs/shared/interfaces';\n\nimport { InteractiveMode } from 'projects/player/plugins/interactive-plugin/interfaces';\nimport { ClickViewInteractivePlayer } from 'projects/player/react/InteractivePlayer';\n\nimport { ObjectHeader } from 'shared/components';\nimport { Actions, AppChannels } from 'shared/constants';\n\nimport { EditInteractivesNav } from 'apps/interactives/components/edit-interactives-nav/EditInteractivesNav';\nimport { InteractiveRequests } from 'apps/interactives/flight-requests/CuratorInteractiveRequests';\n\ninterface PreviewInteractiveViewProps {\n id: string;\n}\n\nexport function PreviewInteractiveView(props: PreviewInteractiveViewProps): JSX.Element {\n const [ ready, setReady ] = React.useState(false);\n\n const currentUser = Flight.useBasicFetch<CuratorUser>(UserRequests.currentUser());\n const token = Flight.useBasicFetch<string>(UserRequests.token());\n\n const interactiveMetadata = Flight.useBasicFetch<InteractiveMetadata>(\n InteractiveRequests.interactiveMetadata(props.id)\n );\n\n const viewKey = Flight.useBasicFetch<PlayerViewKey>(\n interactiveMetadata.data &&\n PlayerRequests.createViewKey(interactiveMetadata.data.id, MediaIdType.MasterObject)\n );\n\n const questionListPortalNode = React.useMemo(() => createHtmlPortalNode(), []);\n\n React.useEffect(() => {\n if (!interactiveMetadata.hasCompleted || interactiveMetadata.data.status !== CurationStatus.Draft)\n return;\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [props.id]\n }, { replace: true });\n }, [interactiveMetadata.hasCompleted]);\n\n function getActions(): ActionOptions[] {\n const actions: ActionOptions[] = [{\n label: 'Open in ClickView',\n href: UrlHelper.safeUrlConcat(\n ClickView.Config.Urls.LiteUrl,\n `interactive/${props.id}/${TextHelper.slugify(interactiveMetadata.data.name)}`\n ),\n openInNewTab: true,\n className: 'btn btn-outline-dark me-2',\n svg: VisibleOnSvg,\n button: true\n }, {\n label: 'Edit details',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE_DETAILS,\n args: [interactiveMetadata.data.id]\n },\n button: false\n }, {\n label: 'Copy interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.COPY_INTERACTIVE,\n args: [interactiveMetadata.data.id]\n },\n button: false\n }];\n\n if (interactiveMetadata.data._parentClip?.id) {\n actions.push({\n label: 'Open parent clip',\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.EDIT_CLIP_INTERACTIVES,\n args: [interactiveMetadata.data._parentClip.id]\n },\n button: false\n });\n } else if (interactiveMetadata.data._parentVideo?.id) {\n actions.push({\n label: 'Open parent video',\n appLink: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.EDIT_VIDEO,\n args: [interactiveMetadata.data._parentVideo.id]\n },\n button: false\n });\n }\n \n if (interactiveMetadata.data.status === CurationStatus.Published) {\n actions.push({\n label: 'Archive interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.ARCHIVE_INTERACTIVE,\n args: [props.id]\n },\n className: 'text-danger',\n button: false\n });\n } else {\n actions.push({\n label: 'Publish interactive',\n appLink: {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.PUBLISH_INTERACTIVE,\n args: [props.id]\n },\n button: false\n });\n }\n\n return actions;\n }\n\n if (!viewKey.data || !interactiveMetadata.data || !token.data) {\n return (\n <div className='text-center py-5'>\n <Spinner as='div' animation='border' />\n </div>\n );\n }\n\n return (\n <>\n <EditInteractivesNav\n interactive={interactiveMetadata.data}\n activeAction={Actions.Interactives.PREVIEW_INTERACTIVE}\n currentUser={currentUser.data}\n />\n\n {interactiveMetadata.data.status === CurationStatus.Published && (\n <Alert variant='info' className='mt-3 mb-1'>\n This interactive is <strong>published</strong> and cannot be edited or deleted.\n You may archive it if you believe it should no longer be in use.\n </Alert>\n )}\n\n {interactiveMetadata.data.status === CurationStatus.Archived && (\n <Alert variant='info' className='mt-3 mb-1'>\n This interactive is <strong>archived</strong>. You may publish it again\n from the options menu.\n </Alert>\n )}\n\n <div className={`${ready ? '' : 'd-none'}`}>\n <ObjectHeader\n object={{ name: interactiveMetadata.data.name, status: interactiveMetadata.data.status }}\n actions={getActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n showStatus\n />\n <ClickViewInteractivePlayer\n viewKey={viewKey.data.viewKey}\n imageApi={new URL(ClickView.Config.Urls.ImageAPI)}\n playerApi={new URL(ClickView.Config.Urls.PlayerApi)}\n hotkeyElQuerySelector='body'\n onReady={() => setReady(true)}\n currentUser={currentUser.data as unknown as CurrentUser}\n mode={InteractiveMode.View}\n questionListPortalNode={questionListPortalNode}\n eventLogging={false}\n />\n <OutPortal node={questionListPortalNode} />\n </div>\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{t as r}from"./Di_u2uix.chunk.js";import{t as i}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{I as a,R as o,T as s,t as c,tt as l}from"./C7Gmh7eY.chunk.js";import{t as u}from"./D-JsEiDq2.chunk.js";import{t as d}from"./a7DJumk6.chunk.js";import{t as f}from"./B30PmHCG2.chunk.js";import{t as p}from"./Lh2c_aQx2.chunk.js";import{c as m}from"./BA6RWJvc.chunk.js";var h=n(e()),g=t();function _(e){let[t,n]=h.useState(e.initialField),[_,v]=h.useState(!0),y=a(e.id),b=p(d.ALERT),x=s();h.useEffect(()=>(x?.setVideoId(e.id),()=>{x?.setVideoId(null)}),[e.id]);let S=c[e.stage].forms;function C(){let e=y.data?.masterType===`Clip`?`clip`:`video`,n=S[t].next;for(;n&&!S[n].supportedTypes.includes(e);)n=S[n].next;return n}function w(){if(_)return e.closePopup();b.createAlert({type:f.Warning,heading:`Are you sure?`,message:`Click close again to close the popup.`}),v(!0)}let{formComponent:T,popupSize:E=[`review_thumbnail`,`review_video`,`published_video`].includes(e.stage)?`lg`:`md`}=S[t],D=C();return(0,g.jsx)(l,{subStage:e.stage,pipelineId:e.pipelineId,children:(0,g.jsx)(o.Provider,{value:!!D,children:(0,g.jsx)(u,{title:y.data?.name,closePopup:w,size:E,backdrop:`static`,showLoadingSpinner:!y.hasCompleted,headerButtons:[{appLink:{application:i.ASSEMBLY_LINE,action:r.AssemblyLine.PICTURE_IN_PICTURE,args:[y.data?.id]},svg:m,className:`text-secondary`}],children:(0,g.jsx)(T,{id:e.id,onNext:()=>n(D),closePopup:e.closePopup,stage:e.stage,setCanClosePopup:v,view:e.view})})})})}export{_ as EditVideoContainerView};
2
- //# sourceMappingURL=BSYuzR8N2.chunk.js.map
1
+ import{a as e,i as t,ln as n}from"./rp704-Pm.chunk.js";import{t as r}from"./Di_u2uix.chunk.js";import{t as i}from"./BvMTtGLi.chunk.js";import"./CfCYHRuo.chunk.js";import{I as a,R as o,T as s,t as c,tt as l}from"./DWHKdmdQ.chunk.js";import{t as u}from"./D-JsEiDq2.chunk.js";import{t as d}from"./a7DJumk6.chunk.js";import{t as f}from"./B30PmHCG2.chunk.js";import{t as p}from"./Lh2c_aQx2.chunk.js";import{c as m}from"./BA6RWJvc.chunk.js";var h=n(e()),g=t();function _(e){let[t,n]=h.useState(e.initialField),[_,v]=h.useState(!0),y=a(e.id),b=p(d.ALERT),x=s();h.useEffect(()=>(x?.setVideoId(e.id),()=>{x?.setVideoId(null)}),[e.id]);let S=c[e.stage].forms;function C(){let e=y.data?.masterType===`Clip`?`clip`:`video`,n=S[t].next;for(;n&&!S[n].supportedTypes.includes(e);)n=S[n].next;return n}function w(){if(_)return e.closePopup();b.createAlert({type:f.Warning,heading:`Are you sure?`,message:`Click close again to close the popup.`}),v(!0)}let{formComponent:T,popupSize:E=[`review_thumbnail`,`review_video`,`published_video`].includes(e.stage)?`lg`:`md`}=S[t],D=C();return(0,g.jsx)(l,{subStage:e.stage,pipelineId:e.pipelineId,children:(0,g.jsx)(o.Provider,{value:!!D,children:(0,g.jsx)(u,{title:y.data?.name,closePopup:w,size:E,backdrop:`static`,showLoadingSpinner:!y.hasCompleted,headerButtons:[{appLink:{application:i.ASSEMBLY_LINE,action:r.AssemblyLine.PICTURE_IN_PICTURE,args:[y.data?.id]},svg:m,className:`text-secondary`}],children:(0,g.jsx)(T,{id:e.id,onNext:()=>n(D),closePopup:e.closePopup,stage:e.stage,setCanClosePopup:v,view:e.view})})})})}export{_ as EditVideoContainerView};
2
+ //# sourceMappingURL=DSvehN9D2.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BSYuzR8N2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/edit-video/EditVideoContainerView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\nimport { AlertType, BaseAlertService } from 'libs/common/backbone/services/BaseAlertService';\nimport { useService } from 'libs/common/react/hooks/UseService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayCircleSvg } from 'libs/shared/images/svg/actions/PlayCircleSvg';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { useCuratorPlayer } from 'shared/context/CuratorPlayerContext';\n\nimport { AssemblyLineStageConfig } from 'apps/assembly-line/constants/AssemblyLineStageConfig';\nimport { AssemblyLineNextFormContext } from 'apps/assembly-line/contexts/AssemblyLineNextFormContext';\nimport { AssemblyLineStageContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { useFetchAssemblyLineMedia } from 'apps/assembly-line/hooks/useFetchAssemblyLineMedia';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineVideoField } from 'apps/assembly-line/interfaces/AssemblyLineVideo';\nimport { AssemblyLineView } from 'apps/assembly-line/interfaces/AssemblyLineView';\nimport { ContentPipelineId } from 'apps/assembly-line/interfaces/ContentPipelineId';\n\ninterface EditVideoContainerViewProps extends PopupViewProps {\n id: string;\n stage: AssemblyLineStage;\n initialField: AssemblyLineVideoField;\n pipelineId: ContentPipelineId;\n view: AssemblyLineView;\n}\n\nexport function EditVideoContainerView(props: EditVideoContainerViewProps): JSX.Element {\n const [ currentField, setCurrentField ] = React.useState<string>(props.initialField);\n const [ canClosePopup, setCanClosePopup ] = React.useState(true);\n\n const video = useFetchAssemblyLineMedia(props.id);\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\n const curatorPlayer = useCuratorPlayer();\n\n // Set videoId in context when popup opens\n React.useEffect(() => {\n curatorPlayer?.setVideoId(props.id);\n return () => {\n curatorPlayer?.setVideoId(null);\n };\n }, [props.id]);\n\n const formConfig = AssemblyLineStageConfig[props.stage].forms;\n\n function getNext(): string {\n const type = video.data?.masterType === 'Clip' ? 'clip' : 'video';\n\n const current = formConfig[currentField];\n let next = current.next;\n\n // Skip forms that are unsupported for the current object type\n while (next && !formConfig[next].supportedTypes.includes(type)) {\n next = formConfig[next].next;\n }\n\n return next;\n }\n\n function onClickClose() {\n if (canClosePopup)\n return props.closePopup();\n\n // Using alert service for this as I don't want to update useAlerts for a one-off in curator - Josh\n alertService.createAlert({\n type: AlertType.Warning,\n heading: 'Are you sure?',\n message: 'Click close again to close the popup.'\n });\n setCanClosePopup(true);\n }\n\n const {\n formComponent: FormComponent,\n popupSize = ![ 'review_thumbnail', 'review_video', 'published_video' ].includes(props.stage) ?\n 'md' :\n 'lg'\n } = formConfig[currentField];\n\n const nextForm = getNext();\n\n return (\n <AssemblyLineStageContext subStage={props.stage} pipelineId={props.pipelineId}>\n <AssemblyLineNextFormContext.Provider value={!!nextForm}>\n <Popup\n title={video.data?.name}\n closePopup={onClickClose}\n size={popupSize}\n backdrop='static'\n showLoadingSpinner={!video.hasCompleted}\n headerButtons={[{\n appLink: {\n application: AppChannels.ASSEMBLY_LINE,\n action: Actions.AssemblyLine.PICTURE_IN_PICTURE,\n args: [video.data?.id]\n },\n svg: PlayCircleSvg,\n className: 'text-secondary'\n }]}\n >\n <FormComponent\n id={props.id}\n onNext={() => setCurrentField(nextForm)}\n closePopup={props.closePopup}\n stage={props.stage}\n setCanClosePopup={setCanClosePopup}\n view={props.view}\n />\n </Popup>\n </AssemblyLineNextFormContext.Provider>\n </AssemblyLineStageContext>\n );\n}\n"],"mappings":"scA8BA,SAAgB,EAAuB,EAAiD,CACtF,GAAM,CAAE,EAAc,GAAA,EAA0B,SAAiB,EAAM,YAAY,EAC7E,CAAE,EAAe,GAAA,EAA2B,SAAS,EAAI,EAEzD,EAAQ,EAA0B,EAAM,EAAE,EAC1C,EAAe,EAA6B,EAAe,KAAK,EAChE,EAAgB,EAAiB,EAGvC,EAAM,eACJ,GAAe,WAAW,EAAM,EAAE,MACrB,CACX,GAAe,WAAW,IAAI,CAChC,GACC,CAAC,EAAM,EAAE,CAAC,EAEb,IAAM,EAAa,EAAwB,EAAM,MAAM,CAAC,MAExD,SAAS,GAAkB,CACzB,IAAM,EAAO,EAAM,MAAM,aAAe,OAAS,OAAS,QAGtD,EADY,EAAW,EAChB,CAAQ,KAGnB,KAAO,GAAQ,CAAC,EAAW,EAAK,CAAC,eAAe,SAAS,CAAI,GAC3D,EAAO,EAAW,EAAK,CAAC,KAG1B,OAAO,CACT,CAEA,SAAS,GAAe,CACtB,GAAI,EACF,OAAO,EAAM,WAAW,EAG1B,EAAa,YAAY,CACvB,KAAM,EAAU,QAChB,QAAS,gBACT,QAAS,uCACX,CAAC,EACD,EAAiB,EAAI,CACvB,CAEA,GAAM,CACJ,cAAe,EACf,YAAa,CAAE,mBAAoB,eAAgB,iBAAkB,CAAC,CAAC,SAAS,EAAM,KAAK,EAEzF,KADA,MAEA,EAAW,GAET,EAAW,EAAQ,EAEzB,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,SAAU,EAAM,MAAO,WAAY,EAAM,qBACjE,EAAA,EAAA,IAAA,CAAC,EAA4B,SAA7B,CAAsC,MAAO,CAAC,CAAC,YAC7C,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAM,MAAM,KACnB,WAAY,EACZ,KAAM,EACN,SAAS,SACT,mBAAoB,CAAC,EAAM,aAC3B,cAAe,CAAC,CACd,QAAS,CACP,YAAa,EAAY,cACzB,OAAQ,EAAQ,aAAa,mBAC7B,KAAM,CAAC,EAAM,MAAM,EAAE,CACvB,EACA,IAAK,EACL,UAAW,gBACb,CAAC,YAED,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,EAAM,GACV,WAAc,EAAgB,CAAQ,EACtC,WAAY,EAAM,WAClB,MAAO,EAAM,MACK,mBAClB,KAAM,EAAM,IACb,CAAA,CACI,CAAA,CAC6B,CAAA,CACd,CAAA,CAE9B"}
1
+ {"version":3,"file":"DSvehN9D2.chunk.js","names":[],"sources":["../../../../../src/apps/assembly-line/views/edit-video/EditVideoContainerView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\nimport { AlertType, BaseAlertService } from 'libs/common/backbone/services/BaseAlertService';\nimport { useService } from 'libs/common/react/hooks/UseService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PlayCircleSvg } from 'libs/shared/images/svg/actions/PlayCircleSvg';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { Actions, AppChannels } from 'shared/constants';\nimport { useCuratorPlayer } from 'shared/context/CuratorPlayerContext';\n\nimport { AssemblyLineStageConfig } from 'apps/assembly-line/constants/AssemblyLineStageConfig';\nimport { AssemblyLineNextFormContext } from 'apps/assembly-line/contexts/AssemblyLineNextFormContext';\nimport { AssemblyLineStageContext } from 'apps/assembly-line/contexts/AssemblyLineStageContext';\nimport { useFetchAssemblyLineMedia } from 'apps/assembly-line/hooks/useFetchAssemblyLineMedia';\nimport { AssemblyLineStage } from 'apps/assembly-line/interfaces/AssemblyLineStage';\nimport { AssemblyLineVideoField } from 'apps/assembly-line/interfaces/AssemblyLineVideo';\nimport { AssemblyLineView } from 'apps/assembly-line/interfaces/AssemblyLineView';\nimport { ContentPipelineId } from 'apps/assembly-line/interfaces/ContentPipelineId';\n\ninterface EditVideoContainerViewProps extends PopupViewProps {\n id: string;\n stage: AssemblyLineStage;\n initialField: AssemblyLineVideoField;\n pipelineId: ContentPipelineId;\n view: AssemblyLineView;\n}\n\nexport function EditVideoContainerView(props: EditVideoContainerViewProps): JSX.Element {\n const [ currentField, setCurrentField ] = React.useState<string>(props.initialField);\n const [ canClosePopup, setCanClosePopup ] = React.useState(true);\n\n const video = useFetchAssemblyLineMedia(props.id);\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\n const curatorPlayer = useCuratorPlayer();\n\n // Set videoId in context when popup opens\n React.useEffect(() => {\n curatorPlayer?.setVideoId(props.id);\n return () => {\n curatorPlayer?.setVideoId(null);\n };\n }, [props.id]);\n\n const formConfig = AssemblyLineStageConfig[props.stage].forms;\n\n function getNext(): string {\n const type = video.data?.masterType === 'Clip' ? 'clip' : 'video';\n\n const current = formConfig[currentField];\n let next = current.next;\n\n // Skip forms that are unsupported for the current object type\n while (next && !formConfig[next].supportedTypes.includes(type)) {\n next = formConfig[next].next;\n }\n\n return next;\n }\n\n function onClickClose() {\n if (canClosePopup)\n return props.closePopup();\n\n // Using alert service for this as I don't want to update useAlerts for a one-off in curator - Josh\n alertService.createAlert({\n type: AlertType.Warning,\n heading: 'Are you sure?',\n message: 'Click close again to close the popup.'\n });\n setCanClosePopup(true);\n }\n\n const {\n formComponent: FormComponent,\n popupSize = ![ 'review_thumbnail', 'review_video', 'published_video' ].includes(props.stage) ?\n 'md' :\n 'lg'\n } = formConfig[currentField];\n\n const nextForm = getNext();\n\n return (\n <AssemblyLineStageContext subStage={props.stage} pipelineId={props.pipelineId}>\n <AssemblyLineNextFormContext.Provider value={!!nextForm}>\n <Popup\n title={video.data?.name}\n closePopup={onClickClose}\n size={popupSize}\n backdrop='static'\n showLoadingSpinner={!video.hasCompleted}\n headerButtons={[{\n appLink: {\n application: AppChannels.ASSEMBLY_LINE,\n action: Actions.AssemblyLine.PICTURE_IN_PICTURE,\n args: [video.data?.id]\n },\n svg: PlayCircleSvg,\n className: 'text-secondary'\n }]}\n >\n <FormComponent\n id={props.id}\n onNext={() => setCurrentField(nextForm)}\n closePopup={props.closePopup}\n stage={props.stage}\n setCanClosePopup={setCanClosePopup}\n view={props.view}\n />\n </Popup>\n </AssemblyLineNextFormContext.Provider>\n </AssemblyLineStageContext>\n );\n}\n"],"mappings":"scA8BA,SAAgB,EAAuB,EAAiD,CACtF,GAAM,CAAE,EAAc,GAAA,EAA0B,SAAiB,EAAM,YAAY,EAC7E,CAAE,EAAe,GAAA,EAA2B,SAAS,EAAI,EAEzD,EAAQ,EAA0B,EAAM,EAAE,EAC1C,EAAe,EAA6B,EAAe,KAAK,EAChE,EAAgB,EAAiB,EAGvC,EAAM,eACJ,GAAe,WAAW,EAAM,EAAE,MACrB,CACX,GAAe,WAAW,IAAI,CAChC,GACC,CAAC,EAAM,EAAE,CAAC,EAEb,IAAM,EAAa,EAAwB,EAAM,MAAM,CAAC,MAExD,SAAS,GAAkB,CACzB,IAAM,EAAO,EAAM,MAAM,aAAe,OAAS,OAAS,QAGtD,EADY,EAAW,EAChB,CAAQ,KAGnB,KAAO,GAAQ,CAAC,EAAW,EAAK,CAAC,eAAe,SAAS,CAAI,GAC3D,EAAO,EAAW,EAAK,CAAC,KAG1B,OAAO,CACT,CAEA,SAAS,GAAe,CACtB,GAAI,EACF,OAAO,EAAM,WAAW,EAG1B,EAAa,YAAY,CACvB,KAAM,EAAU,QAChB,QAAS,gBACT,QAAS,uCACX,CAAC,EACD,EAAiB,EAAI,CACvB,CAEA,GAAM,CACJ,cAAe,EACf,YAAa,CAAE,mBAAoB,eAAgB,iBAAkB,CAAC,CAAC,SAAS,EAAM,KAAK,EAEzF,KADA,MAEA,EAAW,GAET,EAAW,EAAQ,EAEzB,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAA0B,SAAU,EAAM,MAAO,WAAY,EAAM,qBACjE,EAAA,EAAA,IAAA,CAAC,EAA4B,SAA7B,CAAsC,MAAO,CAAC,CAAC,YAC7C,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAM,MAAM,KACnB,WAAY,EACZ,KAAM,EACN,SAAS,SACT,mBAAoB,CAAC,EAAM,aAC3B,cAAe,CAAC,CACd,QAAS,CACP,YAAa,EAAY,cACzB,OAAQ,EAAQ,aAAa,mBAC7B,KAAM,CAAC,EAAM,MAAM,EAAE,CACvB,EACA,IAAK,EACL,UAAW,gBACb,CAAC,YAED,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,EAAM,GACV,WAAc,EAAgB,CAAQ,EACtC,WAAY,EAAM,WAClB,MAAO,EAAM,MACK,mBAClB,KAAM,EAAM,IACb,CAAA,CACI,CAAA,CAC6B,CAAA,CACd,CAAA,CAE9B"}
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,ln as n,sn as r}from"./rp704-Pm.chunk.js";import{t as i}from"./Di_u2uix.chunk.js";import"./CfCYHRuo.chunk.js";import{t as a}from"./UCDGupVs.chunk.js";import{G as o}from"./C7Gmh7eY.chunk.js";import{y as s}from"./BhKv6dKl2.chunk.js";import{n as c}from"./CbiGs3Tn.chunk.js";import{t as l}from"./BT15PHGF.chunk.js";import{s as u,u as d}from"./Dgk5cBBe.chunk.js";import{t as f}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as p}from"./Bwpvc7Th2.chunk.js";import{t as m}from"./C2TF0X_R2.chunk.js";import{t as h}from"./CuXQXmu-2.chunk.js";import{t as g}from"./BivItbGo.chunk.js";import{t as _}from"./JmL1DHFu.chunk.js";import{t as v}from"./MQQrRn3J.chunk.js";import{n as y,t as b}from"./ClpIRgLR.chunk.js";import{t as x}from"./BwToh2X9.chunk.js";import{t as S}from"./mStmtFRo.chunk.js";import"./DrBVabtm.chunk.js";var C=r({EditVideoTagsView:()=>k}),w=n(e()),T=t(),E=`videos.editVideoTags`,D=l.encloseNamespace(E);function O(e,t){return w.useMemo(()=>h.getTagsByType(e,t),[e?.length])}function k(e){let t=d(),n=p(),r=u(a.currentUser()),C=u(_.video(e.videoId)),w=u(o.getAssemblyLineVideo(e.videoId)),k=u(_.videoTagsByType(e.videoId,[m.Normal,m.Pedagogy,m.Hidden,m.Skill])),A=O(k.data?.data,m.Normal),j=O(k.data?.data,m.Pedagogy),M=O(k.data?.data,m.Skill),N=O(k.data?.data,m.Hidden),P=f.toObject(A,`id`),F=u(g.pedagogyTags()),I=u(g.skillTags());function L(e){return e.results?.filter(e=>!P[e.id])}function R(e,t){n.error(l.getPhrase(E,e,t))}function z(e,t){n.success(l.getPhrase(E,e,t))}async function B(n,r){await t(_.updateContentPipelineVideo(e.videoId,{hasPedagogyTags:n.hasTagType})),await t(_.addContentPipelineVideoComment(e.videoId,`bypassPedagogyTags`,n.bypassCategory,n.bypassReason)),r()}async function V(n,r){await t(_.updateContentPipelineVideo(e.videoId,{hasSkillTags:n.hasTagType})),await t(_.addContentPipelineVideoComment(e.videoId,`bypassSkillTags`,n.bypassCategory,n.bypassReason)),r()}function H(n,r){if(n=n.trim(),n.length){if(!h.isValidTagSearch(n)){R(`notValid`,{query:n});return}if(!h.isValidTagLength(n)){R(`invalidTagLength`,{length:30});return}if(r===m.Normal){if(h.getTagByName(A,n)){R(`alreadyExists`,{query:n});return}if(!h.canAddNormalTag(A)){R(`maxKeywordTags`,{maxKeywordTags:10});return}}t(_.createTag(e.videoId,n,r,()=>z(`created`,{query:n}),()=>R(`failedCreate`,{query:n})))}}function U(n){if(n.tagType===m.Normal&&!h.canAddNormalTag(A)){R(`maxKeywordTags`,{maxKeywordTags:10});return}t(_.associateTag(e.videoId,n,()=>z(`added`,{query:n.name}),()=>R(`failedAdd`,{query:n.name})))}function W(n){t(_.dissociateTag(e.videoId,n,()=>z(`removed`,{query:n.name}),()=>R(`failedRemove`,{query:n.name})))}function G(e){if(h.getTagById(j,e.id)){W(e);return}U(e)}function K(e){if(h.getTagById(M,e.id)){W(e);return}U(e)}function q(e,t){let n=e.trim();return h.isValidTagSearch(n)?v.searchTags(n,t):null}let J=F.hasCompleted&&I.hasCompleted&&C.hasCompleted&&w.hasCompleted;return(0,T.jsxs)(T.Fragment,{children:[!!r.data&&(0,T.jsx)(T.Fragment,{children:e.context===`live`?(0,T.jsx)(x,{videoId:e.videoId,activeAction:i.CvLive.EDIT_VIDEO_TAGS}):(0,T.jsx)(S,{videoId:e.videoId,activeAction:i.Videos.EDIT_VIDEO_TAGS,currentUser:r.data})}),(0,T.jsx)(s,{object:C.data}),J?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(b,{type:m.Pedagogy,onSubmit:B,allTags:F.data,tags:j,onToggleTag:G,heading:D(`pedagogyTags`),description:D(`pedagogyDescription`),contentPipelineVideo:w.data}),(0,T.jsx)(b,{type:m.Skill,onSubmit:V,allTags:I.data,tags:M,onToggleTag:K,heading:D(`skillTags`),description:D(`skillDescription`),contentPipelineVideo:w.data}),(0,T.jsxs)(`div`,{className:`row`,children:[(0,T.jsx)(`div`,{className:`col-lg-6`,children:(0,T.jsx)(y,{title:D(`keywordTags`),placeholder:D(`addTagPlaceholder`),onRemove:W,tagList:A,onSuggestionDependencies:[A],onSuggestionSelected:U,getRemoteUrl:e=>q(e,m.Normal),formatRemoteSuggestions:e=>L(e),onSubmit:e=>H(e,m.Normal)})}),(0,T.jsx)(`div`,{className:`col-lg-6`,children:(0,T.jsx)(y,{title:D(`hiddenTags`),placeholder:D(`addHiddenTagPlaceholder`),onRemove:W,tagList:N,onSuggestionDependencies:[N],onSuggestionSelected:U,getRemoteUrl:e=>q(e,m.Hidden),formatRemoteSuggestions:e=>L(e),onSubmit:e=>H(e,m.Hidden)})})]})]}):(0,T.jsx)(`div`,{className:`text-center p-5`,children:(0,T.jsx)(c,{as:`div`,animation:`border`,role:`status`})})]})}export{C as n,k as t};
2
- //# sourceMappingURL=FS74_jrx.chunk.js.map
1
+ import{a as e,i as t,ln as n,sn as r}from"./rp704-Pm.chunk.js";import{t as i}from"./Di_u2uix.chunk.js";import"./CfCYHRuo.chunk.js";import{t as a}from"./UCDGupVs.chunk.js";import{G as o}from"./DWHKdmdQ.chunk.js";import{y as s}from"./GpDEun8c2.chunk.js";import{n as c}from"./CbiGs3Tn.chunk.js";import{t as l}from"./BT15PHGF.chunk.js";import{s as u,u as d}from"./Dgk5cBBe.chunk.js";import{t as f}from"./DpqbC5uX.chunk.js";import"./Oh4_zGIH.chunk.js";import{t as p}from"./Bwpvc7Th2.chunk.js";import{t as m}from"./C2TF0X_R2.chunk.js";import{t as h}from"./CuXQXmu-2.chunk.js";import{t as g}from"./BivItbGo.chunk.js";import{t as _}from"./JmL1DHFu.chunk.js";import{t as v}from"./MQQrRn3J.chunk.js";import{n as y,t as b}from"./B6NMAAhW.chunk.js";import{t as x}from"./DjnvbVQs.chunk.js";import{t as S}from"./BT-jeT7C.chunk.js";import"./B1pBJzjh.chunk.js";var C=r({EditVideoTagsView:()=>k}),w=n(e()),T=t(),E=`videos.editVideoTags`,D=l.encloseNamespace(E);function O(e,t){return w.useMemo(()=>h.getTagsByType(e,t),[e?.length])}function k(e){let t=d(),n=p(),r=u(a.currentUser()),C=u(_.video(e.videoId)),w=u(o.getAssemblyLineVideo(e.videoId)),k=u(_.videoTagsByType(e.videoId,[m.Normal,m.Pedagogy,m.Hidden,m.Skill])),A=O(k.data?.data,m.Normal),j=O(k.data?.data,m.Pedagogy),M=O(k.data?.data,m.Skill),N=O(k.data?.data,m.Hidden),P=f.toObject(A,`id`),F=u(g.pedagogyTags()),I=u(g.skillTags());function L(e){return e.results?.filter(e=>!P[e.id])}function R(e,t){n.error(l.getPhrase(E,e,t))}function z(e,t){n.success(l.getPhrase(E,e,t))}async function B(n,r){await t(_.updateContentPipelineVideo(e.videoId,{hasPedagogyTags:n.hasTagType})),await t(_.addContentPipelineVideoComment(e.videoId,`bypassPedagogyTags`,n.bypassCategory,n.bypassReason)),r()}async function V(n,r){await t(_.updateContentPipelineVideo(e.videoId,{hasSkillTags:n.hasTagType})),await t(_.addContentPipelineVideoComment(e.videoId,`bypassSkillTags`,n.bypassCategory,n.bypassReason)),r()}function H(n,r){if(n=n.trim(),n.length){if(!h.isValidTagSearch(n)){R(`notValid`,{query:n});return}if(!h.isValidTagLength(n)){R(`invalidTagLength`,{length:30});return}if(r===m.Normal){if(h.getTagByName(A,n)){R(`alreadyExists`,{query:n});return}if(!h.canAddNormalTag(A)){R(`maxKeywordTags`,{maxKeywordTags:10});return}}t(_.createTag(e.videoId,n,r,()=>z(`created`,{query:n}),()=>R(`failedCreate`,{query:n})))}}function U(n){if(n.tagType===m.Normal&&!h.canAddNormalTag(A)){R(`maxKeywordTags`,{maxKeywordTags:10});return}t(_.associateTag(e.videoId,n,()=>z(`added`,{query:n.name}),()=>R(`failedAdd`,{query:n.name})))}function W(n){t(_.dissociateTag(e.videoId,n,()=>z(`removed`,{query:n.name}),()=>R(`failedRemove`,{query:n.name})))}function G(e){if(h.getTagById(j,e.id)){W(e);return}U(e)}function K(e){if(h.getTagById(M,e.id)){W(e);return}U(e)}function q(e,t){let n=e.trim();return h.isValidTagSearch(n)?v.searchTags(n,t):null}let J=F.hasCompleted&&I.hasCompleted&&C.hasCompleted&&w.hasCompleted;return(0,T.jsxs)(T.Fragment,{children:[!!r.data&&(0,T.jsx)(T.Fragment,{children:e.context===`live`?(0,T.jsx)(x,{videoId:e.videoId,activeAction:i.CvLive.EDIT_VIDEO_TAGS}):(0,T.jsx)(S,{videoId:e.videoId,activeAction:i.Videos.EDIT_VIDEO_TAGS,currentUser:r.data})}),(0,T.jsx)(s,{object:C.data}),J?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(b,{type:m.Pedagogy,onSubmit:B,allTags:F.data,tags:j,onToggleTag:G,heading:D(`pedagogyTags`),description:D(`pedagogyDescription`),contentPipelineVideo:w.data}),(0,T.jsx)(b,{type:m.Skill,onSubmit:V,allTags:I.data,tags:M,onToggleTag:K,heading:D(`skillTags`),description:D(`skillDescription`),contentPipelineVideo:w.data}),(0,T.jsxs)(`div`,{className:`row`,children:[(0,T.jsx)(`div`,{className:`col-lg-6`,children:(0,T.jsx)(y,{title:D(`keywordTags`),placeholder:D(`addTagPlaceholder`),onRemove:W,tagList:A,onSuggestionDependencies:[A],onSuggestionSelected:U,getRemoteUrl:e=>q(e,m.Normal),formatRemoteSuggestions:e=>L(e),onSubmit:e=>H(e,m.Normal)})}),(0,T.jsx)(`div`,{className:`col-lg-6`,children:(0,T.jsx)(y,{title:D(`hiddenTags`),placeholder:D(`addHiddenTagPlaceholder`),onRemove:W,tagList:N,onSuggestionDependencies:[N],onSuggestionSelected:U,getRemoteUrl:e=>q(e,m.Hidden),formatRemoteSuggestions:e=>L(e),onSubmit:e=>H(e,m.Hidden)})})]})]}):(0,T.jsx)(`div`,{className:`text-center p-5`,children:(0,T.jsx)(c,{as:`div`,animation:`border`,role:`status`})})]})}export{C as n,k as t};
2
+ //# sourceMappingURL=DTvCgZ4c.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FS74_jrx.chunk.js","names":[],"sources":["../../../../../src/apps/videos/views/edit-video-tags/EditVideoTagsView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SearchResults } from 'libs/shared/apps/search/interfaces';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CuratorUser, Tag, TagCollection, Video } from 'libs/shared/interfaces';\n\nimport { ObjectHeader } from 'shared/components';\nimport { Actions } from 'shared/constants';\nimport { SearchRequests } from 'shared/flight-requests/SearchRequests';\nimport { TagRequests } from 'shared/flight-requests/TagRequests';\nimport { CuratorProductContext } from 'shared/interfaces/models/CuratorProductContext';\nimport { MAX_KEYWORD_TAGS, MAX_TAG_LENGTH, TagHelper } from 'shared/utils/TagHelper';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { CommentFormData } from 'apps/assembly-line/interfaces/primitives/CommentFormData';\nimport { AssemblyLineVideoResponse } from 'apps/assembly-line/interfaces/responses/AssemblyLineVideoResponse';\nimport { CvLiveVideoNav } from 'apps/cv-live/components/video-nav/CvLiveVideoNav';\nimport { EditVideoNav } from 'apps/videos/components/edit-video-nav';\nimport { SearchBarWithTagList } from 'apps/videos/components/edit-video-tags/search-bar';\nimport { TagCloudForm } from 'apps/videos/components/edit-video-tags/tag-cloud-form/TagCloudForm';\nimport { VideoRequests } from 'apps/videos/flight-requests/CuratorVideoRequests';\n\nexport interface ContentPipelineVideoTagsFormData extends CommentFormData {\n hasTagType: boolean;\n}\n\nconst namespace = 'videos.editVideoTags';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction useFilterTags(tags: Tag[], type: TagType) {\n return React.useMemo(() => {\n return TagHelper.getTagsByType(tags, type);\n }, [tags?.length]);\n}\n\ninterface EditVideoTagsViewProps {\n videoId: string;\n context: CuratorProductContext;\n}\n\nexport function EditVideoTagsView(\n props: EditVideoTagsViewProps\n): React.ReactElement {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n \n const currentUser = Flight.useBasicFetch<CuratorUser>(\n UserRequests.currentUser()\n );\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const contentPipelineVideo = Flight.useBasicFetch<AssemblyLineVideoResponse>(\n AssemblyLineRequests.getAssemblyLineVideo(props.videoId)\n );\n\n const allTagsResponse = Flight.useBasicFetch<TagCollection>(\n VideoRequests.videoTagsByType(props.videoId, [\n TagType.Normal,\n TagType.Pedagogy,\n TagType.Hidden,\n TagType.Skill\n ])\n );\n\n const normalTags = useFilterTags(allTagsResponse.data?.data, TagType.Normal);\n const pedagogyTags = useFilterTags(allTagsResponse.data?.data, TagType.Pedagogy);\n const skillTags = useFilterTags(allTagsResponse.data?.data, TagType.Skill);\n const hiddenTags = useFilterTags(allTagsResponse.data?.data, TagType.Hidden);\n const tagLookup = ArrayHelper.toObject(normalTags, 'id');\n\n const allPedagogyTags = Flight.useBasicFetch<Tag[]>(TagRequests.pedagogyTags());\n const allSkillTags = Flight.useBasicFetch<Tag[]>(TagRequests.skillTags());\n\n function removeExistingTags(response: SearchResults<Tag>): Tag[] {\n return response.results?.filter(tag => !tagLookup[tag.id]);\n }\n\n function handleError(phraseKey: string, options: HashObject): void {\n alerts.error(LanguageService.getPhrase(namespace, phraseKey, options));\n }\n\n function handleSuccess(phraseKey: string, options: HashObject): void {\n alerts.success(LanguageService.getPhrase(namespace, phraseKey, options));\n }\n\n async function onTogglePedagogyTagRequirement(\n formData: ContentPipelineVideoTagsFormData,\n onDone: () => void\n ): Promise<void> {\n await fetchAsync(VideoRequests.updateContentPipelineVideo(\n props.videoId,\n { hasPedagogyTags: formData.hasTagType }\n ));\n\n await fetchAsync(VideoRequests.addContentPipelineVideoComment(\n props.videoId,\n 'bypassPedagogyTags',\n formData.bypassCategory,\n formData.bypassReason\n ));\n\n onDone();\n }\n\n async function onToggleSkillTagRequirement(\n formData: ContentPipelineVideoTagsFormData,\n onDone: () => void\n ): Promise<void> {\n await fetchAsync(VideoRequests.updateContentPipelineVideo(\n props.videoId,\n { hasSkillTags: formData.hasTagType }\n ));\n\n await fetchAsync(VideoRequests.addContentPipelineVideoComment(\n props.videoId,\n 'bypassSkillTags',\n formData.bypassCategory,\n formData.bypassReason\n ));\n\n onDone();\n }\n\n function createAndAssociateTag(query: string, tagType: TagType): void {\n query = query.trim();\n\n if (!query.length)\n return;\n\n if (!TagHelper.isValidTagSearch(query)) {\n handleError('notValid', { query });\n return;\n }\n\n if (!TagHelper.isValidTagLength(query)) {\n handleError('invalidTagLength', { length: MAX_TAG_LENGTH });\n return;\n }\n\n if (tagType === TagType.Normal) {\n if (TagHelper.getTagByName(normalTags, query)) {\n handleError('alreadyExists', { query });\n return;\n }\n \n if (!TagHelper.canAddNormalTag(normalTags)) {\n handleError('maxKeywordTags', { maxKeywordTags: MAX_KEYWORD_TAGS });\n return;\n }\n }\n\n fetchAsync(VideoRequests.createTag(\n props.videoId,\n query,\n tagType,\n () => handleSuccess('created', { query }),\n () => handleError('failedCreate', { query })\n ));\n }\n\n function associateExistingTag(tag: Tag): void {\n if (tag.tagType === TagType.Normal && !TagHelper.canAddNormalTag(normalTags)) {\n handleError('maxKeywordTags', { maxKeywordTags: MAX_KEYWORD_TAGS });\n return;\n }\n\n fetchAsync(VideoRequests.associateTag(\n props.videoId,\n tag,\n () => handleSuccess('added', { query: tag.name }),\n () => handleError('failedAdd', { query: tag.name })\n ));\n }\n\n function dissociateExistingTag(tag: Tag): void {\n fetchAsync(VideoRequests.dissociateTag(\n props.videoId,\n tag,\n () => handleSuccess('removed', { query: tag.name }),\n () => handleError('failedRemove', { query: tag.name })\n ));\n }\n \n function onTogglePedagogyTag(tag: Tag): void {\n if (TagHelper.getTagById(pedagogyTags, tag.id)) {\n dissociateExistingTag(tag);\n return;\n }\n\n associateExistingTag(tag);\n }\n \n function onToggleSkillTag(tag: Tag): void {\n if (TagHelper.getTagById(skillTags, tag.id)) {\n dissociateExistingTag(tag);\n return;\n }\n\n associateExistingTag(tag);\n }\n\n function getRemoteUrl(query: string, tagType: TagType): string {\n const localQuery = query.trim();\n\n if (!TagHelper.isValidTagSearch(localQuery))\n return null;\n \n return SearchRequests.searchTags(localQuery, tagType);\n }\n\n const dataLoaded =\n allPedagogyTags.hasCompleted &&\n allSkillTags.hasCompleted &&\n video.hasCompleted &&\n contentPipelineVideo.hasCompleted;\n\n return (\n <>\n {!!currentUser.data && (\n <>\n {props.context === 'live' ? (\n <CvLiveVideoNav\n videoId={props.videoId}\n activeAction={Actions.CvLive.EDIT_VIDEO_TAGS}\n />\n ) : (\n <EditVideoNav\n videoId={props.videoId}\n activeAction={Actions.Videos.EDIT_VIDEO_TAGS}\n currentUser={currentUser.data}\n />\n )}\n </>\n )}\n <ObjectHeader object={video.data} />\n {dataLoaded ? (\n <>\n <TagCloudForm\n type={TagType.Pedagogy}\n onSubmit={onTogglePedagogyTagRequirement}\n allTags={allPedagogyTags.data}\n tags={pedagogyTags}\n onToggleTag={onTogglePedagogyTag}\n heading={getPhrase('pedagogyTags')}\n description={getPhrase('pedagogyDescription')}\n contentPipelineVideo={contentPipelineVideo.data}\n />\n \n <TagCloudForm\n type={TagType.Skill}\n onSubmit={onToggleSkillTagRequirement}\n allTags={allSkillTags.data}\n tags={skillTags}\n onToggleTag={onToggleSkillTag}\n heading={getPhrase('skillTags')}\n description={getPhrase('skillDescription')}\n contentPipelineVideo={contentPipelineVideo.data}\n />\n\n <div className='row'>\n <div className='col-lg-6'>\n <SearchBarWithTagList\n title={getPhrase('keywordTags')}\n placeholder={getPhrase('addTagPlaceholder')}\n onRemove={dissociateExistingTag}\n tagList={normalTags}\n onSuggestionDependencies={[normalTags]}\n onSuggestionSelected={associateExistingTag}\n getRemoteUrl={(query: string) => getRemoteUrl(query, TagType.Normal)}\n formatRemoteSuggestions={(response: SearchResults<Tag>) => removeExistingTags(response)}\n onSubmit={(query: string) => createAndAssociateTag(query, TagType.Normal)}\n />\n </div>\n <div className='col-lg-6'>\n <SearchBarWithTagList\n title={getPhrase('hiddenTags')}\n placeholder={getPhrase('addHiddenTagPlaceholder')}\n onRemove={dissociateExistingTag}\n tagList={hiddenTags}\n onSuggestionDependencies={[hiddenTags]}\n onSuggestionSelected={associateExistingTag}\n getRemoteUrl={(query: string) => getRemoteUrl(query, TagType.Hidden)}\n formatRemoteSuggestions={(response: SearchResults<Tag>) => removeExistingTags(response)}\n onSubmit={(query: string) => createAndAssociateTag(query, TagType.Hidden)}\n />\n </div>\n </div>\n </>\n ) : (\n <div className='text-center p-5'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n )}\n </>\n );\n}\n"],"mappings":"+3BAkCM,EAAY,uBACZ,EAAY,EAAgB,iBAAiB,CAAS,EAE5D,SAAS,EAAc,EAAa,EAAe,CACjD,OAAA,EAAa,YACJ,EAAU,cAAc,EAAM,CAAI,EACxC,CAAC,GAAM,MAAM,CAAC,CACnB,CAOA,SAAgB,EACd,EACoB,CACpB,IAAM,EAAa,EAAwB,EACrC,EAAS,EAAU,EAEnB,EAAc,EAClB,EAAa,YAAY,CAC3B,EAEM,EAAQ,EAA4B,EAAc,MAAM,EAAM,OAAO,CAAC,EACtE,EAAuB,EAC3B,EAAqB,qBAAqB,EAAM,OAAO,CACzD,EAEM,EAAkB,EACtB,EAAc,gBAAgB,EAAM,QAAS,CAC3C,EAAQ,OACR,EAAQ,SACR,EAAQ,OACR,EAAQ,KACV,CAAC,CACH,EAEM,EAAa,EAAc,EAAgB,MAAM,KAAM,EAAQ,MAAM,EACrE,EAAe,EAAc,EAAgB,MAAM,KAAM,EAAQ,QAAQ,EACzE,EAAY,EAAc,EAAgB,MAAM,KAAM,EAAQ,KAAK,EACnE,EAAa,EAAc,EAAgB,MAAM,KAAM,EAAQ,MAAM,EACrE,EAAY,EAAY,SAAS,EAAY,IAAI,EAEjD,EAAkB,EAA4B,EAAY,aAAa,CAAC,EACxE,EAAe,EAA4B,EAAY,UAAU,CAAC,EAExE,SAAS,EAAmB,EAAqC,CAC/D,OAAO,EAAS,SAAS,OAAO,GAAO,CAAC,EAAU,EAAI,GAAG,CAC3D,CAEA,SAAS,EAAY,EAAmB,EAA2B,CACjE,EAAO,MAAM,EAAgB,UAAU,EAAW,EAAW,CAAO,CAAC,CACvE,CAEA,SAAS,EAAc,EAAmB,EAA2B,CACnE,EAAO,QAAQ,EAAgB,UAAU,EAAW,EAAW,CAAO,CAAC,CACzE,CAEA,eAAe,EACb,EACA,EACe,CACf,MAAM,EAAW,EAAc,2BAC7B,EAAM,QACN,CAAE,gBAAiB,EAAS,UAAW,CACzC,CAAC,EAED,MAAM,EAAW,EAAc,+BAC7B,EAAM,QACN,qBACA,EAAS,eACT,EAAS,YACX,CAAC,EAED,EAAO,CACT,CAEA,eAAe,EACb,EACA,EACe,CACf,MAAM,EAAW,EAAc,2BAC7B,EAAM,QACN,CAAE,aAAc,EAAS,UAAW,CACtC,CAAC,EAED,MAAM,EAAW,EAAc,+BAC7B,EAAM,QACN,kBACA,EAAS,eACT,EAAS,YACX,CAAC,EAED,EAAO,CACT,CAEA,SAAS,EAAsB,EAAe,EAAwB,CACpE,KAAQ,EAAM,KAAK,EAEd,EAAM,OAGX,IAAI,CAAC,EAAU,iBAAiB,CAAK,EAAG,CACtC,EAAY,WAAY,CAAE,OAAM,CAAC,EACjC,MACF,CAEA,GAAI,CAAC,EAAU,iBAAiB,CAAK,EAAG,CACtC,EAAY,mBAAoB,CAAE,OAAA,EAAuB,CAAC,EAC1D,MACF,CAEA,GAAI,IAAY,EAAQ,OAAQ,CAC9B,GAAI,EAAU,aAAa,EAAY,CAAK,EAAG,CAC7C,EAAY,gBAAiB,CAAE,OAAM,CAAC,EACtC,MACF,CAEA,GAAI,CAAC,EAAU,gBAAgB,CAAU,EAAG,CAC1C,EAAY,iBAAkB,CAAE,eAAA,EAAiC,CAAC,EAClE,MACF,CACF,CAEA,EAAW,EAAc,UACvB,EAAM,QACN,EACA,MACM,EAAc,UAAW,CAAE,OAAM,CAAC,MAClC,EAAY,eAAgB,CAAE,OAAM,CAAC,CAC7C,CAAC,CAzBD,CA0BF,CAEA,SAAS,EAAqB,EAAgB,CAC5C,GAAI,EAAI,UAAY,EAAQ,QAAU,CAAC,EAAU,gBAAgB,CAAU,EAAG,CAC5E,EAAY,iBAAkB,CAAE,eAAA,EAAiC,CAAC,EAClE,MACF,CAEA,EAAW,EAAc,aACvB,EAAM,QACN,MACM,EAAc,QAAS,CAAE,MAAO,EAAI,IAAK,CAAC,MAC1C,EAAY,YAAa,CAAE,MAAO,EAAI,IAAK,CAAC,CACpD,CAAC,CACH,CAEA,SAAS,EAAsB,EAAgB,CAC7C,EAAW,EAAc,cACvB,EAAM,QACN,MACM,EAAc,UAAW,CAAE,MAAO,EAAI,IAAK,CAAC,MAC5C,EAAY,eAAgB,CAAE,MAAO,EAAI,IAAK,CAAC,CACvD,CAAC,CACH,CAEA,SAAS,EAAoB,EAAgB,CAC3C,GAAI,EAAU,WAAW,EAAc,EAAI,EAAE,EAAG,CAC9C,EAAsB,CAAG,EACzB,MACF,CAEA,EAAqB,CAAG,CAC1B,CAEA,SAAS,EAAiB,EAAgB,CACxC,GAAI,EAAU,WAAW,EAAW,EAAI,EAAE,EAAG,CAC3C,EAAsB,CAAG,EACzB,MACF,CAEA,EAAqB,CAAG,CAC1B,CAEA,SAAS,EAAa,EAAe,EAA0B,CAC7D,IAAM,EAAa,EAAM,KAAK,EAK9B,OAHK,EAAU,iBAAiB,CAAU,EAGnC,EAAe,WAAW,EAAY,CAAO,EAF3C,IAGX,CAEA,IAAM,EACJ,EAAgB,cAChB,EAAa,cACb,EAAM,cACN,EAAqB,aAEvB,OACE,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,CACG,CAAC,CAAC,EAAY,OACb,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,SACG,EAAM,UAAY,QACjB,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EAAM,QACf,aAAc,EAAQ,OAAO,eAC9B,CAAA,GAED,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,QAAS,EAAM,QACf,aAAc,EAAQ,OAAO,gBAC7B,YAAa,EAAY,IAC1B,CAAA,CAEH,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,EAAD,CAAc,OAAQ,EAAM,IAAO,CAAA,EAClC,GACC,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EAAQ,SACd,SAAU,EACV,QAAS,EAAgB,KACzB,KAAM,EACN,YAAa,EACb,QAAS,EAAU,cAAc,EACjC,YAAa,EAAU,qBAAqB,EAC5C,qBAAsB,EAAqB,IAC5C,CAAA,GAED,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAM,EAAQ,MACd,SAAU,EACV,QAAS,EAAa,KACtB,KAAM,EACN,YAAa,EACb,QAAS,EAAU,WAAW,EAC9B,YAAa,EAAU,kBAAkB,EACzC,qBAAsB,EAAqB,IAC5C,CAAA,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,eAAf,EACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAU,aAAa,EAC9B,YAAa,EAAU,mBAAmB,EAC1C,SAAU,EACV,QAAS,EACT,yBAA0B,CAAC,CAAU,EACrC,qBAAsB,EACtB,aAAe,GAAkB,EAAa,EAAO,EAAQ,MAAM,EACnE,wBAA0B,GAAiC,EAAmB,CAAQ,EACtF,SAAW,GAAkB,EAAsB,EAAO,EAAQ,MAAM,CACzE,CAAA,CACE,CAAA,GACL,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,qBACb,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,MAAO,EAAU,YAAY,EAC7B,YAAa,EAAU,yBAAyB,EAChD,SAAU,EACV,QAAS,EACT,yBAA0B,CAAC,CAAU,EACrC,qBAAsB,EACtB,aAAe,GAAkB,EAAa,EAAO,EAAQ,MAAM,EACnE,wBAA0B,GAAiC,EAAmB,CAAQ,EACtF,SAAW,GAAkB,EAAsB,EAAO,EAAQ,MAAM,CACzE,CAAA,CACE,CAAA,CACF,GACL,CAAA,CAAA,GAEF,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,4BACb,EAAA,EAAA,IAAA,CAAC,EAAD,CAAS,GAAG,MAAM,UAAU,SAAS,KAAK,QAAU,CAAA,CACjD,CAAA,CAEP,CAAA,CAAA,CAEN"}
1
+ {"version":3,"file":"DTvCgZ4c.chunk.js","names":[],"sources":["../../../../../src/apps/videos/views/edit-video-tags/EditVideoTagsView.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Spinner } from 'react-bootstrap';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SearchResults } from 'libs/shared/apps/search/interfaces';\nimport { TagType } from 'libs/shared/enums/TagType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { CuratorUser, Tag, TagCollection, Video } from 'libs/shared/interfaces';\n\nimport { ObjectHeader } from 'shared/components';\nimport { Actions } from 'shared/constants';\nimport { SearchRequests } from 'shared/flight-requests/SearchRequests';\nimport { TagRequests } from 'shared/flight-requests/TagRequests';\nimport { CuratorProductContext } from 'shared/interfaces/models/CuratorProductContext';\nimport { MAX_KEYWORD_TAGS, MAX_TAG_LENGTH, TagHelper } from 'shared/utils/TagHelper';\n\nimport { AssemblyLineRequests } from 'apps/assembly-line/flight-requests/AssemblyLineRequests';\nimport { CommentFormData } from 'apps/assembly-line/interfaces/primitives/CommentFormData';\nimport { AssemblyLineVideoResponse } from 'apps/assembly-line/interfaces/responses/AssemblyLineVideoResponse';\nimport { CvLiveVideoNav } from 'apps/cv-live/components/video-nav/CvLiveVideoNav';\nimport { EditVideoNav } from 'apps/videos/components/edit-video-nav';\nimport { SearchBarWithTagList } from 'apps/videos/components/edit-video-tags/search-bar';\nimport { TagCloudForm } from 'apps/videos/components/edit-video-tags/tag-cloud-form/TagCloudForm';\nimport { VideoRequests } from 'apps/videos/flight-requests/CuratorVideoRequests';\n\nexport interface ContentPipelineVideoTagsFormData extends CommentFormData {\n hasTagType: boolean;\n}\n\nconst namespace = 'videos.editVideoTags';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction useFilterTags(tags: Tag[], type: TagType) {\n return React.useMemo(() => {\n return TagHelper.getTagsByType(tags, type);\n }, [tags?.length]);\n}\n\ninterface EditVideoTagsViewProps {\n videoId: string;\n context: CuratorProductContext;\n}\n\nexport function EditVideoTagsView(\n props: EditVideoTagsViewProps\n): React.ReactElement {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n \n const currentUser = Flight.useBasicFetch<CuratorUser>(\n UserRequests.currentUser()\n );\n\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const contentPipelineVideo = Flight.useBasicFetch<AssemblyLineVideoResponse>(\n AssemblyLineRequests.getAssemblyLineVideo(props.videoId)\n );\n\n const allTagsResponse = Flight.useBasicFetch<TagCollection>(\n VideoRequests.videoTagsByType(props.videoId, [\n TagType.Normal,\n TagType.Pedagogy,\n TagType.Hidden,\n TagType.Skill\n ])\n );\n\n const normalTags = useFilterTags(allTagsResponse.data?.data, TagType.Normal);\n const pedagogyTags = useFilterTags(allTagsResponse.data?.data, TagType.Pedagogy);\n const skillTags = useFilterTags(allTagsResponse.data?.data, TagType.Skill);\n const hiddenTags = useFilterTags(allTagsResponse.data?.data, TagType.Hidden);\n const tagLookup = ArrayHelper.toObject(normalTags, 'id');\n\n const allPedagogyTags = Flight.useBasicFetch<Tag[]>(TagRequests.pedagogyTags());\n const allSkillTags = Flight.useBasicFetch<Tag[]>(TagRequests.skillTags());\n\n function removeExistingTags(response: SearchResults<Tag>): Tag[] {\n return response.results?.filter(tag => !tagLookup[tag.id]);\n }\n\n function handleError(phraseKey: string, options: HashObject): void {\n alerts.error(LanguageService.getPhrase(namespace, phraseKey, options));\n }\n\n function handleSuccess(phraseKey: string, options: HashObject): void {\n alerts.success(LanguageService.getPhrase(namespace, phraseKey, options));\n }\n\n async function onTogglePedagogyTagRequirement(\n formData: ContentPipelineVideoTagsFormData,\n onDone: () => void\n ): Promise<void> {\n await fetchAsync(VideoRequests.updateContentPipelineVideo(\n props.videoId,\n { hasPedagogyTags: formData.hasTagType }\n ));\n\n await fetchAsync(VideoRequests.addContentPipelineVideoComment(\n props.videoId,\n 'bypassPedagogyTags',\n formData.bypassCategory,\n formData.bypassReason\n ));\n\n onDone();\n }\n\n async function onToggleSkillTagRequirement(\n formData: ContentPipelineVideoTagsFormData,\n onDone: () => void\n ): Promise<void> {\n await fetchAsync(VideoRequests.updateContentPipelineVideo(\n props.videoId,\n { hasSkillTags: formData.hasTagType }\n ));\n\n await fetchAsync(VideoRequests.addContentPipelineVideoComment(\n props.videoId,\n 'bypassSkillTags',\n formData.bypassCategory,\n formData.bypassReason\n ));\n\n onDone();\n }\n\n function createAndAssociateTag(query: string, tagType: TagType): void {\n query = query.trim();\n\n if (!query.length)\n return;\n\n if (!TagHelper.isValidTagSearch(query)) {\n handleError('notValid', { query });\n return;\n }\n\n if (!TagHelper.isValidTagLength(query)) {\n handleError('invalidTagLength', { length: MAX_TAG_LENGTH });\n return;\n }\n\n if (tagType === TagType.Normal) {\n if (TagHelper.getTagByName(normalTags, query)) {\n handleError('alreadyExists', { query });\n return;\n }\n \n if (!TagHelper.canAddNormalTag(normalTags)) {\n handleError('maxKeywordTags', { maxKeywordTags: MAX_KEYWORD_TAGS });\n return;\n }\n }\n\n fetchAsync(VideoRequests.createTag(\n props.videoId,\n query,\n tagType,\n () => handleSuccess('created', { query }),\n () => handleError('failedCreate', { query })\n ));\n }\n\n function associateExistingTag(tag: Tag): void {\n if (tag.tagType === TagType.Normal && !TagHelper.canAddNormalTag(normalTags)) {\n handleError('maxKeywordTags', { maxKeywordTags: MAX_KEYWORD_TAGS });\n return;\n }\n\n fetchAsync(VideoRequests.associateTag(\n props.videoId,\n tag,\n () => handleSuccess('added', { query: tag.name }),\n () => handleError('failedAdd', { query: tag.name })\n ));\n }\n\n function dissociateExistingTag(tag: Tag): void {\n fetchAsync(VideoRequests.dissociateTag(\n props.videoId,\n tag,\n () => handleSuccess('removed', { query: tag.name }),\n () => handleError('failedRemove', { query: tag.name })\n ));\n }\n \n function onTogglePedagogyTag(tag: Tag): void {\n if (TagHelper.getTagById(pedagogyTags, tag.id)) {\n dissociateExistingTag(tag);\n return;\n }\n\n associateExistingTag(tag);\n }\n \n function onToggleSkillTag(tag: Tag): void {\n if (TagHelper.getTagById(skillTags, tag.id)) {\n dissociateExistingTag(tag);\n return;\n }\n\n associateExistingTag(tag);\n }\n\n function getRemoteUrl(query: string, tagType: TagType): string {\n const localQuery = query.trim();\n\n if (!TagHelper.isValidTagSearch(localQuery))\n return null;\n \n return SearchRequests.searchTags(localQuery, tagType);\n }\n\n const dataLoaded =\n allPedagogyTags.hasCompleted &&\n allSkillTags.hasCompleted &&\n video.hasCompleted &&\n contentPipelineVideo.hasCompleted;\n\n return (\n <>\n {!!currentUser.data && (\n <>\n {props.context === 'live' ? (\n <CvLiveVideoNav\n videoId={props.videoId}\n activeAction={Actions.CvLive.EDIT_VIDEO_TAGS}\n />\n ) : (\n <EditVideoNav\n videoId={props.videoId}\n activeAction={Actions.Videos.EDIT_VIDEO_TAGS}\n currentUser={currentUser.data}\n />\n )}\n </>\n )}\n <ObjectHeader object={video.data} />\n {dataLoaded ? (\n <>\n <TagCloudForm\n type={TagType.Pedagogy}\n onSubmit={onTogglePedagogyTagRequirement}\n allTags={allPedagogyTags.data}\n tags={pedagogyTags}\n onToggleTag={onTogglePedagogyTag}\n heading={getPhrase('pedagogyTags')}\n description={getPhrase('pedagogyDescription')}\n contentPipelineVideo={contentPipelineVideo.data}\n />\n \n <TagCloudForm\n type={TagType.Skill}\n onSubmit={onToggleSkillTagRequirement}\n allTags={allSkillTags.data}\n tags={skillTags}\n onToggleTag={onToggleSkillTag}\n heading={getPhrase('skillTags')}\n description={getPhrase('skillDescription')}\n contentPipelineVideo={contentPipelineVideo.data}\n />\n\n <div className='row'>\n <div className='col-lg-6'>\n <SearchBarWithTagList\n title={getPhrase('keywordTags')}\n placeholder={getPhrase('addTagPlaceholder')}\n onRemove={dissociateExistingTag}\n tagList={normalTags}\n onSuggestionDependencies={[normalTags]}\n onSuggestionSelected={associateExistingTag}\n getRemoteUrl={(query: string) => getRemoteUrl(query, TagType.Normal)}\n formatRemoteSuggestions={(response: SearchResults<Tag>) => removeExistingTags(response)}\n onSubmit={(query: string) => createAndAssociateTag(query, TagType.Normal)}\n />\n </div>\n <div className='col-lg-6'>\n <SearchBarWithTagList\n title={getPhrase('hiddenTags')}\n placeholder={getPhrase('addHiddenTagPlaceholder')}\n onRemove={dissociateExistingTag}\n tagList={hiddenTags}\n onSuggestionDependencies={[hiddenTags]}\n onSuggestionSelected={associateExistingTag}\n getRemoteUrl={(query: string) => getRemoteUrl(query, TagType.Hidden)}\n formatRemoteSuggestions={(response: SearchResults<Tag>) => removeExistingTags(response)}\n onSubmit={(query: string) => createAndAssociateTag(query, TagType.Hidden)}\n />\n </div>\n </div>\n </>\n ) : (\n <div className='text-center p-5'>\n <Spinner as='div' animation='border' role='status' />\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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"}