@clickview/exchange 0.57.0 → 0.58.0-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 (199) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{CczLEc2p.chunk.css → BBuiH5XR.chunk.css} +1 -1
  3. package/dist/en.json +1 -1
  4. package/dist/scripts/{B1IKzVyn.chunk.js → 59HBVVj3.chunk.js} +2 -2
  5. package/dist/scripts/{B1IKzVyn.chunk.js.map → 59HBVVj3.chunk.js.map} +1 -1
  6. package/dist/scripts/{DmL0FSJr.chunk.js → 77QNnWjW.chunk.js} +2 -2
  7. package/dist/scripts/{DmL0FSJr.chunk.js.map → 77QNnWjW.chunk.js.map} +1 -1
  8. package/dist/scripts/{dlcOoTX2.chunk.js → 97GoF_Eh.chunk.js} +2 -2
  9. package/dist/scripts/{dlcOoTX2.chunk.js.map → 97GoF_Eh.chunk.js.map} +1 -1
  10. package/dist/scripts/{DkVa76dg.chunk.js → A03ti58C.chunk.js} +2 -2
  11. package/dist/scripts/{DkVa76dg.chunk.js.map → A03ti58C.chunk.js.map} +1 -1
  12. package/dist/scripts/{DEFuGMsd.chunk.js → B0qPCCXt.chunk.js} +2 -2
  13. package/dist/scripts/{DEFuGMsd.chunk.js.map → B0qPCCXt.chunk.js.map} +1 -1
  14. package/dist/scripts/{CYuWFG4C.chunk.js → B3P1JDvZ.chunk.js} +2 -2
  15. package/dist/scripts/{CYuWFG4C.chunk.js.map → B3P1JDvZ.chunk.js.map} +1 -1
  16. package/dist/scripts/{BKID_sLP.chunk.js → B3hUKuRr.chunk.js} +2 -2
  17. package/dist/scripts/{BKID_sLP.chunk.js.map → B3hUKuRr.chunk.js.map} +1 -1
  18. package/dist/scripts/{CrYQzjgZ.chunk.js → B7sQixjZ.chunk.js} +2 -2
  19. package/dist/scripts/{CrYQzjgZ.chunk.js.map → B7sQixjZ.chunk.js.map} +1 -1
  20. package/dist/scripts/{CQnwddP2.chunk.js → B9q9og3n.chunk.js} +2 -2
  21. package/dist/scripts/{CQnwddP2.chunk.js.map → B9q9og3n.chunk.js.map} +1 -1
  22. package/dist/scripts/{Doc0JWTn.chunk.js → BD8uJxiB.chunk.js} +2 -2
  23. package/dist/scripts/{Doc0JWTn.chunk.js.map → BD8uJxiB.chunk.js.map} +1 -1
  24. package/dist/scripts/{C8Ld-38h.chunk.js → BJaYD8dc.chunk.js} +2 -2
  25. package/dist/scripts/{C8Ld-38h.chunk.js.map → BJaYD8dc.chunk.js.map} +1 -1
  26. package/dist/scripts/{DfLXqnWC.chunk.js → BMTawQoz.chunk.js} +2 -2
  27. package/dist/scripts/{DfLXqnWC.chunk.js.map → BMTawQoz.chunk.js.map} +1 -1
  28. package/dist/scripts/{BWu0k43d.chunk.js → BP-61ONz.chunk.js} +2 -2
  29. package/dist/scripts/{BWu0k43d.chunk.js.map → BP-61ONz.chunk.js.map} +1 -1
  30. package/dist/scripts/{COMMZ5NT.chunk.js → BQiCELUH.chunk.js} +2 -2
  31. package/dist/scripts/{COMMZ5NT.chunk.js.map → BQiCELUH.chunk.js.map} +1 -1
  32. package/dist/scripts/{Dj2iNM2-.chunk.js → BQz8nP4M.chunk.js} +2 -2
  33. package/dist/scripts/{Dj2iNM2-.chunk.js.map → BQz8nP4M.chunk.js.map} +1 -1
  34. package/dist/scripts/{p9Hw1u0F.chunk.js → BSZHRB-3.chunk.js} +2 -2
  35. package/dist/scripts/{p9Hw1u0F.chunk.js.map → BSZHRB-3.chunk.js.map} +1 -1
  36. package/dist/scripts/{Ci21j_NU.chunk.js → BTJwiZTv.chunk.js} +2 -2
  37. package/dist/scripts/{Ci21j_NU.chunk.js.map → BTJwiZTv.chunk.js.map} +1 -1
  38. package/dist/scripts/{CqWuZzIu.chunk.js → BVbJxgV8.chunk.js} +2 -2
  39. package/dist/scripts/{CqWuZzIu.chunk.js.map → BVbJxgV8.chunk.js.map} +1 -1
  40. package/dist/scripts/{aImHyMo0.chunk.js → BX8fMfGC.chunk.js} +2 -2
  41. package/dist/scripts/{aImHyMo0.chunk.js.map → BX8fMfGC.chunk.js.map} +1 -1
  42. package/dist/scripts/{D91xJv6J.chunk.js → BaNAbBYa.chunk.js} +2 -2
  43. package/dist/scripts/{D91xJv6J.chunk.js.map → BaNAbBYa.chunk.js.map} +1 -1
  44. package/dist/scripts/{BImNArot.chunk.js → BazXwFtM.chunk.js} +2 -2
  45. package/dist/scripts/{BImNArot.chunk.js.map → BazXwFtM.chunk.js.map} +1 -1
  46. package/dist/scripts/{e9ZqHdMv.chunk.js → BbGFMokw.chunk.js} +2 -2
  47. package/dist/scripts/{e9ZqHdMv.chunk.js.map → BbGFMokw.chunk.js.map} +1 -1
  48. package/dist/scripts/BfA6QK2M.chunk.js +2 -0
  49. package/dist/scripts/{BnkjQdg-.chunk.js.map → BfA6QK2M.chunk.js.map} +1 -1
  50. package/dist/scripts/{DbB0S2ZQ.chunk.js → BfAoEeOL.chunk.js} +2 -2
  51. package/dist/scripts/{DbB0S2ZQ.chunk.js.map → BfAoEeOL.chunk.js.map} +1 -1
  52. package/dist/scripts/{0Rgjdcqz.chunk.js → BiAKqJdD.chunk.js} +2 -2
  53. package/dist/scripts/{0Rgjdcqz.chunk.js.map → BiAKqJdD.chunk.js.map} +1 -1
  54. package/dist/scripts/{CssHbHjG.chunk.js → BmU_YUbl.chunk.js} +2 -2
  55. package/dist/scripts/{CssHbHjG.chunk.js.map → BmU_YUbl.chunk.js.map} +1 -1
  56. package/dist/scripts/{SmYpiCQA.chunk.js → BuSLCxEs.chunk.js} +2 -2
  57. package/dist/scripts/{SmYpiCQA.chunk.js.map → BuSLCxEs.chunk.js.map} +1 -1
  58. package/dist/scripts/{BZp1TuCa.chunk.js → Bvlv6PGR.chunk.js} +2 -2
  59. package/dist/scripts/{BZp1TuCa.chunk.js.map → Bvlv6PGR.chunk.js.map} +1 -1
  60. package/dist/scripts/{BYXBfLyn.chunk.js → BwS3tIqZ.chunk.js} +2 -2
  61. package/dist/scripts/{BYXBfLyn.chunk.js.map → BwS3tIqZ.chunk.js.map} +1 -1
  62. package/dist/scripts/{S6sUSK4X.chunk.js → ByKnIsJG.chunk.js} +2 -2
  63. package/dist/scripts/{S6sUSK4X.chunk.js.map → ByKnIsJG.chunk.js.map} +1 -1
  64. package/dist/scripts/Bz5fsSmV.chunk.js +15 -0
  65. package/dist/scripts/Bz5fsSmV.chunk.js.map +1 -0
  66. package/dist/scripts/{CXmjzxZL.chunk.js → C06GoFsR.chunk.js} +2 -2
  67. package/dist/scripts/{CXmjzxZL.chunk.js.map → C06GoFsR.chunk.js.map} +1 -1
  68. package/dist/scripts/{CYbmYWz6.chunk.js → C3cp4ax7.chunk.js} +2 -2
  69. package/dist/scripts/{CYbmYWz6.chunk.js.map → C3cp4ax7.chunk.js.map} +1 -1
  70. package/dist/scripts/{BHQ-iEoW.chunk.js → C7giBbHJ.chunk.js} +2 -2
  71. package/dist/scripts/{BHQ-iEoW.chunk.js.map → C7giBbHJ.chunk.js.map} +1 -1
  72. package/dist/scripts/{CWAi8BHf.chunk.js → CEXoa-wM.chunk.js} +2 -2
  73. package/dist/scripts/{CWAi8BHf.chunk.js.map → CEXoa-wM.chunk.js.map} +1 -1
  74. package/dist/scripts/{lO5fmjgI.chunk.js → CKbq02SS.chunk.js} +2 -2
  75. package/dist/scripts/{lO5fmjgI.chunk.js.map → CKbq02SS.chunk.js.map} +1 -1
  76. package/dist/scripts/{CxZxk1HQ.chunk.js → CNVerO1q.chunk.js} +2 -2
  77. package/dist/scripts/{CxZxk1HQ.chunk.js.map → CNVerO1q.chunk.js.map} +1 -1
  78. package/dist/scripts/{5jG1qquw.chunk.js → CNat3TfQ.chunk.js} +2 -2
  79. package/dist/scripts/{5jG1qquw.chunk.js.map → CNat3TfQ.chunk.js.map} +1 -1
  80. package/dist/scripts/{D-lhN8Br.chunk.js → CP5MKWC_.chunk.js} +2 -2
  81. package/dist/scripts/{D-lhN8Br.chunk.js.map → CP5MKWC_.chunk.js.map} +1 -1
  82. package/dist/scripts/{CiOp7PM4.chunk.js → CSvE-r6r.chunk.js} +2 -2
  83. package/dist/scripts/{CiOp7PM4.chunk.js.map → CSvE-r6r.chunk.js.map} +1 -1
  84. package/dist/scripts/{BZhnbXlC.chunk.js → CW4iXW5L.chunk.js} +2 -2
  85. package/dist/scripts/{BZhnbXlC.chunk.js.map → CW4iXW5L.chunk.js.map} +1 -1
  86. package/dist/scripts/{-Xvqr6f_.chunk.js → CWdK_7iP.chunk.js} +2 -2
  87. package/dist/scripts/{-Xvqr6f_.chunk.js.map → CWdK_7iP.chunk.js.map} +1 -1
  88. package/dist/scripts/{jFTHf_UL.chunk.js → CWjXnQlc.chunk.js} +2 -2
  89. package/dist/scripts/{jFTHf_UL.chunk.js.map → CWjXnQlc.chunk.js.map} +1 -1
  90. package/dist/scripts/{BwuTkpPz.chunk.js → CXEroOnb.chunk.js} +2 -2
  91. package/dist/scripts/{BwuTkpPz.chunk.js.map → CXEroOnb.chunk.js.map} +1 -1
  92. package/dist/scripts/{DMu9QirA.chunk.js → C_KOP_pH.chunk.js} +2 -2
  93. package/dist/scripts/{DMu9QirA.chunk.js.map → C_KOP_pH.chunk.js.map} +1 -1
  94. package/dist/scripts/CbqPW1QD.chunk.js +2 -0
  95. package/dist/scripts/{COkVtt29.chunk.js.map → CbqPW1QD.chunk.js.map} +1 -1
  96. package/dist/scripts/{BI2RzMBo.chunk.js → CelK9zYh.chunk.js} +2 -2
  97. package/dist/scripts/{BI2RzMBo.chunk.js.map → CelK9zYh.chunk.js.map} +1 -1
  98. package/dist/scripts/{DsAzRbUN.chunk.js → Cj7-nmDw.chunk.js} +2 -2
  99. package/dist/scripts/{DsAzRbUN.chunk.js.map → Cj7-nmDw.chunk.js.map} +1 -1
  100. package/dist/scripts/{CoZqjJhl.chunk.js → CkXDJSIC.chunk.js} +2 -2
  101. package/dist/scripts/{CoZqjJhl.chunk.js.map → CkXDJSIC.chunk.js.map} +1 -1
  102. package/dist/scripts/CmKuC0AJ.chunk.js +2 -0
  103. package/dist/scripts/CmKuC0AJ.chunk.js.map +1 -0
  104. package/dist/scripts/CmQwEhN8.chunk.js +2 -0
  105. package/dist/scripts/{DX5d-qLN.chunk.js.map → CmQwEhN8.chunk.js.map} +1 -1
  106. package/dist/scripts/{CKE8GGKH.chunk.js → CsI_aEby.chunk.js} +2 -2
  107. package/dist/scripts/{CKE8GGKH.chunk.js.map → CsI_aEby.chunk.js.map} +1 -1
  108. package/dist/scripts/{B9372wBc.chunk.js → CtbOxRCF.chunk.js} +2 -2
  109. package/dist/scripts/{B9372wBc.chunk.js.map → CtbOxRCF.chunk.js.map} +1 -1
  110. package/dist/scripts/{Ux2KpCQK.chunk.js → CxNf401G.chunk.js} +2 -2
  111. package/dist/scripts/{Ux2KpCQK.chunk.js.map → CxNf401G.chunk.js.map} +1 -1
  112. package/dist/scripts/{CeNx5Kzz.chunk.js → Cxg7zIQ7.chunk.js} +2 -2
  113. package/dist/scripts/{CeNx5Kzz.chunk.js.map → Cxg7zIQ7.chunk.js.map} +1 -1
  114. package/dist/scripts/{WuuAAnHZ.chunk.js → CyTjm-iy.chunk.js} +2 -2
  115. package/dist/scripts/{WuuAAnHZ.chunk.js.map → CyTjm-iy.chunk.js.map} +1 -1
  116. package/dist/scripts/{CfiDZ6LP.chunk.js → D-XHMtrK.chunk.js} +2 -2
  117. package/dist/scripts/{CfiDZ6LP.chunk.js.map → D-XHMtrK.chunk.js.map} +1 -1
  118. package/dist/scripts/{Dur2ee5n.chunk.js → D0Kez51H.chunk.js} +2 -2
  119. package/dist/scripts/{Dur2ee5n.chunk.js.map → D0Kez51H.chunk.js.map} +1 -1
  120. package/dist/scripts/{DUWvwOTa.chunk.js → D1O5BdYP.chunk.js} +2 -2
  121. package/dist/scripts/{DUWvwOTa.chunk.js.map → D1O5BdYP.chunk.js.map} +1 -1
  122. package/dist/scripts/{OZVJyZgM.chunk.js → D8QwkaNv.chunk.js} +2 -2
  123. package/dist/scripts/{OZVJyZgM.chunk.js.map → D8QwkaNv.chunk.js.map} +1 -1
  124. package/dist/scripts/{DvbFBcOQ.chunk.js → DDCwFNmm.chunk.js} +2 -2
  125. package/dist/scripts/{DvbFBcOQ.chunk.js.map → DDCwFNmm.chunk.js.map} +1 -1
  126. package/dist/scripts/{Cog61quf.chunk.js → DGdFdv74.chunk.js} +2 -2
  127. package/dist/scripts/{Cog61quf.chunk.js.map → DGdFdv74.chunk.js.map} +1 -1
  128. package/dist/scripts/DHQlkDUq.chunk.js +2 -0
  129. package/dist/scripts/{D0w9N-3T.chunk.js.map → DHQlkDUq.chunk.js.map} +1 -1
  130. package/dist/scripts/{D1o0K4Kj.chunk.js → DIzcUtXf.chunk.js} +2 -2
  131. package/dist/scripts/{D1o0K4Kj.chunk.js.map → DIzcUtXf.chunk.js.map} +1 -1
  132. package/dist/scripts/{BYq9jK40.chunk.js → DLqmmsup.chunk.js} +2 -2
  133. package/dist/scripts/{BYq9jK40.chunk.js.map → DLqmmsup.chunk.js.map} +1 -1
  134. package/dist/scripts/DOH54KcJ.chunk.js +2 -0
  135. package/dist/scripts/DOH54KcJ.chunk.js.map +1 -0
  136. package/dist/scripts/{CMUKx3aO.chunk.js → DQz3vFm9.chunk.js} +2 -2
  137. package/dist/scripts/{CMUKx3aO.chunk.js.map → DQz3vFm9.chunk.js.map} +1 -1
  138. package/dist/scripts/{BHC43d8p.chunk.js → DSuqoCKU.chunk.js} +2 -2
  139. package/dist/scripts/{BHC43d8p.chunk.js.map → DSuqoCKU.chunk.js.map} +1 -1
  140. package/dist/scripts/{Bj4aS_x2.chunk.js → DVgGpvRr.chunk.js} +2 -2
  141. package/dist/scripts/{Bj4aS_x2.chunk.js.map → DVgGpvRr.chunk.js.map} +1 -1
  142. package/dist/scripts/{j26kM5AB.chunk.js → DVqb0KMG.chunk.js} +2 -2
  143. package/dist/scripts/{j26kM5AB.chunk.js.map → DVqb0KMG.chunk.js.map} +1 -1
  144. package/dist/scripts/D_K0UgSq.chunk.js +2 -0
  145. package/dist/scripts/{DWYleim7.chunk.js.map → D_K0UgSq.chunk.js.map} +1 -1
  146. package/dist/scripts/{4r-SFWRv.chunk.js → DbQN84Ka.chunk.js} +2 -2
  147. package/dist/scripts/{4r-SFWRv.chunk.js.map → DbQN84Ka.chunk.js.map} +1 -1
  148. package/dist/scripts/{CqdCH0OC.chunk.js → DgCvHCTv.chunk.js} +2 -2
  149. package/dist/scripts/{CqdCH0OC.chunk.js.map → DgCvHCTv.chunk.js.map} +1 -1
  150. package/dist/scripts/{DZ9Qr412.chunk.js → DhiXbhAO.chunk.js} +2 -2
  151. package/dist/scripts/{DZ9Qr412.chunk.js.map → DhiXbhAO.chunk.js.map} +1 -1
  152. package/dist/scripts/{DbIiwJi6.chunk.js → DvMJBGNc.chunk.js} +2 -2
  153. package/dist/scripts/{DbIiwJi6.chunk.js.map → DvMJBGNc.chunk.js.map} +1 -1
  154. package/dist/scripts/{DQP0C036.chunk.js → DxppYmgw.chunk.js} +2 -2
  155. package/dist/scripts/{DQP0C036.chunk.js.map → DxppYmgw.chunk.js.map} +1 -1
  156. package/dist/scripts/{DlvPyEMc.chunk.js → DzTRfLQn.chunk.js} +2 -2
  157. package/dist/scripts/{DlvPyEMc.chunk.js.map → DzTRfLQn.chunk.js.map} +1 -1
  158. package/dist/scripts/EOyUW0EV.chunk.js +2 -0
  159. package/dist/scripts/{B6wIglzt.chunk.js.map → EOyUW0EV.chunk.js.map} +1 -1
  160. package/dist/scripts/{Dkw1yxVb.chunk.js → Ft5Mau7n.chunk.js} +2 -2
  161. package/dist/scripts/{Dkw1yxVb.chunk.js.map → Ft5Mau7n.chunk.js.map} +1 -1
  162. package/dist/scripts/{EypiXS_y.chunk.js → GIZO-DsR.chunk.js} +2 -2
  163. package/dist/scripts/{EypiXS_y.chunk.js.map → GIZO-DsR.chunk.js.map} +1 -1
  164. package/dist/scripts/{C-LZ1Pnr.chunk.js → PEkZnijT.chunk.js} +2 -2
  165. package/dist/scripts/{C-LZ1Pnr.chunk.js.map → PEkZnijT.chunk.js.map} +1 -1
  166. package/dist/scripts/{FwSaxfbL.chunk.js → YhHoI_hl.chunk.js} +3 -3
  167. package/dist/scripts/{FwSaxfbL.chunk.js.map → YhHoI_hl.chunk.js.map} +1 -1
  168. package/dist/scripts/{app-eQ6keCVj.js → app-DlxnnX-Y.js} +5 -5
  169. package/dist/scripts/{app-eQ6keCVj.js.map → app-DlxnnX-Y.js.map} +1 -1
  170. package/dist/scripts/{CBYrUSmz.chunk.js → eF4foLm3.chunk.js} +2 -2
  171. package/dist/scripts/{CBYrUSmz.chunk.js.map → eF4foLm3.chunk.js.map} +1 -1
  172. package/dist/scripts/{D4uscADt.chunk.js → faET_EvS.chunk.js} +2 -2
  173. package/dist/scripts/{D4uscADt.chunk.js.map → faET_EvS.chunk.js.map} +1 -1
  174. package/dist/scripts/{CtsGHZp3.chunk.js → i36I5rgn.chunk.js} +2 -2
  175. package/dist/scripts/{CtsGHZp3.chunk.js.map → i36I5rgn.chunk.js.map} +1 -1
  176. package/dist/scripts/i6PC1lEa.chunk.js +2 -0
  177. package/dist/scripts/{D8bdW5jN.chunk.js.map → i6PC1lEa.chunk.js.map} +1 -1
  178. package/dist/scripts/{BYTm1HdJ.chunk.js → mMvgsH8u.chunk.js} +2 -2
  179. package/dist/scripts/{BYTm1HdJ.chunk.js.map → mMvgsH8u.chunk.js.map} +1 -1
  180. package/dist/scripts/{1JtZW3TW.chunk.js → nzWgRE-N.chunk.js} +2 -2
  181. package/dist/scripts/{1JtZW3TW.chunk.js.map → nzWgRE-N.chunk.js.map} +1 -1
  182. package/dist/scripts/{DqYjDOWl.chunk.js → uFAznmkx.chunk.js} +2 -2
  183. package/dist/scripts/{DqYjDOWl.chunk.js.map → uFAznmkx.chunk.js.map} +1 -1
  184. package/dist/scripts/{zFY--sWD.chunk.js → wC1U3zaB.chunk.js} +2 -2
  185. package/dist/scripts/{zFY--sWD.chunk.js.map → wC1U3zaB.chunk.js.map} +1 -1
  186. package/package.json +1 -1
  187. package/dist/scripts/B6wIglzt.chunk.js +0 -2
  188. package/dist/scripts/BnkjQdg-.chunk.js +0 -2
  189. package/dist/scripts/ByM31Op_.chunk.js +0 -2
  190. package/dist/scripts/ByM31Op_.chunk.js.map +0 -1
  191. package/dist/scripts/COkVtt29.chunk.js +0 -2
  192. package/dist/scripts/D0w9N-3T.chunk.js +0 -2
  193. package/dist/scripts/D8bdW5jN.chunk.js +0 -2
  194. package/dist/scripts/DWYleim7.chunk.js +0 -2
  195. package/dist/scripts/DX5d-qLN.chunk.js +0 -2
  196. package/dist/scripts/DoJDzZ7U.chunk.js +0 -15
  197. package/dist/scripts/DoJDzZ7U.chunk.js.map +0 -1
  198. package/dist/scripts/k5oLm6N7.chunk.js +0 -2
  199. package/dist/scripts/k5oLm6N7.chunk.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Ci21j_NU.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
1
+ {"version":3,"file":"BTJwiZTv.chunk.js","sources":["../../../../libs/shared/src/hooks/UseIsComponentMounted.ts","../../../../libs/shared/src/hooks/UseHover.ts"],"sourcesContent":["import React from 'react';\n\nexport const useIsComponentMounted = () => {\n const isMounted = React.useRef(true);\n\n React.useEffect(() => {\n return () => { isMounted.current = false; };\n }, []);\n\n return isMounted;\n};","import * as React from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { useIsComponentMounted } from 'libs/shared/hooks/UseIsComponentMounted';\n\nconst DEFAULT_HOVER_DELAY = 275;\nconst MOUSE_MOVE_THRESHOLD = 5; // value is in pixels\n\ninterface HoverOptions {\n /**\n * Classes to be applied to the target element on hover. Useful if you want to style the element on hover\n * after a delay (controlled by the `timeout` option below)\n */\n className?: string;\n\n /**\n * Style attribute to be applied to the target element on hover. Should only be used \n */\n style?: HashObject;\n\n /**\n * A delay between when the user actually hovers on the element, and when the hook returns `true` for `isHovering`.\n * This can be used to determine whether a user has actually intended for a hover event on an element to be\n * triggered or not. Defaults to 0.\n */\n delay?: number;\n}\n\nconst defaultOptions: HoverOptions = {\n className: '',\n delay: 0,\n style: null\n};\n\ninterface MousePosition {\n screenX: number;\n screenY: number;\n}\n\nconst defaultHoverState: MousePosition = {\n screenX: 0,\n screenY: 0\n};\n\nfunction setHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.add(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = options.style[styleName];\n });\n }\n}\n\nfunction unSetHoveringStyles<T extends HTMLElement>(\n ref: React.MutableRefObject<T>,\n options: HoverOptions\n): void {\n if (!ref.current)\n return;\n\n if (options.className)\n ref.current.classList?.remove(options.className);\n\n if (options.style) {\n Object.keys(options.style).forEach((styleName: any) => {\n ref.current.style[styleName] = null;\n });\n }\n}\n\nfunction hasMouseMoved(prev: MousePosition, current: MousePosition): boolean {\n return Math.abs(prev.screenX - current.screenX) > MOUSE_MOVE_THRESHOLD ||\n Math.abs(prev.screenY - current.screenY) > MOUSE_MOVE_THRESHOLD;\n}\n\n/**\n * This hook detects hover events on an element.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the delay regardless of pointer movement within the container, if you want\n * it to trigger only after the pointer has stopped moving, consider the `useHoverIntent` hook.\n */\nexport function useHover<T extends HTMLElement>(\n options: HoverOptions = defaultOptions\n): [ React.MutableRefObject<T>, boolean ] {\n const isMounted = useIsComponentMounted();\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n const ref = React.useRef<T>(null);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n const triggerHover = FunctionHelper.throttle(() => {\n setHoveringStyles(ref, cachedOptions);\n if (isMounted.current)\n setIsHovering(true);\n }, cachedOptions.delay, { leading: false });\n\n const handleMouseOut = () => {\n if (FunctionHelper.isFunction(triggerHover.cancel))\n triggerHover.cancel();\n\n unSetHoveringStyles(ref, cachedOptions);\n\n if (isMounted.current)\n setIsHovering(false);\n };\n\n React.useLayoutEffect(() => {\n const node = ref.current;\n\n if (node) {\n node.addEventListener('mouseenter', triggerHover);\n node.addEventListener('mouseleave', handleMouseOut);\n\n return () => {\n node.removeEventListener('mouseenter', triggerHover);\n node.removeEventListener('mouseleave', handleMouseOut);\n };\n }\n }, [ ref.current, cachedOptions ]);\n\n return [ ref, isHovering ];\n}\n\n\n/**\n * This hook detects hover events on an element with intent.\n * This should only be used where CSS hover events won't suffice for what you are trying to achieve.\n * It will trigger after the pointer has stopped moving and the delay has elapsed, if you want it to trigger\n * regardless of pointer movement within the container, consider the `useHover` hook`.\n */\nexport function useHoverIntent<T extends HTMLElement>(options: HoverOptions): [ React.MutableRefObject<T>, boolean ] {\n const [ cachedOptions, setCachedOptions ] = React.useState(options);\n\n /**\n * Using refs for frequently updated state in order to not trigger react rendering\n */\n const mousePosition = React.useRef<MousePosition>({ ...defaultHoverState });\n const isInside = React.useRef<boolean>(false);\n const timeout = React.useRef<number>(0);\n\n const ref = React.useRef<T>(null);\n const [ isHovering, setIsHovering ] = React.useState(false);\n\n React.useEffect(() => {\n if (ObjectHelper.isEqual(options, cachedOptions))\n return;\n\n setCachedOptions(options);\n }, [options]);\n\n function localClearTimeout(): void {\n if (!timeout.current)\n return;\n\n window.clearTimeout(timeout.current);\n timeout.current = 0;\n }\n\n function localSetTimeout(fn: () => void, delay: number): void {\n if (timeout.current)\n return;\n\n timeout.current = window.setTimeout(fn, delay);\n }\n\n function onMouseEnter(): void {\n isInside.current = true;\n }\n\n function onMouseMove(event: MouseEvent): void {\n if (!isInside.current)\n return;\n\n const prev = { ...mousePosition.current };\n mousePosition.current.screenX = event.screenX;\n mousePosition.current.screenY = event.screenY;\n\n if (hasMouseMoved(prev, event))\n localClearTimeout();\n \n localSetTimeout(() => {\n setHoveringStyles(ref, cachedOptions);\n setIsHovering(true);\n }, cachedOptions.delay || DEFAULT_HOVER_DELAY);\n }\n\n function onMouseLeave(): void {\n localClearTimeout();\n unSetHoveringStyles(ref, cachedOptions);\n isInside.current = false;\n setIsHovering(false);\n }\n\n React.useLayoutEffect(() => {\n if (!ref.current)\n return;\n\n const throttledMouseMove = FunctionHelper.throttle(onMouseMove, 25, { leading: false });\n ref.current.addEventListener('mouseenter', onMouseEnter);\n ref.current.addEventListener('mousemove', throttledMouseMove);\n ref.current.addEventListener('mouseleave', onMouseLeave);\n \n return () => {\n if (!ref.current)\n return;\n ref.current.removeEventListener('mouseenter', onMouseEnter);\n ref.current.removeEventListener('mousemove', throttledMouseMove);\n ref.current.removeEventListener('mouseleave', onMouseLeave);\n };\n }, [ ref.current, cachedOptions ]);\n \n return [ ref, isHovering ];\n}"],"names":["useIsComponentMounted","isMounted","React","DEFAULT_HOVER_DELAY","MOUSE_MOVE_THRESHOLD","defaultOptions","defaultHoverState","setHoveringStyles","ref","options","_a","styleName","unSetHoveringStyles","hasMouseMoved","prev","current","useHover","cachedOptions","setCachedOptions","React.useState","isHovering","setIsHovering","React.useRef","React.useEffect","ObjectHelper","triggerHover","FunctionHelper","handleMouseOut","React.useLayoutEffect","node","useHoverIntent","mousePosition","isInside","timeout","localClearTimeout","localSetTimeout","fn","delay","onMouseEnter","onMouseMove","event","onMouseLeave","throttledMouseMove"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as r,G as c}from"./app-eQ6keCVj.js";const o=["banner","cover","thumbnail","tallPoster","icon"],l={applyThemeAssets(e){return Array.isArray(e)?e.map(l.applyThemeToClassification):Array.isArray(e==null?void 0:e.data)?{...e,data:e.data.map(l.applyThemeToClassification)}:l.applyThemeToClassification(e)},applyThemeToClassification(e){var s;const i=(s=e._theme)==null?void 0:s.value;if(!i)return e;const t={};for(const n of o)i[n]&&(t[n]=i[n]);return{...e,...t}}};function v(e){return r.jsx("svg",{...e,children:r.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}const m="_circle_15nxd_1",u="_img_15nxd_6",a={circle:m,img:u};g.defaultProps={textVariant:"white"};function g(e){return!e.imageUrl&&!e.svg?r.jsx(r.Fragment,{}):e.imageUrl?r.jsx("div",{className:`${a.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):r.jsx("div",{className:`${a.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:r.jsx(c,{svg:e.svg,size:e.svgSize})})}export{v as C,g as I,l as T};
2
- //# sourceMappingURL=CqWuZzIu.chunk.js.map
1
+ import{j as r,G as c}from"./app-DlxnnX-Y.js";const o=["banner","cover","thumbnail","tallPoster","icon"],l={applyThemeAssets(e){return Array.isArray(e)?e.map(l.applyThemeToClassification):Array.isArray(e==null?void 0:e.data)?{...e,data:e.data.map(l.applyThemeToClassification)}:l.applyThemeToClassification(e)},applyThemeToClassification(e){var s;const i=(s=e._theme)==null?void 0:s.value;if(!i)return e;const t={};for(const n of o)i[n]&&(t[n]=i[n]);return{...e,...t}}};function v(e){return r.jsx("svg",{...e,children:r.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z",clipRule:"evenodd"})})}const m="_circle_15nxd_1",u="_img_15nxd_6",a={circle:m,img:u};g.defaultProps={textVariant:"white"};function g(e){return!e.imageUrl&&!e.svg?r.jsx(r.Fragment,{}):e.imageUrl?r.jsx("div",{className:`${a.img} rounded-circle h-100 w-100`,style:{backgroundImage:`url(${e.imageUrl})`},children:" "}):r.jsx("div",{className:`${a.circle} ${e.variant?`bg-${e.variant}`:""} text-${e.textVariant} rounded-circle h-100 w-100 ${e.svgWrapperClassName??""}`,children:r.jsx(c,{svg:e.svg,size:e.svgSize})})}export{v as C,g as I,l as T};
2
+ //# sourceMappingURL=BVbJxgV8.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CqWuZzIu.chunk.js","sources":["../../../../libs/shared/src/utils/ThemeAssetHelper.ts","../../../../libs/shared/src/images/svg/status/CheckSvg.tsx","../../../../libs/shared/src/components/icon-circle/IconCircle.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\n\nconst THEME_ASSET_KEYS = [ 'banner', 'cover', 'thumbnail', 'tallPoster', 'icon' ] as const;\n\nexport const ThemeAssetHelper = {\n applyThemeAssets<T extends HashObject>(data: T): T {\n if (Array.isArray(data)) {\n return data.map(ThemeAssetHelper.applyThemeToClassification) as unknown as T;\n }\n\n if (Array.isArray(data?.data)) {\n return { ...data, data: data.data.map(ThemeAssetHelper.applyThemeToClassification) };\n }\n\n return ThemeAssetHelper.applyThemeToClassification(data) as T;\n },\n\n applyThemeToClassification(classification: HashObject): HashObject {\n const themeValue = classification._theme?.value;\n if (!themeValue) return classification;\n\n const overrides: HashObject = {};\n for (const key of THEME_ASSET_KEYS) {\n if (themeValue[key]) {\n overrides[key] = themeValue[key];\n }\n }\n\n return { ...classification, ...overrides };\n }\n};","import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n &nbsp;\n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}"],"names":["THEME_ASSET_KEYS","ThemeAssetHelper","data","classification","themeValue","_a","overrides","key","CheckSvg","props","jsx","IconCircle","Fragment","styles","SvgContainer"],"mappings":"6CAEA,MAAMA,EAAmB,CAAE,SAAU,QAAS,YAAa,aAAc,MAAO,EAEnEC,EAAmB,CAC9B,iBAAuCC,EAAY,CACjD,OAAI,MAAM,QAAQA,CAAI,EACbA,EAAK,IAAID,EAAiB,0BAA0B,EAGzD,MAAM,QAAQC,GAAA,YAAAA,EAAM,IAAI,EACnB,CAAE,GAAGA,EAAM,KAAMA,EAAK,KAAK,IAAID,EAAiB,0BAA0B,CAAA,EAG5EA,EAAiB,2BAA2BC,CAAI,CACzD,EAEA,2BAA2BC,EAAwC,OACjE,MAAMC,GAAaC,EAAAF,EAAe,SAAf,YAAAE,EAAuB,MAC1C,GAAI,CAACD,EAAY,OAAOD,EAExB,MAAMG,EAAwB,CAAA,EAC9B,UAAWC,KAAOP,EACZI,EAAWG,CAAG,IAChBD,EAAUC,CAAG,EAAIH,EAAWG,CAAG,GAInC,MAAO,CAAE,GAAGJ,EAAgB,GAAGG,CAAA,CACjC,CACF,EC5BO,SAASE,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ,+DCIAC,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWF,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAE,EAAAA,SAAA,EAAE,EAEPH,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOJ,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,MAAM,IAAIJ,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACI,EAAA,CAAa,IAAKL,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ"}
1
+ {"version":3,"file":"BVbJxgV8.chunk.js","sources":["../../../../libs/shared/src/utils/ThemeAssetHelper.ts","../../../../libs/shared/src/images/svg/status/CheckSvg.tsx","../../../../libs/shared/src/components/icon-circle/IconCircle.tsx"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\n\nconst THEME_ASSET_KEYS = [ 'banner', 'cover', 'thumbnail', 'tallPoster', 'icon' ] as const;\n\nexport const ThemeAssetHelper = {\n applyThemeAssets<T extends HashObject>(data: T): T {\n if (Array.isArray(data)) {\n return data.map(ThemeAssetHelper.applyThemeToClassification) as unknown as T;\n }\n\n if (Array.isArray(data?.data)) {\n return { ...data, data: data.data.map(ThemeAssetHelper.applyThemeToClassification) };\n }\n\n return ThemeAssetHelper.applyThemeToClassification(data) as T;\n },\n\n applyThemeToClassification(classification: HashObject): HashObject {\n const themeValue = classification._theme?.value;\n if (!themeValue) return classification;\n\n const overrides: HashObject = {};\n for (const key of THEME_ASSET_KEYS) {\n if (themeValue[key]) {\n overrides[key] = themeValue[key];\n }\n }\n\n return { ...classification, ...overrides };\n }\n};","import React from 'react';\n\nexport function CheckSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M16.247 7.341a1 1 0 0 1 1.506 1.318l-7 8a1 1 0 0 1-1.46.048l-3-3a1 1 0 1 1 1.414-1.414l2.244 2.244z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { ButtonProps } from 'react-bootstrap';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgIcon } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './icon-circle.module.scss';\n\ninterface IconCircleProps {\n svg?: SvgIcon;\n imageUrl?: string;\n svgSize?: SvgContainerSize;\n variant?: ButtonProps['variant'];\n textVariant?: ButtonProps['variant'];\n svgWrapperClassName?: string;\n}\n\nIconCircle.defaultProps = {\n textVariant: 'white'\n};\n\nexport function IconCircle(props: IconCircleProps): JSX.Element {\n if (!props.imageUrl && !props.svg)\n return <></>;\n\n if (props.imageUrl) {\n return (\n <div className={`${styles.img} rounded-circle h-100 w-100`} style={{ backgroundImage: `url(${props.imageUrl})` }}>\n &nbsp;\n </div>\n );\n }\n\n return (\n <div className={`${styles.circle} ${props.variant ? `bg-${props.variant}` : ''} text-${props.textVariant} rounded-circle h-100 w-100 ${props.svgWrapperClassName ?? ''}`}>\n <SvgContainer svg={props.svg} size={props.svgSize} />\n </div>\n );\n}"],"names":["THEME_ASSET_KEYS","ThemeAssetHelper","data","classification","themeValue","_a","overrides","key","CheckSvg","props","jsx","IconCircle","Fragment","styles","SvgContainer"],"mappings":"6CAEA,MAAMA,EAAmB,CAAE,SAAU,QAAS,YAAa,aAAc,MAAO,EAEnEC,EAAmB,CAC9B,iBAAuCC,EAAY,CACjD,OAAI,MAAM,QAAQA,CAAI,EACbA,EAAK,IAAID,EAAiB,0BAA0B,EAGzD,MAAM,QAAQC,GAAA,YAAAA,EAAM,IAAI,EACnB,CAAE,GAAGA,EAAM,KAAMA,EAAK,KAAK,IAAID,EAAiB,0BAA0B,CAAA,EAG5EA,EAAiB,2BAA2BC,CAAI,CACzD,EAEA,2BAA2BC,EAAwC,OACjE,MAAMC,GAAaC,EAAAF,EAAe,SAAf,YAAAE,EAAuB,MAC1C,GAAI,CAACD,EAAY,OAAOD,EAExB,MAAMG,EAAwB,CAAA,EAC9B,UAAWC,KAAOP,EACZI,EAAWG,CAAG,IAChBD,EAAUC,CAAG,EAAIH,EAAWG,CAAG,GAInC,MAAO,CAAE,GAAGJ,EAAgB,GAAGG,CAAA,CACjC,CACF,EC5BO,SAASE,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,SAAS,UACT,EAAE,sGACF,SAAS,SAAA,CAAA,EAEb,CAEJ,+DCIAC,EAAW,aAAe,CACxB,YAAa,OACf,EAEO,SAASA,EAAWF,EAAqC,CAC9D,MAAI,CAACA,EAAM,UAAY,CAACA,EAAM,IACrBC,EAAAA,IAAAE,EAAAA,SAAA,EAAE,EAEPH,EAAM,SAENC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,GAAG,8BAA+B,MAAO,CAAE,gBAAiB,OAAOJ,EAAM,QAAQ,GAAA,EAAO,SAAA,IAElH,EAKFC,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGG,EAAO,MAAM,IAAIJ,EAAM,QAAU,MAAMA,EAAM,OAAO,GAAK,EAAE,SAASA,EAAM,WAAW,+BAA+BA,EAAM,qBAAuB,EAAE,GACpK,SAAAC,MAACI,EAAA,CAAa,IAAKL,EAAM,IAAK,KAAMA,EAAM,QAAS,EACrD,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{aB as t}from"./app-eQ6keCVj.js";const i={"AUS Eastern Standard Time":"Australia/Sydney","W. Australia Standard Time":"Australia/Perth","E. Australia Standard Time":"Australia/Brisbane","Cen. Australia Standard Time":"Australia/Adelaide","New Zealand Standard Time":"Pacific/Auckland","GMT Standard Time":"Europe/London"};function d(a,e){return t.getUtcTimeByTimezone(a,"YYYY-MM-DDTHH:mm:ss",i[e])}export{d as t};
2
- //# sourceMappingURL=aImHyMo0.chunk.js.map
1
+ import{aB as t}from"./app-DlxnnX-Y.js";const i={"AUS Eastern Standard Time":"Australia/Sydney","W. Australia Standard Time":"Australia/Perth","E. Australia Standard Time":"Australia/Brisbane","Cen. Australia Standard Time":"Australia/Adelaide","New Zealand Standard Time":"Pacific/Auckland","GMT Standard Time":"Europe/London"};function d(a,e){return t.getUtcTimeByTimezone(a,"YYYY-MM-DDTHH:mm:ss",i[e])}export{d as t};
2
+ //# sourceMappingURL=BX8fMfGC.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aImHyMo0.chunk.js","sources":["../../src/apps/tv/utils/toLocalTime.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\n/**\n * A fully fleshed out Windows to IANA mapping library\n * can be absolutely huge, so instead we're just taking the \n * windows timezones that we know our system can have\n * and are mapping them ourselves here.\n */\nconst WINDOWS_TO_IANA: HashObject = {\n 'AUS Eastern Standard Time': 'Australia/Sydney',\n 'W. Australia Standard Time': 'Australia/Perth',\n 'E. Australia Standard Time': 'Australia/Brisbane',\n 'Cen. Australia Standard Time': 'Australia/Adelaide',\n 'New Zealand Standard Time': 'Pacific/Auckland',\n 'GMT Standard Time': 'Europe/London'\n};\n\n/**\n * When we replace moment with dayjs, we're going to have to import the timezone plugin for dayjs\n * https://day.js.org/docs/en/plugin/timezone\n * in order to support time conversion here - Sha\n */\nexport function toLocalTime(time: string | Date, timezone: string): string {\n /**\n * If for whatever reason we hit a timezone that we don't have a mapping for,\n * just use UTC. This is less than ideal, but any mapping library for mapping\n * windows to IANA times is about 1mb in size - Sha\n */\n const localTime = DateHelper.getUtcTimeByTimezone(time, 'YYYY-MM-DDTHH:mm:ss', WINDOWS_TO_IANA[timezone]);\n \n return localTime;\n}"],"names":["WINDOWS_TO_IANA","toLocalTime","time","timezone","DateHelper"],"mappings":"uCASA,MAAMA,EAA8B,CAClC,4BAA6B,mBAC7B,6BAA8B,kBAC9B,6BAA8B,qBAC9B,+BAAgC,qBAChC,4BAA6B,mBAC7B,oBAAqB,eACvB,EAOO,SAASC,EAAYC,EAAqBC,EAA0B,CAQzE,OAFkBC,EAAW,qBAAqBF,EAAM,sBAAuBF,EAAgBG,CAAQ,CAAC,CAG1G"}
1
+ {"version":3,"file":"BX8fMfGC.chunk.js","sources":["../../src/apps/tv/utils/toLocalTime.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\n/**\n * A fully fleshed out Windows to IANA mapping library\n * can be absolutely huge, so instead we're just taking the \n * windows timezones that we know our system can have\n * and are mapping them ourselves here.\n */\nconst WINDOWS_TO_IANA: HashObject = {\n 'AUS Eastern Standard Time': 'Australia/Sydney',\n 'W. Australia Standard Time': 'Australia/Perth',\n 'E. Australia Standard Time': 'Australia/Brisbane',\n 'Cen. Australia Standard Time': 'Australia/Adelaide',\n 'New Zealand Standard Time': 'Pacific/Auckland',\n 'GMT Standard Time': 'Europe/London'\n};\n\n/**\n * When we replace moment with dayjs, we're going to have to import the timezone plugin for dayjs\n * https://day.js.org/docs/en/plugin/timezone\n * in order to support time conversion here - Sha\n */\nexport function toLocalTime(time: string | Date, timezone: string): string {\n /**\n * If for whatever reason we hit a timezone that we don't have a mapping for,\n * just use UTC. This is less than ideal, but any mapping library for mapping\n * windows to IANA times is about 1mb in size - Sha\n */\n const localTime = DateHelper.getUtcTimeByTimezone(time, 'YYYY-MM-DDTHH:mm:ss', WINDOWS_TO_IANA[timezone]);\n \n return localTime;\n}"],"names":["WINDOWS_TO_IANA","toLocalTime","time","timezone","DateHelper"],"mappings":"uCASA,MAAMA,EAA8B,CAClC,4BAA6B,mBAC7B,6BAA8B,kBAC9B,6BAA8B,qBAC9B,+BAAgC,qBAChC,4BAA6B,mBAC7B,oBAAqB,eACvB,EAOO,SAASC,EAAYC,EAAqBC,EAA0B,CAQzE,OAFkBC,EAAW,qBAAqBF,EAAM,sBAAuBF,EAAgBG,CAAQ,CAAC,CAG1G"}
@@ -1,2 +1,2 @@
1
- import{bN as g,L as t,q as o,aT as a,bO as c,bP as f}from"./app-eQ6keCVj.js";const i="shared.privateResourceError";class u extends g{constructor(){super(t.getPhrase(i,"title"))}get name(){return"PrivateResourceError"}get heading(){return t.getPhrase(i,"heading")}get description(){return t.getPhrase(i,"description")}}const d="shared.regionLockedResourceError";class p extends g{constructor(){super(t.getPhrase(d,"title"))}get name(){return"RegionLockedResourceError"}get heading(){return t.getPhrase(d,"heading")}get description(){return t.getPhrase(d,"description")}}const E={notFound:f,forbidden:{rating:u,yearLevel:u,region:p,privacy:u},badRequest:c,internalServerError:c};function b(e,h={},n={}){if(!e)return;let r;typeof e=="number"?r=e:r=e.status;const s={...E,...h};if(r&&o.isStatusCodeError(r)){if(r===a.InternalServer){n.internalServerError||o.throw(new c);return}if(r===a.NotFound){n.notFound||o.throw(new s.notFound);return}if(r===a.Forbidden){n.forbidden||o.throw(new s.forbidden.privacy);return}n.badRequest||o.throw(new s.badRequest)}}export{b as h};
2
- //# sourceMappingURL=D91xJv6J.chunk.js.map
1
+ import{bN as g,L as t,q as o,aT as a,bO as c,bP as f}from"./app-DlxnnX-Y.js";const i="shared.privateResourceError";class u extends g{constructor(){super(t.getPhrase(i,"title"))}get name(){return"PrivateResourceError"}get heading(){return t.getPhrase(i,"heading")}get description(){return t.getPhrase(i,"description")}}const d="shared.regionLockedResourceError";class p extends g{constructor(){super(t.getPhrase(d,"title"))}get name(){return"RegionLockedResourceError"}get heading(){return t.getPhrase(d,"heading")}get description(){return t.getPhrase(d,"description")}}const E={notFound:f,forbidden:{rating:u,yearLevel:u,region:p,privacy:u},badRequest:c,internalServerError:c};function b(e,h={},n={}){if(!e)return;let r;typeof e=="number"?r=e:r=e.status;const s={...E,...h};if(r&&o.isStatusCodeError(r)){if(r===a.InternalServer){n.internalServerError||o.throw(new c);return}if(r===a.NotFound){n.notFound||o.throw(new s.notFound);return}if(r===a.Forbidden){n.forbidden||o.throw(new s.forbidden.privacy);return}n.badRequest||o.throw(new s.badRequest)}}export{b as h};
2
+ //# sourceMappingURL=BaNAbBYa.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"D91xJv6J.chunk.js","sources":["../../../../libs/shared/src/errors/general/private-resource/PrivateResourceError.ts","../../../../libs/shared/src/errors/general/region-locked-resource/RegionLockedResourceError.ts","../../../../libs/shared/src/errors/handlers/HttpErrorHandlers.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.privateResourceError';\n\nexport class PrivateResourceError extends ErrorPageError {\n constructor() {\n super(LanguageService.getPhrase(namespace, 'title'));\n }\n\n // @ts-ignore\n public get name(): string {\n return 'PrivateResourceError';\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';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.regionLockedResourceError';\n\nexport class RegionLockedResourceError extends ErrorPageError {\n constructor() {\n super(LanguageService.getPhrase(namespace, 'title'));\n }\n\n // @ts-ignore\n public get name(): string {\n return 'RegionLockedResourceError';\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 { 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 internalServerError?: 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 internalServerError: 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.InternalServer) {\n if (!ignoreMap.internalServerError)\n Core.ErrorHelper.throw(new UnspecifiedError());\n return;\n }\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}"],"names":["namespace","PrivateResourceError","ErrorPageError","LanguageService","RegionLockedResourceError","defaultErrors","NotFoundError","UnspecifiedError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","errorMap","Core.ErrorHelper","HttpStatus"],"mappings":"6EAIA,MAAMA,EAAY,8BAEX,MAAMC,UAA6BC,CAAe,CACvD,aAAc,CACZ,MAAMC,EAAgB,UAAUH,EAAW,OAAO,CAAC,CACrD,CAGA,IAAW,MAAe,CACxB,MAAO,sBACT,CAGA,IAAW,SAAkB,CAC3B,OAAOG,EAAgB,UAAUH,EAAW,SAAS,CACvD,CAGA,IAAW,aAAsB,CAC/B,OAAOG,EAAgB,UAAUH,EAAW,aAAa,CAC3D,CACF,CCrBA,MAAMA,EAAY,mCAEX,MAAMI,UAAkCF,CAAe,CAC5D,aAAc,CACZ,MAAMC,EAAgB,UAAUH,EAAW,OAAO,CAAC,CACrD,CAGA,IAAW,MAAe,CACxB,MAAO,2BACT,CAGA,IAAW,SAAkB,CAC3B,OAAOG,EAAgB,UAAUH,EAAW,SAAS,CACvD,CAGA,IAAW,aAAsB,CAC/B,OAAOG,EAAgB,UAAUH,EAAW,aAAa,CAC3D,CACF,CCEA,MAAMK,EAA8B,CAClC,SAAUC,EACV,UAAW,CACT,OAAQL,EACR,UAAWA,EACX,OAAQG,EACR,QAASH,CAAA,EAEX,WAAYM,EACZ,oBAAqBA,CACvB,EAEO,SAASC,EACdC,EACAC,EAA+B,CAAA,EAK/BC,EAAgC,CAAA,EAC1B,CACN,GAAI,CAACF,EACH,OAEF,IAAIG,EAEA,OAAOH,GAAU,SACnBG,EAAaH,EAEbG,EAAaH,EAAK,OAGpB,MAAMI,EAAW,CACf,GAAGR,EACH,GAAGK,CAAA,EAGL,GAAKE,GAGAE,EAAiB,kBAAkBF,CAAU,EAGlD,IAAIA,IAAeG,EAAW,eAAgB,CACvCJ,EAAU,qBACbG,EAAiB,MAAM,IAAIP,CAAkB,EAC/C,MACF,CAEA,GAAIK,IAAeG,EAAW,SAAU,CACjCJ,EAAU,UACbG,EAAiB,MAAM,IAAID,EAAS,QAAU,EAChD,MACF,CAEA,GAAID,IAAeG,EAAW,UAAW,CAKlCJ,EAAU,WACbG,EAAiB,MAAM,IAAID,EAAS,UAAU,OAAS,EACzD,MACF,CAEKF,EAAU,YACbG,EAAiB,MAAM,IAAID,EAAS,UAAY,EACpD"}
1
+ {"version":3,"file":"BaNAbBYa.chunk.js","sources":["../../../../libs/shared/src/errors/general/private-resource/PrivateResourceError.ts","../../../../libs/shared/src/errors/general/region-locked-resource/RegionLockedResourceError.ts","../../../../libs/shared/src/errors/handlers/HttpErrorHandlers.ts"],"sourcesContent":["import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.privateResourceError';\n\nexport class PrivateResourceError extends ErrorPageError {\n constructor() {\n super(LanguageService.getPhrase(namespace, 'title'));\n }\n\n // @ts-ignore\n public get name(): string {\n return 'PrivateResourceError';\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';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.regionLockedResourceError';\n\nexport class RegionLockedResourceError extends ErrorPageError {\n constructor() {\n super(LanguageService.getPhrase(namespace, 'title'));\n }\n\n // @ts-ignore\n public get name(): string {\n return 'RegionLockedResourceError';\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 { 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 internalServerError?: 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 internalServerError: 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.InternalServer) {\n if (!ignoreMap.internalServerError)\n Core.ErrorHelper.throw(new UnspecifiedError());\n return;\n }\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}"],"names":["namespace","PrivateResourceError","ErrorPageError","LanguageService","RegionLockedResourceError","defaultErrors","NotFoundError","UnspecifiedError","handleHttpError","info","customErrorMap","ignoreMap","statusCode","errorMap","Core.ErrorHelper","HttpStatus"],"mappings":"6EAIA,MAAMA,EAAY,8BAEX,MAAMC,UAA6BC,CAAe,CACvD,aAAc,CACZ,MAAMC,EAAgB,UAAUH,EAAW,OAAO,CAAC,CACrD,CAGA,IAAW,MAAe,CACxB,MAAO,sBACT,CAGA,IAAW,SAAkB,CAC3B,OAAOG,EAAgB,UAAUH,EAAW,SAAS,CACvD,CAGA,IAAW,aAAsB,CAC/B,OAAOG,EAAgB,UAAUH,EAAW,aAAa,CAC3D,CACF,CCrBA,MAAMA,EAAY,mCAEX,MAAMI,UAAkCF,CAAe,CAC5D,aAAc,CACZ,MAAMC,EAAgB,UAAUH,EAAW,OAAO,CAAC,CACrD,CAGA,IAAW,MAAe,CACxB,MAAO,2BACT,CAGA,IAAW,SAAkB,CAC3B,OAAOG,EAAgB,UAAUH,EAAW,SAAS,CACvD,CAGA,IAAW,aAAsB,CAC/B,OAAOG,EAAgB,UAAUH,EAAW,aAAa,CAC3D,CACF,CCEA,MAAMK,EAA8B,CAClC,SAAUC,EACV,UAAW,CACT,OAAQL,EACR,UAAWA,EACX,OAAQG,EACR,QAASH,CAAA,EAEX,WAAYM,EACZ,oBAAqBA,CACvB,EAEO,SAASC,EACdC,EACAC,EAA+B,CAAA,EAK/BC,EAAgC,CAAA,EAC1B,CACN,GAAI,CAACF,EACH,OAEF,IAAIG,EAEA,OAAOH,GAAU,SACnBG,EAAaH,EAEbG,EAAaH,EAAK,OAGpB,MAAMI,EAAW,CACf,GAAGR,EACH,GAAGK,CAAA,EAGL,GAAKE,GAGAE,EAAiB,kBAAkBF,CAAU,EAGlD,IAAIA,IAAeG,EAAW,eAAgB,CACvCJ,EAAU,qBACbG,EAAiB,MAAM,IAAIP,CAAkB,EAC/C,MACF,CAEA,GAAIK,IAAeG,EAAW,SAAU,CACjCJ,EAAU,UACbG,EAAiB,MAAM,IAAID,EAAS,QAAU,EAChD,MACF,CAEA,GAAID,IAAeG,EAAW,UAAW,CAKlCJ,EAAU,WACbG,EAAiB,MAAM,IAAID,EAAS,UAAU,OAAS,EACzD,MACF,CAEKF,EAAU,YACbG,EAAiB,MAAM,IAAID,EAAS,UAAY,EACpD"}
@@ -1,2 +1,2 @@
1
- import{H as c,R as s,a3 as r,ab as i,ac as l,ae as u,ad as f,af as w,j as p,aD as k}from"./app-eQ6keCVj.js";import{D as y}from"./BWu0k43d.chunk.js";const D={createDownloadToken(o){return{url:"/api/downloadproxy/api/tokens",key:`download:token:${o}`,data:{objectId:o},type:c.POST,normalize:!1}}};function R(o){const a=s.useRef(null),e=r(k.config()),t=r(D.createDownloadToken(o.id)),n=!!e.data&&!!t.data;return s.useEffect(()=>{if(!n||!a.current)return;const d=y.getVideoDownloadUrl(e.data.downloadProxy,t.data.token);a.current.src=d,i.logUserAction({id:o.id},{actionType:w.Download,location:f.Popup,entity:u.Video,workflowPhase:l.Complete})},[n,a.current]),p.jsx("iframe",{ref:a})}export{R as DownloadVideoView};
2
- //# sourceMappingURL=BImNArot.chunk.js.map
1
+ import{H as c,R as s,a3 as r,ab as i,ac as l,ae as u,ad as f,af as w,j as p,aD as k}from"./app-DlxnnX-Y.js";import{D as y}from"./BP-61ONz.chunk.js";const D={createDownloadToken(o){return{url:"/api/downloadproxy/api/tokens",key:`download:token:${o}`,data:{objectId:o},type:c.POST,normalize:!1}}};function R(o){const a=s.useRef(null),e=r(k.config()),t=r(D.createDownloadToken(o.id)),n=!!e.data&&!!t.data;return s.useEffect(()=>{if(!n||!a.current)return;const d=y.getVideoDownloadUrl(e.data.downloadProxy,t.data.token);a.current.src=d,i.logUserAction({id:o.id},{actionType:w.Download,location:f.Popup,entity:u.Video,workflowPhase:l.Complete})},[n,a.current]),p.jsx("iframe",{ref:a})}export{R as DownloadVideoView};
2
+ //# sourceMappingURL=BazXwFtM.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BImNArot.chunk.js","sources":["../../src/shared/flight-requests/DownloadRequests.ts","../../src/shared/views/download-video/DownloadVideoView.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nexport const DownloadRequests = {\n createDownloadToken(videoId: string): Flight.Request {\n return {\n url: '/api/downloadproxy/api/tokens',\n key: `download:token:${videoId}`,\n data: { objectId: videoId },\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\n\nimport { DownloadRequests } from 'shared/flight-requests/DownloadRequests';\n\ninterface DownloadVideoViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function DownloadVideoView(props: DownloadVideoViewProps): JSX.Element {\n const ref = React.useRef(null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const downloadToken = Flight.useBasicFetch<HashObject>(DownloadRequests.createDownloadToken(props.id));\n\n const dataLoaded = !!config.data && !!downloadToken.data;\n\n React.useEffect(() => {\n if (!dataLoaded || !ref.current)\n return;\n\n const url = DownloadHelper.getVideoDownloadUrl(config.data.downloadProxy, downloadToken.data.token);\n ref.current.src = url;\n\n AnalyticsHelper.logUserAction({\n id: props.id\n }, {\n actionType: UserAction.Download,\n location: LocationContext.Popup,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Complete\n });\n }, [ dataLoaded, ref.current ]);\n\n return (\n <iframe ref={ref} />\n );\n}"],"names":["DownloadRequests","videoId","HttpVerbs","DownloadVideoView","props","ref","React","config","Flight.useBasicFetch","ConfigRequests","downloadToken","dataLoaded","url","DownloadHelper","AnalyticsHelper","UserAction","LocationContext","EntityType","WorkflowPhase","jsx"],"mappings":"oJAGO,MAAMA,EAAmB,CAC9B,oBAAoBC,EAAiC,CACnD,MAAO,CACL,IAAK,gCACL,IAAK,kBAAkBA,CAAO,GAC9B,KAAM,CAAE,SAAUA,CAAA,EAClB,KAAMC,EAAU,KAChB,UAAW,EAAA,CAEf,CACF,ECMO,SAASC,EAAkBC,EAA4C,CAC5E,MAAMC,EAAMC,EAAM,OAAO,IAAI,EAEvBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAgBF,EAAiCR,EAAiB,oBAAoBI,EAAM,EAAE,CAAC,EAE/FO,EAAa,CAAC,CAACJ,EAAO,MAAQ,CAAC,CAACG,EAAc,KAEpD,OAAAJ,EAAM,UAAU,IAAM,CACpB,GAAI,CAACK,GAAc,CAACN,EAAI,QACtB,OAEF,MAAMO,EAAMC,EAAe,oBAAoBN,EAAO,KAAK,cAAeG,EAAc,KAAK,KAAK,EAClGL,EAAI,QAAQ,IAAMO,EAElBE,EAAgB,cAAc,CAC5B,GAAIV,EAAM,EAAA,EACT,CACD,WAAYW,EAAW,SACvB,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,MACnB,cAAeC,EAAc,QAAA,CAC9B,CACH,EAAG,CAAEP,EAAYN,EAAI,OAAQ,CAAC,EAG5Bc,MAAC,UAAO,IAAAd,EAAU,CAEtB"}
1
+ {"version":3,"file":"BazXwFtM.chunk.js","sources":["../../src/shared/flight-requests/DownloadRequests.ts","../../src/shared/views/download-video/DownloadVideoView.tsx"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Flight } from 'libs/common/flight';\n\nexport const DownloadRequests = {\n createDownloadToken(videoId: string): Flight.Request {\n return {\n url: '/api/downloadproxy/api/tokens',\n key: `download:token:${videoId}`,\n data: { objectId: videoId },\n type: HttpVerbs.POST,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { Config } from 'libs/shared/interfaces';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\n\nimport { DownloadRequests } from 'shared/flight-requests/DownloadRequests';\n\ninterface DownloadVideoViewProps {\n id: string;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function DownloadVideoView(props: DownloadVideoViewProps): JSX.Element {\n const ref = React.useRef(null);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const downloadToken = Flight.useBasicFetch<HashObject>(DownloadRequests.createDownloadToken(props.id));\n\n const dataLoaded = !!config.data && !!downloadToken.data;\n\n React.useEffect(() => {\n if (!dataLoaded || !ref.current)\n return;\n\n const url = DownloadHelper.getVideoDownloadUrl(config.data.downloadProxy, downloadToken.data.token);\n ref.current.src = url;\n\n AnalyticsHelper.logUserAction({\n id: props.id\n }, {\n actionType: UserAction.Download,\n location: LocationContext.Popup,\n entity: EntityType.Video,\n workflowPhase: WorkflowPhase.Complete\n });\n }, [ dataLoaded, ref.current ]);\n\n return (\n <iframe ref={ref} />\n );\n}"],"names":["DownloadRequests","videoId","HttpVerbs","DownloadVideoView","props","ref","React","config","Flight.useBasicFetch","ConfigRequests","downloadToken","dataLoaded","url","DownloadHelper","AnalyticsHelper","UserAction","LocationContext","EntityType","WorkflowPhase","jsx"],"mappings":"oJAGO,MAAMA,EAAmB,CAC9B,oBAAoBC,EAAiC,CACnD,MAAO,CACL,IAAK,gCACL,IAAK,kBAAkBA,CAAO,GAC9B,KAAM,CAAE,SAAUA,CAAA,EAClB,KAAMC,EAAU,KAChB,UAAW,EAAA,CAEf,CACF,ECMO,SAASC,EAAkBC,EAA4C,CAC5E,MAAMC,EAAMC,EAAM,OAAO,IAAI,EAEvBC,EAASC,EAA6BC,EAAe,QAAQ,EAC7DC,EAAgBF,EAAiCR,EAAiB,oBAAoBI,EAAM,EAAE,CAAC,EAE/FO,EAAa,CAAC,CAACJ,EAAO,MAAQ,CAAC,CAACG,EAAc,KAEpD,OAAAJ,EAAM,UAAU,IAAM,CACpB,GAAI,CAACK,GAAc,CAACN,EAAI,QACtB,OAEF,MAAMO,EAAMC,EAAe,oBAAoBN,EAAO,KAAK,cAAeG,EAAc,KAAK,KAAK,EAClGL,EAAI,QAAQ,IAAMO,EAElBE,EAAgB,cAAc,CAC5B,GAAIV,EAAM,EAAA,EACT,CACD,WAAYW,EAAW,SACvB,SAAUC,EAAgB,MAC1B,OAAQC,EAAW,MACnB,cAAeC,EAAc,QAAA,CAC9B,CACH,EAAG,CAAEP,EAAYN,EAAI,OAAQ,CAAC,EAG5Bc,MAAC,UAAO,IAAAd,EAAU,CAEtB"}
@@ -1,2 +1,2 @@
1
- import{j as t,bK as p,L as o,K as P,W as C,G as d,Q as m}from"./app-eQ6keCVj.js";import{C as f}from"./BlDVEZsX.chunk.js";import{R as x,s as S}from"./DQP0C036.chunk.js";import{a as $,F as j}from"./CKE8GGKH.chunk.js";var v=(e=>(e.Draft="Draft",e.Published="Published",e.Archived="Archived",e))(v||{}),H=(e=>(e.Discover="discover",e.Classification="classification",e.ClassificationDirectory="classification-directory",e.ClassificationCurriculum="classification-curriculum",e.MoviesAndTv="movies-and-tv",e.Company="company",e.Search="search",e.PartnerProfile="partner-profile",e.PartnerProfileHub="partner-profile-hub",e.DiscoverPartnerProfiles="discover-partner-profiles",e))(H||{}),g=(e=>(e.Exchange="exchange",e.Streamable="streamable",e.MoviesAndTv="movies_and_tv",e.Twig="twig",e))(g||{});function A(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z",clipRule:"evenodd"})})}function D(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z",fill:"currentColor"})})}const b=(e,r,n)=>{e=e.toString();const i=r-e.length;return i<=0?e:new Array(i+1).join(n)+e},w={ToDisplayDuration(e,r){if(!p(e))return"";const n=new Date(e),i=n.getUTCHours(),a=b(n.getUTCMinutes(),2,"0"),c=b(n.getUTCSeconds(),2,"0");return r||i>0?`${i}:${a}:${c}`:`${a}:${c}`},ToDisplayDurationNewStyle(e,r){if(!p(e))return"";const n=new Date(e);let i=n.getUTCHours(),a=n.getUTCMinutes();const c=n.getUTCSeconds();if((i>0||a>0)&&c>=30&&(a=a+1,a>=60&&(i=i+1,a=0)),i>0){const h=i>1?"hrs":"hr";return a>0?r&&c>0?`${i}${h} ${a}m ${c}s`:`${i}${h} ${a}m `:`${i} ${h}`}return a>0?r&&c>0?`${a}m ${c}s`:`${a}m`:`${c}s`}};var l=(e=>(e.Folder="category",e.CategoryTree="category_tree",e.CustomLibrary="custom_library",e.HostedLibrary="hosted_library",e.Exchange="exchange",e.Workspace="workspace",e.Video="video",e.Clip="clip",e.Interactive="interactive",e))(l||{}),s=(e=>(e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text",e))(s||{});function N(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z",fill:"currentColor"})})}function E(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39",fill:"currentColor"})})}function L(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z",fill:"currentColor"})})}function q(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z",fill:"currentColor"})})}function M(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z",fill:"currentColor"})})}function V(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z",fill:"currentColor"})})}const u="shared.shared-utils",k={mapRatingToClass(e){return e?(n=>{switch(!0){case n<32:return"bg-purple";case n<48:return"bg-green";case n<80:return"bg-blue";case n<96:return"bg-red";case n<128:return"bg-pink";case n>=128:return"bg-yellow";default:return""}})(e):""},mapSourceToDisplayName(e,r){switch(e.type){case l.HostedLibrary:case l.CustomLibrary:return e.name;case l.Exchange:return o.getPhrase(u,"exchange");case l.Workspace:return o.getPhrase(u,r?"myVideos":"workspace");default:return""}},mapSourceToClass(e){switch(e){case l.HostedLibrary:case l.CustomLibrary:return"bg-blue";case l.Exchange:return"bg-green";case l.Workspace:default:return"bg-red"}},isInteractive(e){var r,n;return!!((n=(r=e==null?void 0:e.interactives)==null?void 0:r.data)!=null&&n.length)},mapTypeToSvg(e){let n={[s.Pdf]:E,[s.Image]:$,[s.PowerPoint]:L,[s.Document]:M,[s.Excel]:N,[s.Zip]:V,[s.File]:q}[e];return n||(n=j),n},mapTypeToClass(e){switch(e){case s.Pdf:return"icon-red";case s.Image:return"icon-purple";case s.Document:return"icon-blue";case s.Excel:return"icon-green";case s.PowerPoint:return"icon-orange";case s.Zip:return"icon-teal";case s.File:return"icon-gray";default:return""}},mapTypeToExtension(e){return e?{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]:""},mapTypeToName(e){if(!e)return"";switch(e){case s.Pdf:return o.getPhrase(u,"pdf");case s.Image:return o.getPhrase(u,"image");case s.Document:return o.getPhrase(u,"document");case s.Excel:return o.getPhrase(u,"spreadsheet");case s.PowerPoint:return o.getPhrase(u,"presentation");case s.Zip:return o.getPhrase(u,"zipArchive");case s.File:return o.getPhrase(u,"file");default:return""}}},F="shared.badges",I=o.encloseNamespace(F);var R=(e=>(e.DurationExact="duration-exact",e.DurationApproximate="duration-approximate",e.Interactive="interactive",e.Rating="rating",e.ProductionYear="production-year",e.Captions="captions",e.Status="status",e.Trending="trending",e.Count="count",e.Restriction="restriction",e.Source="source",e))(R||{});const U={xs:m.ExtraSmall,sm:m.Small,std:m.Standard,lg:m.Large},W={xs:"badge-xs",sm:"badge-sm",std:"badge-std",lg:"badge-lg"};function Z(e){switch(e){case f.Published:case v.Published:return"bg-success";case f.Archived:case f.Rejected:case v.Archived:return"bg-danger";case f.Draft:case v.Draft:return"draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center";case f.Pending:case f.Processing:return"bg-warning"}}function _(e){return e.includes(g.Streamable)?`px-1 text-nowrap d-flex align-items-center ${S.streamable}`:e.includes(g.MoviesAndTv)?"bg-indigo text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Exchange)?"bg-orange text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Twig)?"bg-pink text-white px-1 text-nowrap d-flex align-items-center":""}function G(e,r,n){const i="badge",a=W[n];let c="";if(e==="duration-approximate"&&(c="duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center"),e==="duration-exact"&&(c="duration-badge"),e==="interactive"&&(c="interactive-badge"),e==="rating"&&(c=`rating-badge text-shadow ${k.mapRatingToClass(r.value)}`),e==="production-year"&&(c="production-year-badge text-shadow"),e==="captions")return"p-0";if(e==="status")return`badge ${Z(r)}`;if(e==="trending")return`trending-badge px-1 d-flex align-items-center ${a}`;if(e==="count"&&(c="count-badge px-1 rounded"),e==="restriction"){const h=x.mapRestrictionToClass(r.restrictions);return C("restriction-badge rounded-pill px-2 d-flex align-items-center",h)}return e==="source"&&(c=_(r)),C(i,c)}function K(e,r,n){if(e==="interactive")return I("interactive");if(e==="duration-approximate")return w.ToDisplayDurationNewStyle(r);if(e==="duration-exact")return w.ToDisplayDuration(r);if(e==="rating")return r.code;if(e==="production-year")return r;if(e==="captions")return t.jsx(d,{svg:D});if(e==="status")return typeof r=="number"?f[r]:r;if(e==="trending")return t.jsxs(t.Fragment,{children:[t.jsx(d,{svg:A,size:U[n]}),t.jsx("span",{className:"ps-1",children:r})]});if(e==="count")return r;if(e==="restriction")return t.jsxs(t.Fragment,{children:[t.jsx(d,{svg:x.mapRestrictionToSvg(r.restrictions)}),t.jsx("span",{children:x.mapRestrictionToText(r.restrictions,r.yearGroups)})]});if(e==="source"){const i=r;return i.includes(g.Streamable)?"streamable":i.includes(g.MoviesAndTv)?"movies + tv":i.includes(g.Exchange)?"exchange":i.includes(g.Twig)?"twig":"-"}}function Q(e,r){return e==="rating"?{title:r.name,placement:"top"}:null}function Y(e,r){var n,i;return typeof r=="boolean"?!!r:e==="rating"?r&&!!r.value:e==="interactive"?!!(r!=null&&r.length)||!!((n=r==null?void 0:r.data)!=null&&n.length):e==="captions"?!!(r!=null&&r.length)||!!((i=r==null?void 0:r.data)!=null&&i.length):e==="status"?typeof r=="number"||typeof r=="string":!!r}function O(e){const{type:r,data:n,size:i="std"}=e;if(!Y(r,n))return t.jsx(t.Fragment,{});let a=G(r,n,i);a=`${a} ${e.inline?"d-inline-block":"d-flex justify-content-center"} ${e.className||""}`;const c=K(r,n,i),h=Q(r,n),z=e.inline&&"d-inline-block";return h?t.jsx("div",{className:"badge-wrapper d-inline",children:t.jsx(P,{...h,spanHack:!0,spanHackClassName:z,children:t.jsx("span",{className:a,children:c})})}):t.jsx("span",{className:`${a} badge-wrapper`,children:c})}export{O as B,D as C,w as D,l as M,s as R,R as a,H as b};
2
- //# sourceMappingURL=e9ZqHdMv.chunk.js.map
1
+ import{j as t,bK as p,L as o,K as P,W as C,G as d,Q as m}from"./app-DlxnnX-Y.js";import{C as f}from"./BlDVEZsX.chunk.js";import{R as x,s as S}from"./DxppYmgw.chunk.js";import{a as $,F as j}from"./CsI_aEby.chunk.js";var v=(e=>(e.Draft="Draft",e.Published="Published",e.Archived="Archived",e))(v||{}),H=(e=>(e.Discover="discover",e.Classification="classification",e.ClassificationDirectory="classification-directory",e.ClassificationCurriculum="classification-curriculum",e.MoviesAndTv="movies-and-tv",e.Company="company",e.Search="search",e.PartnerProfile="partner-profile",e.PartnerProfileHub="partner-profile-hub",e.DiscoverPartnerProfiles="discover-partner-profiles",e))(H||{}),g=(e=>(e.Exchange="exchange",e.Streamable="streamable",e.MoviesAndTv="movies_and_tv",e.Twig="twig",e))(g||{});function A(e){return t.jsx("svg",{...e,children:t.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z",clipRule:"evenodd"})})}function D(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z",fill:"currentColor"})})}const b=(e,r,n)=>{e=e.toString();const i=r-e.length;return i<=0?e:new Array(i+1).join(n)+e},w={ToDisplayDuration(e,r){if(!p(e))return"";const n=new Date(e),i=n.getUTCHours(),a=b(n.getUTCMinutes(),2,"0"),c=b(n.getUTCSeconds(),2,"0");return r||i>0?`${i}:${a}:${c}`:`${a}:${c}`},ToDisplayDurationNewStyle(e,r){if(!p(e))return"";const n=new Date(e);let i=n.getUTCHours(),a=n.getUTCMinutes();const c=n.getUTCSeconds();if((i>0||a>0)&&c>=30&&(a=a+1,a>=60&&(i=i+1,a=0)),i>0){const h=i>1?"hrs":"hr";return a>0?r&&c>0?`${i}${h} ${a}m ${c}s`:`${i}${h} ${a}m `:`${i} ${h}`}return a>0?r&&c>0?`${a}m ${c}s`:`${a}m`:`${c}s`}};var l=(e=>(e.Folder="category",e.CategoryTree="category_tree",e.CustomLibrary="custom_library",e.HostedLibrary="hosted_library",e.Exchange="exchange",e.Workspace="workspace",e.Video="video",e.Clip="clip",e.Interactive="interactive",e))(l||{}),s=(e=>(e.Pdf="pdf",e.Image="image",e.PowerPoint="powerpoint",e.Document="document",e.Excel="excel",e.Zip="archive",e.File="text",e))(s||{});function N(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z",fill:"currentColor"})})}function E(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39",fill:"currentColor"})})}function L(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z",fill:"currentColor"})})}function q(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z",fill:"currentColor"})})}function M(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z",fill:"currentColor"})})}function V(e){return t.jsx("svg",{...e,children:t.jsx("path",{d:"M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z",fill:"currentColor"})})}const u="shared.shared-utils",k={mapRatingToClass(e){return e?(n=>{switch(!0){case n<32:return"bg-purple";case n<48:return"bg-green";case n<80:return"bg-blue";case n<96:return"bg-red";case n<128:return"bg-pink";case n>=128:return"bg-yellow";default:return""}})(e):""},mapSourceToDisplayName(e,r){switch(e.type){case l.HostedLibrary:case l.CustomLibrary:return e.name;case l.Exchange:return o.getPhrase(u,"exchange");case l.Workspace:return o.getPhrase(u,r?"myVideos":"workspace");default:return""}},mapSourceToClass(e){switch(e){case l.HostedLibrary:case l.CustomLibrary:return"bg-blue";case l.Exchange:return"bg-green";case l.Workspace:default:return"bg-red"}},isInteractive(e){var r,n;return!!((n=(r=e==null?void 0:e.interactives)==null?void 0:r.data)!=null&&n.length)},mapTypeToSvg(e){let n={[s.Pdf]:E,[s.Image]:$,[s.PowerPoint]:L,[s.Document]:M,[s.Excel]:N,[s.Zip]:V,[s.File]:q}[e];return n||(n=j),n},mapTypeToClass(e){switch(e){case s.Pdf:return"icon-red";case s.Image:return"icon-purple";case s.Document:return"icon-blue";case s.Excel:return"icon-green";case s.PowerPoint:return"icon-orange";case s.Zip:return"icon-teal";case s.File:return"icon-gray";default:return""}},mapTypeToExtension(e){return e?{pdf:"pdf",image:"png",powerpoint:"pptx"}[e.toLowerCase()]:""},mapTypeToName(e){if(!e)return"";switch(e){case s.Pdf:return o.getPhrase(u,"pdf");case s.Image:return o.getPhrase(u,"image");case s.Document:return o.getPhrase(u,"document");case s.Excel:return o.getPhrase(u,"spreadsheet");case s.PowerPoint:return o.getPhrase(u,"presentation");case s.Zip:return o.getPhrase(u,"zipArchive");case s.File:return o.getPhrase(u,"file");default:return""}}},F="shared.badges",I=o.encloseNamespace(F);var R=(e=>(e.DurationExact="duration-exact",e.DurationApproximate="duration-approximate",e.Interactive="interactive",e.Rating="rating",e.ProductionYear="production-year",e.Captions="captions",e.Status="status",e.Trending="trending",e.Count="count",e.Restriction="restriction",e.Source="source",e))(R||{});const U={xs:m.ExtraSmall,sm:m.Small,std:m.Standard,lg:m.Large},W={xs:"badge-xs",sm:"badge-sm",std:"badge-std",lg:"badge-lg"};function Z(e){switch(e){case f.Published:case v.Published:return"bg-success";case f.Archived:case f.Rejected:case v.Archived:return"bg-danger";case f.Draft:case v.Draft:return"draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center";case f.Pending:case f.Processing:return"bg-warning"}}function _(e){return e.includes(g.Streamable)?`px-1 text-nowrap d-flex align-items-center ${S.streamable}`:e.includes(g.MoviesAndTv)?"bg-indigo text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Exchange)?"bg-orange text-white px-1 text-nowrap d-flex align-items-center":e.includes(g.Twig)?"bg-pink text-white px-1 text-nowrap d-flex align-items-center":""}function G(e,r,n){const i="badge",a=W[n];let c="";if(e==="duration-approximate"&&(c="duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center"),e==="duration-exact"&&(c="duration-badge"),e==="interactive"&&(c="interactive-badge"),e==="rating"&&(c=`rating-badge text-shadow ${k.mapRatingToClass(r.value)}`),e==="production-year"&&(c="production-year-badge text-shadow"),e==="captions")return"p-0";if(e==="status")return`badge ${Z(r)}`;if(e==="trending")return`trending-badge px-1 d-flex align-items-center ${a}`;if(e==="count"&&(c="count-badge px-1 rounded"),e==="restriction"){const h=x.mapRestrictionToClass(r.restrictions);return C("restriction-badge rounded-pill px-2 d-flex align-items-center",h)}return e==="source"&&(c=_(r)),C(i,c)}function K(e,r,n){if(e==="interactive")return I("interactive");if(e==="duration-approximate")return w.ToDisplayDurationNewStyle(r);if(e==="duration-exact")return w.ToDisplayDuration(r);if(e==="rating")return r.code;if(e==="production-year")return r;if(e==="captions")return t.jsx(d,{svg:D});if(e==="status")return typeof r=="number"?f[r]:r;if(e==="trending")return t.jsxs(t.Fragment,{children:[t.jsx(d,{svg:A,size:U[n]}),t.jsx("span",{className:"ps-1",children:r})]});if(e==="count")return r;if(e==="restriction")return t.jsxs(t.Fragment,{children:[t.jsx(d,{svg:x.mapRestrictionToSvg(r.restrictions)}),t.jsx("span",{children:x.mapRestrictionToText(r.restrictions,r.yearGroups)})]});if(e==="source"){const i=r;return i.includes(g.Streamable)?"streamable":i.includes(g.MoviesAndTv)?"movies + tv":i.includes(g.Exchange)?"exchange":i.includes(g.Twig)?"twig":"-"}}function Q(e,r){return e==="rating"?{title:r.name,placement:"top"}:null}function Y(e,r){var n,i;return typeof r=="boolean"?!!r:e==="rating"?r&&!!r.value:e==="interactive"?!!(r!=null&&r.length)||!!((n=r==null?void 0:r.data)!=null&&n.length):e==="captions"?!!(r!=null&&r.length)||!!((i=r==null?void 0:r.data)!=null&&i.length):e==="status"?typeof r=="number"||typeof r=="string":!!r}function O(e){const{type:r,data:n,size:i="std"}=e;if(!Y(r,n))return t.jsx(t.Fragment,{});let a=G(r,n,i);a=`${a} ${e.inline?"d-inline-block":"d-flex justify-content-center"} ${e.className||""}`;const c=K(r,n,i),h=Q(r,n),z=e.inline&&"d-inline-block";return h?t.jsx("div",{className:"badge-wrapper d-inline",children:t.jsx(P,{...h,spanHack:!0,spanHackClassName:z,children:t.jsx("span",{className:a,children:c})})}):t.jsx("span",{className:`${a} badge-wrapper`,children:c})}export{O as B,D as C,w as D,l as M,s as R,R as a,H as b};
2
+ //# sourceMappingURL=BbGFMokw.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e9ZqHdMv.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/Dashboard.ts","../../../../libs/shared/src/enums/VideoSource.ts","../../../../libs/shared/src/images/svg/objects/TrendingSvg.tsx","../../../../libs/shared/src/images/svg/status/CloseCaptionBadgeSvg.tsx","../../../../libs/shared/src/utils/DurationHelper.ts","../../../../libs/shared/src/enums/MasterObjectTypes.ts","../../../../libs/shared/src/enums/ResourceFileType.ts","../../../../libs/shared/src/images/svg/objects/FileExcelSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePdfSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePptSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileWordSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileZipSvg.tsx","../../../../libs/shared/src/utils/VideoDetailsHelper.ts","../../../../libs/shared/src/components/badges/Badge.tsx"],"sourcesContent":["import { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\nimport {\n BaseObject,\n BasePaginatedCollection,\n CuratedWidget,\n CuratedWidgetContent,\n CuratedWidgetData\n} from 'libs/shared/interfaces';\n\nexport enum DashboardLearningLevel {\n Any = 'Any',\n Level_1 = 'Level_1',\n Level_2 = 'Level_2',\n Level_3 = 'Level_3',\n Level_4 = 'Level_4'\n}\n\nexport enum DashboardUserType {\n Any = 'Any',\n Staff = 'Staff',\n Learner = 'Learner'\n}\n\nexport enum DashboardStatus {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived'\n}\n\nexport interface Dashboard extends BaseObject {\n libraryType: LibraryType;\n customerType: CustomerType;\n userRole: number;\n}\n\nexport interface CuratedDashboardMetadata {\n systemGenerated?: boolean;\n}\n\nexport interface CuratedDashboard<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseObject {\n contentRegion: ContentRegion;\n description: string;\n learningLevel: DashboardLearningLevel;\n userType: DashboardUserType;\n status: DashboardStatus;\n target: string;\n widgets: CuratedWidget<TWidgetData, TWidgetContent>[];\n metadata: CuratedDashboardMetadata;\n datePublished: string;\n}\n\nexport interface CuratedDashboardCollection<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BasePaginatedCollection<CuratedDashboard<TWidgetData, TWidgetContent>> {}\n\n/**\n * Dashboard identification below\n */\nexport enum DashboardTargetType {\n Discover = 'discover',\n Classification = 'classification',\n ClassificationDirectory = 'classification-directory',\n ClassificationCurriculum = 'classification-curriculum',\n MoviesAndTv = 'movies-and-tv',\n Company = 'company',\n Search = 'search',\n PartnerProfile = 'partner-profile',\n PartnerProfileHub = 'partner-profile-hub',\n DiscoverPartnerProfiles = 'discover-partner-profiles'\n}\n\ninterface DiscoverDashboardInfo {\n targetType: DashboardTargetType.Discover;\n presentationId: string;\n}\n\nexport interface ClassificationDashboardInfo {\n targetType: DashboardTargetType.Classification;\n classificationId: string;\n}\n\nexport interface ClassificationDirectoryInfo {\n targetType: DashboardTargetType.ClassificationDirectory;\n classificationId: string;\n}\n\nexport interface ClassificationCurriculumInfo {\n targetType: DashboardTargetType.ClassificationCurriculum;\n classificationId: string;\n}\n\ninterface MoviesAndTvDashboardInfo {\n targetType: DashboardTargetType.MoviesAndTv;\n presentationId: string;\n}\n\nexport interface CompanyDashboardInfo {\n targetType: DashboardTargetType.Company;\n companyId: string;\n presentationId: string;\n}\n\nexport interface PartnerProfileDashboardInfo {\n targetType: DashboardTargetType.PartnerProfile;\n slug: string;\n}\n\nexport interface PartnerProfileHubDashboardInfo {\n targetType: DashboardTargetType.PartnerProfileHub;\n}\n\nexport interface PartnerProfileDiscoverDashboardInfo {\n targetType: DashboardTargetType.DiscoverPartnerProfiles;\n}\n\nexport type DashboardTargetInfo =\n | DiscoverDashboardInfo\n | ClassificationDashboardInfo\n | ClassificationDirectoryInfo\n | ClassificationCurriculumInfo\n | MoviesAndTvDashboardInfo\n | CompanyDashboardInfo\n | PartnerProfileDashboardInfo\n | PartnerProfileHubDashboardInfo\n | PartnerProfileDiscoverDashboardInfo;\nexport interface UnknownDashboardTargetInfo {\n targetType: DashboardTargetType;\n presentationId: string;\n classificationId: string;\n companyId: string;\n slug: string;\n}\n","export enum VideoSource {\n Exchange = 'exchange',\n Streamable = 'streamable',\n MoviesAndTv = 'movies_and_tv',\n Twig = 'twig'\n}","import React from 'react';\n\nexport function TrendingSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function CloseCaptionBadgeSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n let h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n // Handle minute overflow (e.g., 59m + 1 = 60m -> 1hr)\n if (m >= 60) {\n h = h + 1;\n m = 0;\n }\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n }\n};\n\nexport { DurationHelper };","export enum MasterObjectTypes {\n Folder = 'category',\n CategoryTree = 'category_tree',\n CustomLibrary = 'custom_library',\n HostedLibrary = 'hosted_library',\n Exchange = 'exchange',\n Workspace = 'workspace',\n Video = 'video',\n Clip = 'clip',\n Interactive = 'interactive'\n}","// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n","import React from 'react';\n\nexport function FileExcelSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePdfSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePptSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileWordSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileZipSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { FileExcelSvg } from '../images/svg/objects/FileExcelSvg';\nimport { FileImgSvg } from '../images/svg/objects/FileImgSvg';\nimport { FilePdfSvg } from '../images/svg/objects/FilePdfSvg';\nimport { FilePptSvg } from '../images/svg/objects/FilePptSvg';\nimport { FileSvg } from '../images/svg/objects/FileSvg';\nimport { FileWordSvg } from '../images/svg/objects/FileWordSvg';\nimport { FileZipSvg } from '../images/svg/objects/FileZipSvg';\nimport { FolderSvg } from '../images/svg/objects/FolderSvg';\n\n\nconst lang = 'shared.shared-utils';\n\nexport const VideoDetailsHelper = {\n mapRatingToClass(ratingValue: number): string {\n if (!ratingValue) return '';\n\n const ratings = (rating: number): string => {\n switch (true) {\n case (rating < 32):\n return 'bg-purple';\n case (rating < 48):\n return 'bg-green';\n case (rating < 80):\n return 'bg-blue';\n case (rating < 96):\n return 'bg-red';\n case (rating < 128):\n return 'bg-pink';\n case (rating >= 128):\n return 'bg-yellow';\n default:\n return ''; // Handles unrated\n }\n };\n\n return ratings(ratingValue);\n },\n\n mapSourceToDisplayName(library: Library, hasLite?: boolean): string {\n switch (library.type) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return library.name;\n case MasterObjectTypes.Exchange:\n return LanguageService.getPhrase(lang, 'exchange');\n case MasterObjectTypes.Workspace:\n return LanguageService.getPhrase(lang, hasLite ? 'myVideos' : 'workspace');\n default:\n return '';\n }\n },\n\n mapSourceToClass(sourceType: MasterObjectTypes | 'online_supplementary_library'): string {\n switch (sourceType) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return 'bg-blue';\n case MasterObjectTypes.Exchange:\n return 'bg-green';\n case MasterObjectTypes.Workspace:\n default:\n return 'bg-red';\n }\n },\n\n isInteractive(video: Video): boolean {\n return !!video?.interactives?.data?.length;\n },\n\n mapTypeToSvg(type: string): any {\n const types: HashObject = {\n [ResourceFileType.Pdf]: FilePdfSvg,\n [ResourceFileType.Image]: FileImgSvg,\n [ResourceFileType.PowerPoint]: FilePptSvg,\n [ResourceFileType.Document]: FileWordSvg,\n [ResourceFileType.Excel]: FileExcelSvg,\n [ResourceFileType.Zip]: FileZipSvg,\n [ResourceFileType.File]: FileSvg\n };\n\n let mappedType = types[type];\n\n if (!mappedType)\n mappedType = FolderSvg;\n\n return mappedType;\n },\n\n mapTypeToClass(type: string): any {\n switch (type) {\n case ResourceFileType.Pdf:\n return 'icon-red';\n\n case ResourceFileType.Image:\n return 'icon-purple';\n\n case ResourceFileType.Document:\n return 'icon-blue';\n\n case ResourceFileType.Excel:\n return 'icon-green';\n\n case ResourceFileType.PowerPoint:\n return 'icon-orange';\n\n case ResourceFileType.Zip:\n return 'icon-teal';\n\n case ResourceFileType.File:\n return 'icon-gray';\n\n default:\n return '';\n }\n },\n\n mapTypeToExtension(type: string): string {\n if (!type) return '';\n\n const extensions: HashObject = {\n pdf: 'pdf',\n image: 'png',\n powerpoint: 'pptx'\n };\n\n return extensions[type.toLowerCase()];\n },\n\n mapTypeToName(type: string): string {\n if (!type) return '';\n\n switch (type) {\n case ResourceFileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\n case ResourceFileType.Image: return LanguageService.getPhrase(lang, 'image');\n case ResourceFileType.Document: return LanguageService.getPhrase(lang, 'document');\n case ResourceFileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\n case ResourceFileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\n case ResourceFileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\n case ResourceFileType.File: return LanguageService.getPhrase(lang, 'file');\n\n default:\n return '';\n }\n }\n};\n","import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { VideoSource } from 'libs/shared/enums/VideoSource';\nimport { TrendingSvg } from 'libs/shared/images/svg/objects/TrendingSvg';\nimport { CloseCaptionBadgeSvg } from 'libs/shared/images/svg/status/CloseCaptionBadgeSvg';\nimport { DashboardStatus, Rating } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\n\nimport styles from './badge.module.scss';\n\nconst namespace = 'shared.badges';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum BadgeType {\n DurationExact = 'duration-exact',\n DurationApproximate = 'duration-approximate',\n Interactive = 'interactive',\n Rating = 'rating',\n ProductionYear = 'production-year',\n Captions = 'captions',\n Status = 'status',\n Trending = 'trending',\n Count = 'count',\n Restriction = 'restriction',\n Source = 'source'\n}\n\ntype BadgeSize = 'xs' | 'sm' | 'std' | 'lg';\n\ninterface BadgeProps {\n type: BadgeType;\n data: any;\n inline?: boolean;\n className?: string;\n /**\n * Only Trending badge supports this attribute atm\n */\n size?: BadgeSize;\n}\n\ninterface TooltipOptions {\n placement: Placement;\n title: string;\n}\n\nconst badgeSvgContainerSizeMap: {[key in BadgeSize]: SvgContainerSize} = {\n xs: SvgContainerSize.ExtraSmall,\n sm: SvgContainerSize.Small,\n std: SvgContainerSize.Standard,\n lg: SvgContainerSize.Large\n};\n\nconst badgeSizeClassNameMap: {[key in BadgeSize]: string} = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n std: 'badge-std',\n lg: 'badge-lg'\n};\n\nfunction getStatusClassName(status: CurationStatus | DashboardStatus): string {\n switch (status) {\n case CurationStatus.Published:\n case DashboardStatus.Published:\n return 'bg-success';\n\n case CurationStatus.Archived:\n case CurationStatus.Rejected:\n case DashboardStatus.Archived:\n return 'bg-danger';\n\n case CurationStatus.Draft:\n case DashboardStatus.Draft:\n return 'draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n case CurationStatus.Pending:\n case CurationStatus.Processing:\n return 'bg-warning';\n }\n}\n\nfunction getSourceClassName(sources: VideoSource[]): string {\n if (sources.includes(VideoSource.Streamable))\n return `px-1 text-nowrap d-flex align-items-center ${styles.streamable}`;\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'bg-indigo text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Exchange))\n return 'bg-orange text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Twig))\n return `bg-pink text-white px-1 text-nowrap d-flex align-items-center`;\n\n return '';\n}\n\nfunction getClassName(type: BadgeType, data: any, size: BadgeSize): string {\n const baseClass = 'badge';\n const sizeClass = badgeSizeClassNameMap[size];\n\n let typeClass = '';\n\n if (type === BadgeType.DurationApproximate)\n typeClass = 'duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n if (type === BadgeType.DurationExact)\n typeClass = 'duration-badge';\n\n if (type === BadgeType.Interactive)\n typeClass = 'interactive-badge';\n\n if (type === BadgeType.Rating)\n typeClass = `rating-badge text-shadow ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\n\n if (type === BadgeType.ProductionYear)\n typeClass = 'production-year-badge text-shadow';\n\n if (type === BadgeType.Captions)\n return 'p-0';\n\n if (type === BadgeType.Status)\n return `badge ${getStatusClassName(data)}`;\n\n if (type === BadgeType.Trending)\n return `trending-badge px-1 d-flex align-items-center ${sizeClass}`;\n\n if (type === BadgeType.Count)\n typeClass = 'count-badge px-1 rounded';\n\n if (type === BadgeType.Restriction) {\n const restrictionBgClass = RestrictionHelper.mapRestrictionToClass(data.restrictions);\n return classNames('restriction-badge rounded-pill px-2 d-flex align-items-center', restrictionBgClass);\n }\n \n if (type === BadgeType.Source)\n typeClass = getSourceClassName(data);\n\n return classNames(baseClass, typeClass);\n}\n\nfunction getBadgeContent(type: BadgeType, data: any, size: BadgeSize): string | JSX.Element {\n if (type === BadgeType.Interactive)\n return getPhrase('interactive');\n\n if (type === BadgeType.DurationApproximate)\n return DurationHelper.ToDisplayDurationNewStyle(data);\n\n if (type === BadgeType.DurationExact)\n return DurationHelper.ToDisplayDuration(data);\n\n if (type === BadgeType.Rating)\n return (data as Rating).code; // data expected to be a rating object\n\n if (type === BadgeType.ProductionYear)\n return data; // data should be the production year\n\n if (type === BadgeType.Captions)\n return <SvgContainer svg={CloseCaptionBadgeSvg} />;\n\n if (type === BadgeType.Status) {\n if (typeof(data) === 'number') {\n return CurationStatus[data];\n }\n return data;\n }\n\n if (type === BadgeType.Trending)\n return (\n <>\n <SvgContainer svg={TrendingSvg} size={badgeSvgContainerSizeMap[size]} />\n <span className='ps-1'>{data}</span>\n </>\n );\n\n if (type === BadgeType.Count)\n return data;\n\n if (type === BadgeType.Restriction)\n return (\n <>\n <SvgContainer\n svg={RestrictionHelper.mapRestrictionToSvg(data.restrictions)}\n />\n <span>\n {RestrictionHelper.mapRestrictionToText(data.restrictions, data.yearGroups)}\n </span>\n </>\n );\n\n if (type === BadgeType.Source) {\n const sources = data as VideoSource[];\n\n if (sources.includes(VideoSource.Streamable))\n return 'streamable';\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'movies + tv';\n\n if (sources.includes(VideoSource.Exchange))\n return 'exchange';\n\n if (sources.includes(VideoSource.Twig))\n return 'twig';\n\n return '-';\n }\n}\n\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\n if (type === BadgeType.Rating)\n return {\n title: (data as Rating).name,\n placement: 'top'\n };\n\n return null;\n}\n\nfunction hasData(type: BadgeType, data: any): boolean {\n if (typeof(data) === 'boolean')\n return !!data;\n\n if (type === BadgeType.Rating)\n return data && !!(data as Rating).value;\n\n if (type === BadgeType.Interactive)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Captions)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Status)\n return typeof(data) === 'number' || typeof(data) === 'string';\n\n return !!data;\n}\n\nexport function Badge(props: BadgeProps): JSX.Element {\n const { type, data, size = 'std' } = props;\n \n if (!hasData(type, data))\n return <></>;\n\n let className = getClassName(type, data, size);\n className = `${className} ${props.inline ? 'd-inline-block' : 'd-flex justify-content-center'} ${props.className || ''}`;\n const content = getBadgeContent(type, data, size);\n const tooltip = getTooltip(type, data);\n const spanHackClassName = props.inline && 'd-inline-block';\n\n if (tooltip) {\n return (\n <div className='badge-wrapper d-inline'>\n <Tooltip {...tooltip} spanHack spanHackClassName={spanHackClassName}>\n <span className={className}>{content}</span>\n </Tooltip>\n </div>\n );\n }\n\n return <span className={`${className} badge-wrapper`}>{content}</span>;\n}"],"names":["DashboardStatus","DashboardTargetType","VideoSource","TrendingSvg","props","jsx","CloseCaptionBadgeSvg","padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit","MasterObjectTypes","ResourceFileType","FileExcelSvg","FilePdfSvg","FilePptSvg","FileSvg","FileWordSvg","FileZipSvg","lang","VideoDetailsHelper","ratingValue","rating","library","hasLite","LanguageService","sourceType","video","_b","_a","type","mappedType","FileImgSvg","FolderSvg","namespace","getPhrase","BadgeType","badgeSvgContainerSizeMap","SvgContainerSize","badgeSizeClassNameMap","getStatusClassName","status","CurationStatus","getSourceClassName","sources","styles","getClassName","data","size","baseClass","sizeClass","typeClass","restrictionBgClass","RestrictionHelper","classNames","getBadgeContent","SvgContainer","jsxs","Fragment","getTooltip","hasData","Badge","className","content","tooltip","spanHackClassName","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"BbGFMokw.chunk.js","sources":["../../../../libs/shared/src/interfaces/models/Dashboard.ts","../../../../libs/shared/src/enums/VideoSource.ts","../../../../libs/shared/src/images/svg/objects/TrendingSvg.tsx","../../../../libs/shared/src/images/svg/status/CloseCaptionBadgeSvg.tsx","../../../../libs/shared/src/utils/DurationHelper.ts","../../../../libs/shared/src/enums/MasterObjectTypes.ts","../../../../libs/shared/src/enums/ResourceFileType.ts","../../../../libs/shared/src/images/svg/objects/FileExcelSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePdfSvg.tsx","../../../../libs/shared/src/images/svg/objects/FilePptSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileWordSvg.tsx","../../../../libs/shared/src/images/svg/objects/FileZipSvg.tsx","../../../../libs/shared/src/utils/VideoDetailsHelper.ts","../../../../libs/shared/src/components/badges/Badge.tsx"],"sourcesContent":["import { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CustomerType } from 'libs/shared/enums/CustomerType';\nimport { LibraryType } from 'libs/shared/enums/LibraryType';\nimport {\n BaseObject,\n BasePaginatedCollection,\n CuratedWidget,\n CuratedWidgetContent,\n CuratedWidgetData\n} from 'libs/shared/interfaces';\n\nexport enum DashboardLearningLevel {\n Any = 'Any',\n Level_1 = 'Level_1',\n Level_2 = 'Level_2',\n Level_3 = 'Level_3',\n Level_4 = 'Level_4'\n}\n\nexport enum DashboardUserType {\n Any = 'Any',\n Staff = 'Staff',\n Learner = 'Learner'\n}\n\nexport enum DashboardStatus {\n Draft = 'Draft',\n Published = 'Published',\n Archived = 'Archived'\n}\n\nexport interface Dashboard extends BaseObject {\n libraryType: LibraryType;\n customerType: CustomerType;\n userRole: number;\n}\n\nexport interface CuratedDashboardMetadata {\n systemGenerated?: boolean;\n}\n\nexport interface CuratedDashboard<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BaseObject {\n contentRegion: ContentRegion;\n description: string;\n learningLevel: DashboardLearningLevel;\n userType: DashboardUserType;\n status: DashboardStatus;\n target: string;\n widgets: CuratedWidget<TWidgetData, TWidgetContent>[];\n metadata: CuratedDashboardMetadata;\n datePublished: string;\n}\n\nexport interface CuratedDashboardCollection<\n TWidgetData extends CuratedWidgetData = CuratedWidgetData,\n TWidgetContent extends CuratedWidgetContent = CuratedWidgetContent\n> extends BasePaginatedCollection<CuratedDashboard<TWidgetData, TWidgetContent>> {}\n\n/**\n * Dashboard identification below\n */\nexport enum DashboardTargetType {\n Discover = 'discover',\n Classification = 'classification',\n ClassificationDirectory = 'classification-directory',\n ClassificationCurriculum = 'classification-curriculum',\n MoviesAndTv = 'movies-and-tv',\n Company = 'company',\n Search = 'search',\n PartnerProfile = 'partner-profile',\n PartnerProfileHub = 'partner-profile-hub',\n DiscoverPartnerProfiles = 'discover-partner-profiles'\n}\n\ninterface DiscoverDashboardInfo {\n targetType: DashboardTargetType.Discover;\n presentationId: string;\n}\n\nexport interface ClassificationDashboardInfo {\n targetType: DashboardTargetType.Classification;\n classificationId: string;\n}\n\nexport interface ClassificationDirectoryInfo {\n targetType: DashboardTargetType.ClassificationDirectory;\n classificationId: string;\n}\n\nexport interface ClassificationCurriculumInfo {\n targetType: DashboardTargetType.ClassificationCurriculum;\n classificationId: string;\n}\n\ninterface MoviesAndTvDashboardInfo {\n targetType: DashboardTargetType.MoviesAndTv;\n presentationId: string;\n}\n\nexport interface CompanyDashboardInfo {\n targetType: DashboardTargetType.Company;\n companyId: string;\n presentationId: string;\n}\n\nexport interface PartnerProfileDashboardInfo {\n targetType: DashboardTargetType.PartnerProfile;\n slug: string;\n}\n\nexport interface PartnerProfileHubDashboardInfo {\n targetType: DashboardTargetType.PartnerProfileHub;\n}\n\nexport interface PartnerProfileDiscoverDashboardInfo {\n targetType: DashboardTargetType.DiscoverPartnerProfiles;\n}\n\nexport type DashboardTargetInfo =\n | DiscoverDashboardInfo\n | ClassificationDashboardInfo\n | ClassificationDirectoryInfo\n | ClassificationCurriculumInfo\n | MoviesAndTvDashboardInfo\n | CompanyDashboardInfo\n | PartnerProfileDashboardInfo\n | PartnerProfileHubDashboardInfo\n | PartnerProfileDiscoverDashboardInfo;\nexport interface UnknownDashboardTargetInfo {\n targetType: DashboardTargetType;\n presentationId: string;\n classificationId: string;\n companyId: string;\n slug: string;\n}\n","export enum VideoSource {\n Exchange = 'exchange',\n Streamable = 'streamable',\n MoviesAndTv = 'movies_and_tv',\n Twig = 'twig'\n}","import React from 'react';\n\nexport function TrendingSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n fillRule='evenodd'\n d='M15.333 7.333a.667.667 0 1 0 0 1.334h2.39L13 13.39l-2.862-2.862a.667.667 0 0 0-.943 0l-5 5a.667.667 0 1 0 .943.942l4.529-4.528 2.862 2.862c.26.26.682.26.942 0l5.196-5.196V12A.667.667 0 0 0 20 12V8a.667.667 0 0 0-.667-.666z'\n clipRule='evenodd'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function CloseCaptionBadgeSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M7.5 5A2.5 2.5 0 0 0 5 7.5v9A2.5 2.5 0 0 0 7.5 19h9a2.5 2.5 0 0 0 2.5-2.5v-9A2.5 2.5 0 0 0 16.5 5zm0-1h9A3.5 3.5 0 0 1 20 7.5v9a3.5 3.5 0 0 1-3.5 3.5h-9A3.5 3.5 0 0 1 4 16.5v-9A3.5 3.5 0 0 1 7.5 4M11 9a.5.5 0 1 1 0 1H9.5A1.5 1.5 0 0 0 8 11.5v1A1.5 1.5 0 0 0 9.5 14H11a.5.5 0 1 1 0 1H9.5A2.5 2.5 0 0 1 7 12.5v-1A2.5 2.5 0 0 1 9.5 9zm5 0a.5.5 0 1 1 0 1h-1.5a1.5 1.5 0 0 0-1.5 1.5v1a1.5 1.5 0 0 0 1.5 1.5H16a.5.5 0 1 1 0 1h-1.5a2.5 2.5 0 0 1-2.5-2.5v-1A2.5 2.5 0 0 1 14.5 9z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as _ from 'underscore';\n\nconst padLeft = (value: string | number, totalLength: number, padChar: string) => {\n value = value.toString();\n\n const diff = totalLength - value.length;\n\n if (diff <= 0)\n return value;\n\n return new Array(diff + 1).join(padChar) + value;\n};\n\nconst DurationHelper = {\n /**\n * Copypasta from Online. Feel free to improve it if you see fit - Sha\n */\n ToDisplayDuration(milliseconds: number, showAll?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n \n const time = new Date(milliseconds);\n \n const h = time.getUTCHours();\n const m = padLeft(time.getUTCMinutes(), 2, '0');\n const s = padLeft(time.getUTCSeconds(), 2, '0');\n \n if (showAll || h > 0) {\n return `${h}:${m}:${s}`;\n }\n \n return `${m}:${s}`;\n },\n\n ToDisplayDurationNewStyle(milliseconds: number, includeSeconds?: boolean): string {\n if (!_.isNumber(milliseconds))\n return '';\n\n const time = new Date(milliseconds);\n\n let h = time.getUTCHours();\n let m = time.getUTCMinutes();\n const s = time.getUTCSeconds();\n\n // Round up 1m when >= 30s\n if ((h > 0 || m > 0) && s >= 30) {\n m = m + 1;\n // Handle minute overflow (e.g., 59m + 1 = 60m -> 1hr)\n if (m >= 60) {\n h = h + 1;\n m = 0;\n }\n }\n \n if (h > 0) {\n const hourUnit = h > 1 ? 'hrs' : 'hr';\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${h}${hourUnit} ${m}m ${s}s`;\n }\n\n return `${h}${hourUnit} ${m}m `;\n }\n \n return `${h} ${hourUnit}`;\n }\n\n if (m > 0) {\n if (includeSeconds && s > 0) {\n return `${m}m ${s}s`;\n }\n\n return `${m}m`;\n }\n\n return `${s}s`;\n }\n};\n\nexport { DurationHelper };","export enum MasterObjectTypes {\n Folder = 'category',\n CategoryTree = 'category_tree',\n CustomLibrary = 'custom_library',\n HostedLibrary = 'hosted_library',\n Exchange = 'exchange',\n Workspace = 'workspace',\n Video = 'video',\n Clip = 'clip',\n Interactive = 'interactive'\n}","// File types match metadata for a resource FileApi\nexport enum ResourceFileType {\n Pdf = 'pdf',\n Image = 'image',\n PowerPoint = 'powerpoint',\n Document = 'document',\n Excel = 'excel',\n Zip = 'archive',\n File = 'text'\n}\n","import React from 'react';\n\nexport function FileExcelSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.09 7-2.3-3.4h1.82l1.4 2.28 1.45-2.28h1.72l-2.29 3.41 2.49 3.73h-1.87l-1.56-2.47-1.59 2.47H8.6z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePdfSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M9.833 15.006c-.328.765-.657 1.316-.997 1.619-.35.312-.762.394-1.138.15a1.4 1.4 0 0 1-.358-.322c-.298-.402-.194-.843.165-1.2.228-.227.563-.433.983-.63.226-.106.466-.204.706-.292q.213-.539.43-1.205a42 42 0 0 0 .866-3.123c-.435-.563-.75-1.057-.924-1.473-.28-.67-.211-1.242.372-1.494.56-.24 1.047-.086 1.307.391.17.312.234.736.231 1.26a8 8 0 0 1-.086 1.088q.238.293.513.606a31 31 0 0 0 1.73 1.81 14 14 0 0 0 .863.761q.697-.106 1.213-.105c.947.002 1.554.319 1.415 1.079-.107.585-.514.888-1.06.834-.365-.036-.781-.224-1.259-.532a9 9 0 0 1-.538-.38 21 21 0 0 0-.944.191q-.586.131-1.22.3a45 45 0 0 0-2.27.667M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm4.43 8.39q-.104.315-.207.606l.055-.016a46 46 0 0 1 1.608-.459 34 34 0 0 1 1.538-.37 16 16 0 0 1-.378-.35 32 32 0 0 1-1.882-1.98l-.083.32a39 39 0 0 1-.652 2.248zm-2.157 2.603q.18-.162.382-.51a2.4 2.4 0 0 0-.553.37c-.092.092-.09.086-.083.096a.5.5 0 0 0 .138.116c.017.01.025.01.116-.072m7.434-2.3q-.07 0-.146.002c.242.132.443.209.585.223.11.011.118.005.146-.145.005-.027-.095-.079-.585-.08m-5.36-5.49q.098.235.283.53v-.05c.003-.393-.044-.696-.128-.85-.046-.086-.063-.091-.23-.02-.04.018-.05.092.075.39'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FilePptSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5.07 6.96h1.22q.27 0 .52-.04a1.2 1.2 0 0 0 .44-.155.84.84 0 0 0 .305-.325q.115-.21.115-.55t-.115-.55a.84.84 0 0 0-.305-.325 1.2 1.2 0 0 0-.44-.155 3 3 0 0 0-.52-.04h-1.22zM9.5 8.6h3.22q.67 0 1.14.195t.765.515.43.73a2.7 2.7 0 0 1 0 1.695q-.135.415-.43.735a2.1 2.1 0 0 1-.765.515q-.47.195-1.14.195h-1.65v2.56H9.5z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h7l6 5v10a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m6.586 1H6v14h12V9.414zM13 10h3.5a.5.5 0 1 1 0 1h-4a.5.5 0 0 1-.5-.5v-4a.5.5 0 1 1 1 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileWordSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm8.77 10.74h-1.56L12 10.88h-.02l-1.19 4.86H9.2L7.31 8.6h1.57l1.13 4.86h.02l1.24-4.86h1.47l1.22 4.92h.02l1.17-4.92h1.54z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import React from 'react';\n\nexport function FileZipSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M6 4h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1m0 1v14h12V5zm5 0h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1zm-1 1h1v1h-1zm1 1h1v1h-1z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { Library, Video } from 'libs/shared/interfaces';\n\nimport { FileExcelSvg } from '../images/svg/objects/FileExcelSvg';\nimport { FileImgSvg } from '../images/svg/objects/FileImgSvg';\nimport { FilePdfSvg } from '../images/svg/objects/FilePdfSvg';\nimport { FilePptSvg } from '../images/svg/objects/FilePptSvg';\nimport { FileSvg } from '../images/svg/objects/FileSvg';\nimport { FileWordSvg } from '../images/svg/objects/FileWordSvg';\nimport { FileZipSvg } from '../images/svg/objects/FileZipSvg';\nimport { FolderSvg } from '../images/svg/objects/FolderSvg';\n\n\nconst lang = 'shared.shared-utils';\n\nexport const VideoDetailsHelper = {\n mapRatingToClass(ratingValue: number): string {\n if (!ratingValue) return '';\n\n const ratings = (rating: number): string => {\n switch (true) {\n case (rating < 32):\n return 'bg-purple';\n case (rating < 48):\n return 'bg-green';\n case (rating < 80):\n return 'bg-blue';\n case (rating < 96):\n return 'bg-red';\n case (rating < 128):\n return 'bg-pink';\n case (rating >= 128):\n return 'bg-yellow';\n default:\n return ''; // Handles unrated\n }\n };\n\n return ratings(ratingValue);\n },\n\n mapSourceToDisplayName(library: Library, hasLite?: boolean): string {\n switch (library.type) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return library.name;\n case MasterObjectTypes.Exchange:\n return LanguageService.getPhrase(lang, 'exchange');\n case MasterObjectTypes.Workspace:\n return LanguageService.getPhrase(lang, hasLite ? 'myVideos' : 'workspace');\n default:\n return '';\n }\n },\n\n mapSourceToClass(sourceType: MasterObjectTypes | 'online_supplementary_library'): string {\n switch (sourceType) {\n case MasterObjectTypes.HostedLibrary:\n case MasterObjectTypes.CustomLibrary:\n return 'bg-blue';\n case MasterObjectTypes.Exchange:\n return 'bg-green';\n case MasterObjectTypes.Workspace:\n default:\n return 'bg-red';\n }\n },\n\n isInteractive(video: Video): boolean {\n return !!video?.interactives?.data?.length;\n },\n\n mapTypeToSvg(type: string): any {\n const types: HashObject = {\n [ResourceFileType.Pdf]: FilePdfSvg,\n [ResourceFileType.Image]: FileImgSvg,\n [ResourceFileType.PowerPoint]: FilePptSvg,\n [ResourceFileType.Document]: FileWordSvg,\n [ResourceFileType.Excel]: FileExcelSvg,\n [ResourceFileType.Zip]: FileZipSvg,\n [ResourceFileType.File]: FileSvg\n };\n\n let mappedType = types[type];\n\n if (!mappedType)\n mappedType = FolderSvg;\n\n return mappedType;\n },\n\n mapTypeToClass(type: string): any {\n switch (type) {\n case ResourceFileType.Pdf:\n return 'icon-red';\n\n case ResourceFileType.Image:\n return 'icon-purple';\n\n case ResourceFileType.Document:\n return 'icon-blue';\n\n case ResourceFileType.Excel:\n return 'icon-green';\n\n case ResourceFileType.PowerPoint:\n return 'icon-orange';\n\n case ResourceFileType.Zip:\n return 'icon-teal';\n\n case ResourceFileType.File:\n return 'icon-gray';\n\n default:\n return '';\n }\n },\n\n mapTypeToExtension(type: string): string {\n if (!type) return '';\n\n const extensions: HashObject = {\n pdf: 'pdf',\n image: 'png',\n powerpoint: 'pptx'\n };\n\n return extensions[type.toLowerCase()];\n },\n\n mapTypeToName(type: string): string {\n if (!type) return '';\n\n switch (type) {\n case ResourceFileType.Pdf: return LanguageService.getPhrase(lang, 'pdf');\n case ResourceFileType.Image: return LanguageService.getPhrase(lang, 'image');\n case ResourceFileType.Document: return LanguageService.getPhrase(lang, 'document');\n case ResourceFileType.Excel: return LanguageService.getPhrase(lang, 'spreadsheet');\n case ResourceFileType.PowerPoint: return LanguageService.getPhrase(lang, 'presentation');\n case ResourceFileType.Zip: return LanguageService.getPhrase(lang, 'zipArchive');\n case ResourceFileType.File: return LanguageService.getPhrase(lang, 'file');\n\n default:\n return '';\n }\n }\n};\n","import * as React from 'react';\nimport { Placement } from 'react-bootstrap/esm/types';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { VideoSource } from 'libs/shared/enums/VideoSource';\nimport { TrendingSvg } from 'libs/shared/images/svg/objects/TrendingSvg';\nimport { CloseCaptionBadgeSvg } from 'libs/shared/images/svg/status/CloseCaptionBadgeSvg';\nimport { DashboardStatus, Rating } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\nimport { RestrictionHelper } from 'libs/shared/utils/RestrictionHelper';\nimport { VideoDetailsHelper } from 'libs/shared/utils/VideoDetailsHelper';\n\nimport styles from './badge.module.scss';\n\nconst namespace = 'shared.badges';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport enum BadgeType {\n DurationExact = 'duration-exact',\n DurationApproximate = 'duration-approximate',\n Interactive = 'interactive',\n Rating = 'rating',\n ProductionYear = 'production-year',\n Captions = 'captions',\n Status = 'status',\n Trending = 'trending',\n Count = 'count',\n Restriction = 'restriction',\n Source = 'source'\n}\n\ntype BadgeSize = 'xs' | 'sm' | 'std' | 'lg';\n\ninterface BadgeProps {\n type: BadgeType;\n data: any;\n inline?: boolean;\n className?: string;\n /**\n * Only Trending badge supports this attribute atm\n */\n size?: BadgeSize;\n}\n\ninterface TooltipOptions {\n placement: Placement;\n title: string;\n}\n\nconst badgeSvgContainerSizeMap: {[key in BadgeSize]: SvgContainerSize} = {\n xs: SvgContainerSize.ExtraSmall,\n sm: SvgContainerSize.Small,\n std: SvgContainerSize.Standard,\n lg: SvgContainerSize.Large\n};\n\nconst badgeSizeClassNameMap: {[key in BadgeSize]: string} = {\n xs: 'badge-xs',\n sm: 'badge-sm',\n std: 'badge-std',\n lg: 'badge-lg'\n};\n\nfunction getStatusClassName(status: CurationStatus | DashboardStatus): string {\n switch (status) {\n case CurationStatus.Published:\n case DashboardStatus.Published:\n return 'bg-success';\n\n case CurationStatus.Archived:\n case CurationStatus.Rejected:\n case DashboardStatus.Archived:\n return 'bg-danger';\n\n case CurationStatus.Draft:\n case DashboardStatus.Draft:\n return 'draft-badge px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n case CurationStatus.Pending:\n case CurationStatus.Processing:\n return 'bg-warning';\n }\n}\n\nfunction getSourceClassName(sources: VideoSource[]): string {\n if (sources.includes(VideoSource.Streamable))\n return `px-1 text-nowrap d-flex align-items-center ${styles.streamable}`;\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'bg-indigo text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Exchange))\n return 'bg-orange text-white px-1 text-nowrap d-flex align-items-center';\n\n if (sources.includes(VideoSource.Twig))\n return `bg-pink text-white px-1 text-nowrap d-flex align-items-center`;\n\n return '';\n}\n\nfunction getClassName(type: BadgeType, data: any, size: BadgeSize): string {\n const baseClass = 'badge';\n const sizeClass = badgeSizeClassNameMap[size];\n\n let typeClass = '';\n\n if (type === BadgeType.DurationApproximate)\n typeClass = 'duration-badge-new px-2 rounded-pill text-nowrap d-flex align-items-center';\n\n if (type === BadgeType.DurationExact)\n typeClass = 'duration-badge';\n\n if (type === BadgeType.Interactive)\n typeClass = 'interactive-badge';\n\n if (type === BadgeType.Rating)\n typeClass = `rating-badge text-shadow ${VideoDetailsHelper.mapRatingToClass((data as Rating).value)}`;\n\n if (type === BadgeType.ProductionYear)\n typeClass = 'production-year-badge text-shadow';\n\n if (type === BadgeType.Captions)\n return 'p-0';\n\n if (type === BadgeType.Status)\n return `badge ${getStatusClassName(data)}`;\n\n if (type === BadgeType.Trending)\n return `trending-badge px-1 d-flex align-items-center ${sizeClass}`;\n\n if (type === BadgeType.Count)\n typeClass = 'count-badge px-1 rounded';\n\n if (type === BadgeType.Restriction) {\n const restrictionBgClass = RestrictionHelper.mapRestrictionToClass(data.restrictions);\n return classNames('restriction-badge rounded-pill px-2 d-flex align-items-center', restrictionBgClass);\n }\n \n if (type === BadgeType.Source)\n typeClass = getSourceClassName(data);\n\n return classNames(baseClass, typeClass);\n}\n\nfunction getBadgeContent(type: BadgeType, data: any, size: BadgeSize): string | JSX.Element {\n if (type === BadgeType.Interactive)\n return getPhrase('interactive');\n\n if (type === BadgeType.DurationApproximate)\n return DurationHelper.ToDisplayDurationNewStyle(data);\n\n if (type === BadgeType.DurationExact)\n return DurationHelper.ToDisplayDuration(data);\n\n if (type === BadgeType.Rating)\n return (data as Rating).code; // data expected to be a rating object\n\n if (type === BadgeType.ProductionYear)\n return data; // data should be the production year\n\n if (type === BadgeType.Captions)\n return <SvgContainer svg={CloseCaptionBadgeSvg} />;\n\n if (type === BadgeType.Status) {\n if (typeof(data) === 'number') {\n return CurationStatus[data];\n }\n return data;\n }\n\n if (type === BadgeType.Trending)\n return (\n <>\n <SvgContainer svg={TrendingSvg} size={badgeSvgContainerSizeMap[size]} />\n <span className='ps-1'>{data}</span>\n </>\n );\n\n if (type === BadgeType.Count)\n return data;\n\n if (type === BadgeType.Restriction)\n return (\n <>\n <SvgContainer\n svg={RestrictionHelper.mapRestrictionToSvg(data.restrictions)}\n />\n <span>\n {RestrictionHelper.mapRestrictionToText(data.restrictions, data.yearGroups)}\n </span>\n </>\n );\n\n if (type === BadgeType.Source) {\n const sources = data as VideoSource[];\n\n if (sources.includes(VideoSource.Streamable))\n return 'streamable';\n\n if (sources.includes(VideoSource.MoviesAndTv))\n return 'movies + tv';\n\n if (sources.includes(VideoSource.Exchange))\n return 'exchange';\n\n if (sources.includes(VideoSource.Twig))\n return 'twig';\n\n return '-';\n }\n}\n\nfunction getTooltip(type: BadgeType, data: any): TooltipOptions {\n if (type === BadgeType.Rating)\n return {\n title: (data as Rating).name,\n placement: 'top'\n };\n\n return null;\n}\n\nfunction hasData(type: BadgeType, data: any): boolean {\n if (typeof(data) === 'boolean')\n return !!data;\n\n if (type === BadgeType.Rating)\n return data && !!(data as Rating).value;\n\n if (type === BadgeType.Interactive)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Captions)\n return !!data?.length || !!data?.data?.length;\n\n if (type === BadgeType.Status)\n return typeof(data) === 'number' || typeof(data) === 'string';\n\n return !!data;\n}\n\nexport function Badge(props: BadgeProps): JSX.Element {\n const { type, data, size = 'std' } = props;\n \n if (!hasData(type, data))\n return <></>;\n\n let className = getClassName(type, data, size);\n className = `${className} ${props.inline ? 'd-inline-block' : 'd-flex justify-content-center'} ${props.className || ''}`;\n const content = getBadgeContent(type, data, size);\n const tooltip = getTooltip(type, data);\n const spanHackClassName = props.inline && 'd-inline-block';\n\n if (tooltip) {\n return (\n <div className='badge-wrapper d-inline'>\n <Tooltip {...tooltip} spanHack spanHackClassName={spanHackClassName}>\n <span className={className}>{content}</span>\n </Tooltip>\n </div>\n );\n }\n\n return <span className={`${className} badge-wrapper`}>{content}</span>;\n}"],"names":["DashboardStatus","DashboardTargetType","VideoSource","TrendingSvg","props","jsx","CloseCaptionBadgeSvg","padLeft","value","totalLength","padChar","diff","DurationHelper","milliseconds","showAll","_.isNumber","time","h","m","s","includeSeconds","hourUnit","MasterObjectTypes","ResourceFileType","FileExcelSvg","FilePdfSvg","FilePptSvg","FileSvg","FileWordSvg","FileZipSvg","lang","VideoDetailsHelper","ratingValue","rating","library","hasLite","LanguageService","sourceType","video","_b","_a","type","mappedType","FileImgSvg","FolderSvg","namespace","getPhrase","BadgeType","badgeSvgContainerSizeMap","SvgContainerSize","badgeSizeClassNameMap","getStatusClassName","status","CurationStatus","getSourceClassName","sources","styles","getClassName","data","size","baseClass","sizeClass","typeClass","restrictionBgClass","RestrictionHelper","classNames","getBadgeContent","SvgContainer","jsxs","Fragment","getTooltip","hasData","Badge","className","content","tooltip","spanHackClassName","Tooltip"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{a8 as o,aP as r}from"./app-DlxnnX-Y.js";const a={preventScrollTop(){o.Radio.channel(r.SHELL).trigger("prevent:scroll:top")}};export{a as S};
2
+ //# sourceMappingURL=BfA6QK2M.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BnkjQdg-.chunk.js","sources":["../../../../libs/common/src/backbone/utils/ScrollHelper.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};"],"names":["ScrollHelper","Radio","CommonChannels"],"mappings":"+CAIO,MAAMA,EAAe,CAE1B,kBAAyB,CACvBC,EAAAA,MAAM,QAAQC,EAAe,KAAK,EAAE,QAAQ,oBAAoB,CAClE,CACF"}
1
+ {"version":3,"file":"BfA6QK2M.chunk.js","sources":["../../../../libs/common/src/backbone/utils/ScrollHelper.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};"],"names":["ScrollHelper","Radio","CommonChannels"],"mappings":"+CAIO,MAAMA,EAAe,CAE1B,kBAAyB,CACvBC,EAAAA,MAAM,QAAQC,EAAe,KAAK,EAAE,QAAQ,oBAAoB,CAClE,CACF"}
@@ -1,2 +1,2 @@
1
- import{a3 as g,u as d,_ as u,b4 as l}from"./app-eQ6keCVj.js";import{u as c}from"./DX5d-qLN.chunk.js";import{T as f}from"./dlcOoTX2.chunk.js";function w(){var t;const e=g(f.regions());c(e);const{tvRegion:n,isLoadingSettings:s}=d(null),[r,a]=u("tv:region",{region:null},{storage:l.LocalStorage});function i(o){a({region:o.code})}return!((t=e.data)!=null&&t.length)||s?{isLoading:!0,region:null,setRegion:i}:r.region&&e.data.find(o=>o.code.toLowerCase()===r.region.toLowerCase())?{isLoading:!1,region:r.region.toUpperCase(),setRegion:i}:n&&e.data.find(o=>o.code.toLowerCase()===n.toLowerCase())?{isLoading:!1,region:n.toUpperCase(),setRegion:i}:{isLoading:!1,region:e.data[0].code,setRegion:i}}export{w as u};
2
- //# sourceMappingURL=DbB0S2ZQ.chunk.js.map
1
+ import{a3 as g,u as d,_ as u,b4 as l}from"./app-DlxnnX-Y.js";import{u as c}from"./CmQwEhN8.chunk.js";import{T as f}from"./97GoF_Eh.chunk.js";function w(){var t;const e=g(f.regions());c(e);const{tvRegion:n,isLoadingSettings:s}=d(null),[r,a]=u("tv:region",{region:null},{storage:l.LocalStorage});function i(o){a({region:o.code})}return!((t=e.data)!=null&&t.length)||s?{isLoading:!0,region:null,setRegion:i}:r.region&&e.data.find(o=>o.code.toLowerCase()===r.region.toLowerCase())?{isLoading:!1,region:r.region.toUpperCase(),setRegion:i}:n&&e.data.find(o=>o.code.toLowerCase()===n.toLowerCase())?{isLoading:!1,region:n.toUpperCase(),setRegion:i}:{isLoading:!1,region:e.data[0].code,setRegion:i}}export{w as u};
2
+ //# sourceMappingURL=BfAoEeOL.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DbB0S2ZQ.chunk.js","sources":["../../src/apps/tv/hooks/useSelectedRegion.ts"],"sourcesContent":["import { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useSelectedRegion() {\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n\n useHandleObjectError(regions);\n\n const { tvRegion: customerRegion, isLoadingSettings } = useSettings(null);\n\n const [ regionViewModel, setRegionViewModel ] = useViewModel('tv:region', { region: null }, { storage: StorageType.LocalStorage });\n\n function setRegion(newRegion: TvRegion): void {\n setRegionViewModel({ region: newRegion.code });\n }\n\n if (!regions.data?.length || isLoadingSettings)\n return { isLoading: true, region: null, setRegion };\n\n if (regionViewModel.region && regions.data.find(r => r.code.toLowerCase() === regionViewModel.region.toLowerCase()))\n return { isLoading: false, region: regionViewModel.region.toUpperCase(), setRegion };\n \n if (customerRegion && regions.data.find(r => r.code.toLowerCase() === customerRegion.toLowerCase()))\n return { isLoading: false, region: customerRegion.toUpperCase(), setRegion };\n\n return { isLoading: false, region: regions.data[0].code, setRegion };\n}"],"names":["useSelectedRegion","regions","Flight.useBasicFetch","TvRequests","useHandleObjectError","customerRegion","isLoadingSettings","useSettings","regionViewModel","setRegionViewModel","useViewModel","StorageType","setRegion","newRegion","_a","r"],"mappings":"6IAUO,SAASA,GAAoB,OAClC,MAAMC,EAAUC,EAAiCC,EAAW,SAAS,EAErEC,EAAqBH,CAAO,EAE5B,KAAM,CAAE,SAAUI,EAAgB,kBAAAC,CAAA,EAAsBC,EAAY,IAAI,EAElE,CAAEC,EAAiBC,CAAmB,EAAIC,EAAa,YAAa,CAAE,OAAQ,IAAA,EAAQ,CAAE,QAASC,EAAY,aAAc,EAEjI,SAASC,EAAUC,EAA2B,CAC5CJ,EAAmB,CAAE,OAAQI,EAAU,IAAA,CAAM,CAC/C,CAEA,MAAI,GAACC,EAAAb,EAAQ,OAAR,MAAAa,EAAc,SAAUR,EACpB,CAAE,UAAW,GAAM,OAAQ,KAAM,UAAAM,CAAA,EAEtCJ,EAAgB,QAAUP,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBP,EAAgB,OAAO,aAAa,EACzG,CAAE,UAAW,GAAO,OAAQA,EAAgB,OAAO,YAAA,EAAe,UAAAI,CAAA,EAEvEP,GAAkBJ,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBV,EAAe,YAAA,CAAa,EACzF,CAAE,UAAW,GAAO,OAAQA,EAAe,YAAA,EAAe,UAAAO,CAAA,EAE5D,CAAE,UAAW,GAAO,OAAQX,EAAQ,KAAK,CAAC,EAAE,KAAM,UAAAW,CAAA,CAC3D"}
1
+ {"version":3,"file":"BfAoEeOL.chunk.js","sources":["../../src/apps/tv/hooks/useSelectedRegion.ts"],"sourcesContent":["import { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { Flight } from 'libs/common/react/index';\n\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\n\nimport { TvRequests } from 'apps/tv/flight-requests/TvRequests';\nimport { TvRegion } from 'apps/tv/interfaces/models/TvRegion';\n\nexport function useSelectedRegion() {\n const regions = Flight.useBasicFetch<TvRegion[]>(TvRequests.regions());\n\n useHandleObjectError(regions);\n\n const { tvRegion: customerRegion, isLoadingSettings } = useSettings(null);\n\n const [ regionViewModel, setRegionViewModel ] = useViewModel('tv:region', { region: null }, { storage: StorageType.LocalStorage });\n\n function setRegion(newRegion: TvRegion): void {\n setRegionViewModel({ region: newRegion.code });\n }\n\n if (!regions.data?.length || isLoadingSettings)\n return { isLoading: true, region: null, setRegion };\n\n if (regionViewModel.region && regions.data.find(r => r.code.toLowerCase() === regionViewModel.region.toLowerCase()))\n return { isLoading: false, region: regionViewModel.region.toUpperCase(), setRegion };\n \n if (customerRegion && regions.data.find(r => r.code.toLowerCase() === customerRegion.toLowerCase()))\n return { isLoading: false, region: customerRegion.toUpperCase(), setRegion };\n\n return { isLoading: false, region: regions.data[0].code, setRegion };\n}"],"names":["useSelectedRegion","regions","Flight.useBasicFetch","TvRequests","useHandleObjectError","customerRegion","isLoadingSettings","useSettings","regionViewModel","setRegionViewModel","useViewModel","StorageType","setRegion","newRegion","_a","r"],"mappings":"6IAUO,SAASA,GAAoB,OAClC,MAAMC,EAAUC,EAAiCC,EAAW,SAAS,EAErEC,EAAqBH,CAAO,EAE5B,KAAM,CAAE,SAAUI,EAAgB,kBAAAC,CAAA,EAAsBC,EAAY,IAAI,EAElE,CAAEC,EAAiBC,CAAmB,EAAIC,EAAa,YAAa,CAAE,OAAQ,IAAA,EAAQ,CAAE,QAASC,EAAY,aAAc,EAEjI,SAASC,EAAUC,EAA2B,CAC5CJ,EAAmB,CAAE,OAAQI,EAAU,IAAA,CAAM,CAC/C,CAEA,MAAI,GAACC,EAAAb,EAAQ,OAAR,MAAAa,EAAc,SAAUR,EACpB,CAAE,UAAW,GAAM,OAAQ,KAAM,UAAAM,CAAA,EAEtCJ,EAAgB,QAAUP,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBP,EAAgB,OAAO,aAAa,EACzG,CAAE,UAAW,GAAO,OAAQA,EAAgB,OAAO,YAAA,EAAe,UAAAI,CAAA,EAEvEP,GAAkBJ,EAAQ,KAAK,KAAKc,GAAKA,EAAE,KAAK,YAAA,IAAkBV,EAAe,YAAA,CAAa,EACzF,CAAE,UAAW,GAAO,OAAQA,EAAe,YAAA,EAAe,UAAAO,CAAA,EAE5D,CAAE,UAAW,GAAO,OAAQX,EAAQ,KAAK,CAAC,EAAE,KAAM,UAAAW,CAAA,CAC3D"}
@@ -1,2 +1,2 @@
1
- import{H as l,c,U as i,S as n}from"./app-eQ6keCVj.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
2
- //# sourceMappingURL=0Rgjdcqz.chunk.js.map
1
+ import{H as l,c,U as i,S as n}from"./app-DlxnnX-Y.js";const p={domainLibraries(r,e,a,t){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:r,maxCategoryDepth:0}),key:`libraries:${r.sort().join(":")}`,formatData:s=>s.map(o=>o.data),success:e,error:a,always:t}},libraryRequestLibraries(){return{url:"{gateway}/v1/library-requests/libraries",key:"libraries"}},librariesWithCategories(){return{url:i.urlBuilder("/api/domain/v2/me/libraries",{type:["sharedLibrary","customLibrary","unpublishedCustomLibrary"],maxCategoryDepth:5}),key:"libraries:with:categories",normalize:!1}},librariesWithOwnerLogos(r,e,a,t){return r.sort(),{url:i.urlBuilder("/api/domain/v2/objects",{query:n.LIBRARY_COLLECTION,id:r}),key:`libraries:owner:logo:${r.join(",")}`,success:e,error:a,always:t}},library(r,e,a,t){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:n.LIBRARY}),key:`library:${r}`,success:e,error:a,always:t}},exchange(r){return{url:i.urlBuilder(`{gateway}/v1/objects/${r}`,{query:"categorytree"}),key:"exchange"}},streamableLearning(){return{url:"{gateway}/v1/streamable-learning-library",key:"streamable:learning"}},librarySubscribers(r,e){const a={};return e&&(a.cursor=e),{url:i.urlBuilder(`{gateway}/v1/library-requests/libraries/${r}/subscribers`,a),key:`library:subscribers:${r}:${e}`}},libraryOwner(r){return{url:`{gateway}/v1/library-requests/libraries/${r}/subscribers?ownerOnly=true`,key:`library:owner:${r}`,formatData:e=>c.first(e.data)}},updateSubscriberPermissions(r,e,a,t,s){return{url:`{gateway}/v1/libraries/${r}/library-request-permissions`,key:`update:subscriber:permissions:${r}:${e}`,type:l.PUT,data:{customerId:e,granted:a},invalidationKeys:[`library:owner:${r}`,`library:subscribers:${r}`],success:t,error:s}},removeSubscriber(r,e,a,t){return{url:`{gateway}/v1/objects/${r}/subscribedcustomers?memberId=${e}`,key:`revoke:subscription:${r}:${e}`,type:l.DELETE,invalidationKeys:[`library:subscribers:${r}`],success:a,error:t}},folder(r,e,a,t){return{url:`{gateway}/v1/objects/${r}?query=banner,libraries`,key:`library:folder:${r}`,success:e,error:a,always:t}},videoFolders(r){return{url:`{gateway}/v1/objects/${r}/categories?query=libraries`,key:`video:folders:${r}`}},folderParentTree(r,e,a,t){return{url:`/api/domain/v2/categories/${r}/parent-tree?includeAll=false`,key:`folder:parent:tree${r}`,success:e,error:a,always:t}},childFolders(r,e,a,t,s){let o=`{gateway}/v1/objects/${r}/categories?query={limit:100}thumbnail`,u=`child:folders:${r}`;return e&&(o+=`&cursor=${e}`,u+=`:${e}`),{url:o,key:u,formatData:b=>{const y=b.data.sort((d,m)=>d.name.toLowerCase().localeCompare(m.name.toLowerCase()));return{...b,data:y}},success:a,error:t,always:s}},addToLibrary(r,e){const a=["folder","videos",r.metadata.destinationCategoryId,e].filter(t=>!!t).join(":");return{url:"{gateway}/v1/library-requests",key:`add:${r.objectId}:to:${r.destinationLibraryId}:${r.metadata.destinationCategoryId}`,type:l.POST,data:r,invalidationKeys:a}},libraries(){return{url:"{gateway}/v1/users/me/libraries",key:"objects:libraries"}},libraryExport(r){return{url:"{gateway}/v1/libraries/export",key:"library:export",type:l.POST,data:r}},libraryExportV2(r){return{url:"{gateway}/v2/libraries/export",key:"library:export:v2",type:l.POST,data:r}}};export{p as L};
2
+ //# sourceMappingURL=BiAKqJdD.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0Rgjdcqz.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
1
+ {"version":3,"file":"BiAKqJdD.chunk.js","sources":["../../../../libs/shared/src/flight-requests/LibraryRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Folder, FolderCollection, Library, LibrarySubscriberCollection, MasterNestedObject } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryExportRequest } from 'libs/shared/interfaces/requests/LibraryExportRequest';\nimport { LibraryExportRequestV2 } from 'libs/shared/interfaces/requests/LibraryExportRequestV2';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nexport type DomainMasterCollectionType =\n 'sharedLibrary' |\n 'customLibrary' |\n 'unpublishedCustomLibrary' |\n 'exchange' |\n 'workspace' |\n 'hostedLibrary'\n\nexport const LibraryRequests = {\n domainLibraries(\n type: Array<DomainMasterCollectionType>,\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type,\n maxCategoryDepth: 0\n }),\n key: `libraries:${type.sort().join(':')}`,\n formatData: (data: MasterNestedObject<Library>[]) => data.map(d => d.data),\n success,\n error,\n always\n };\n },\n\n libraryRequestLibraries(): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries`,\n key: 'libraries'\n };\n },\n\n librariesWithCategories(): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: [ 'sharedLibrary', 'customLibrary', 'unpublishedCustomLibrary' ],\n maxCategoryDepth: 5\n }),\n key: 'libraries:with:categories',\n normalize: false\n };\n },\n\n librariesWithOwnerLogos(\n libraryIds: string[],\n success?: (data: Library[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n libraryIds.sort();\n\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/objects', {\n query: SharedWithStatements.LIBRARY_COLLECTION,\n id: libraryIds\n }),\n key: `libraries:owner:logo:${libraryIds.join(',')}`,\n success,\n error,\n always\n };\n },\n\n library(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: SharedWithStatements.LIBRARY\n }),\n key: `library:${id}`,\n success,\n error,\n always\n };\n },\n\n exchange(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/objects/${id}`, {\n query: 'categorytree'\n }),\n key: `exchange`\n };\n },\n\n streamableLearning(): Flight.Request {\n return {\n url: '{gateway}/v1/streamable-learning-library',\n key: 'streamable:learning'\n };\n },\n\n librarySubscribers(id: string, cursor?: string): Flight.Request {\n const params: HashObject = {};\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/library-requests/libraries/${id}/subscribers`, params),\n key: `library:subscribers:${id}:${cursor}`\n };\n },\n\n libraryOwner(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/library-requests/libraries/${id}/subscribers?ownerOnly=true`,\n key: `library:owner:${id}`,\n formatData: (collection: LibrarySubscriberCollection) => {\n return ArrayHelper.first(collection.data);\n }\n };\n },\n\n updateSubscriberPermissions(\n libraryId: string,\n customerId: string,\n allowLibraryRequests: boolean,\n success?: () => void,\n error?: (xhr?: LibraryApiXhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/libraries/${libraryId}/library-request-permissions`,\n key: `update:subscriber:permissions:${libraryId}:${customerId}`,\n type: HttpVerbs.PUT,\n data: {\n customerId,\n granted: allowLibraryRequests\n },\n invalidationKeys: [\n `library:owner:${libraryId}`,\n `library:subscribers:${libraryId}`\n ],\n success,\n error\n };\n },\n\n removeSubscriber(\n libraryId: string,\n customerId: string,\n success?: () => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${libraryId}/subscribedcustomers?memberId=${customerId}`,\n key: `revoke:subscription:${libraryId}:${customerId}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: [`library:subscribers:${libraryId}`],\n success,\n error\n };\n },\n\n folder(\n id: string,\n success?: (data: Folder) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}?query=banner,libraries`,\n key: `library:folder:${id}`,\n success,\n error,\n always\n };\n },\n\n videoFolders(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/categories?query=libraries`,\n key: `video:folders:${id}`\n };\n },\n\n folderParentTree(\n id: string,\n success?: (data: MasterNestedObject<Folder>) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/categories/${id}/parent-tree?includeAll=false`,\n key: `folder:parent:tree${id}`,\n success,\n error,\n always\n };\n },\n\n childFolders(\n id: string,\n cursor?: string,\n success?: (data: Folder[]) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n let url = `{gateway}/v1/objects/${id}/categories?query={limit:100}thumbnail`;\n let key = `child:folders:${id}`;\n\n if (cursor) {\n url += `&cursor=${cursor}`;\n key += `:${cursor}`;\n }\n\n return {\n url,\n key,\n formatData: (folders: FolderCollection) => {\n const data = folders.data.sort((a, b) => {\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\n });\n\n return {\n ...folders,\n data\n };\n },\n success,\n error,\n always\n };\n },\n\n addToLibrary(data: AddToLibraryRequest, sort: VideoSortType): Flight.Request {\n const folderVideosKey = [ 'folder', 'videos', data.metadata.destinationCategoryId, sort ].filter(k => !!k).join(':');\n \n return {\n url: `{gateway}/v1/library-requests`,\n key: `add:${data.objectId}:to:${data.destinationLibraryId}:${data.metadata.destinationCategoryId}`,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: folderVideosKey\n };\n },\n\n libraries(): Flight.Request {\n return {\n url: '{gateway}/v1/users/me/libraries',\n key: 'objects:libraries'\n };\n },\n\n libraryExport(data: LibraryExportRequest): Flight.Request {\n return {\n url: '{gateway}/v1/libraries/export',\n key: 'library:export',\n type: HttpVerbs.POST,\n data\n };\n },\n\n libraryExportV2(data: LibraryExportRequestV2): Flight.Request {\n return {\n url: '{gateway}/v2/libraries/export',\n key: 'library:export:v2',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["LibraryRequests","type","success","error","always","UrlHelper","data","d","libraryIds","SharedWithStatements","id","cursor","params","collection","ArrayHelper","libraryId","customerId","allowLibraryRequests","HttpVerbs","url","key","folders","a","b","sort","folderVideosKey","k"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as o,d,j as e,e as D,f as c,g as L,h as R,i as p,k as $,C as b,l as S}from"./app-eQ6keCVj.js";const g=D("h4");g.displayName="DivStyledAsH4";const N=o.forwardRef(({className:s,bsPrefix:a,as:r=g,...n},t)=>(a=d(a,"alert-heading"),e.jsx(r,{ref:t,className:c(s,a),...n})));N.displayName="AlertHeading";const A=o.forwardRef(({className:s,bsPrefix:a,as:r=L,...n},t)=>(a=d(a,"alert-link"),e.jsx(r,{ref:t,className:c(s,a),...n})));A.displayName="AlertLink";const C=o.forwardRef((s,a)=>{const{bsPrefix:r,show:n=!0,closeLabel:t="Close alert",closeVariant:k,className:w,children:y,variant:h="primary",onClose:m,dismissible:u,transition:f=p,...x}=R(s,{show:"onClose"}),l=d(r,"alert"),E=$(H=>{m&&m(!1,H)}),i=f===!0?p:f,j=e.jsxs("div",{role:"alert",...i?void 0:x,ref:a,className:c(w,l,h&&`${l}-${h}`,u&&`${l}-dismissible`),children:[u&&e.jsx(b,{onClick:E,"aria-label":t,variant:k}),y]});return i?e.jsx(i,{unmountOnExit:!0,...x,ref:void 0,in:n,children:j}):n?j:null});C.displayName="Alert";const v=Object.assign(C,{Link:A,Heading:N});function F({error:s}){return S({title:"Dev Error"}),s?e.jsxs("div",{className:"px-3",children:[e.jsx("h1",{children:s.name}),e.jsx(v,{variant:"danger",children:e.jsx("h2",{children:s.message})}),e.jsxs(v,{variant:"warning",children:[e.jsx("h3",{children:"Call stack"}),e.jsx("code",{children:s.stack})]})]}):e.jsx(e.Fragment,{})}export{F as DevErrorView};
2
- //# sourceMappingURL=CssHbHjG.chunk.js.map
1
+ import{r as o,d,j as e,e as D,f as c,g as L,h as R,i as p,k as $,C as b,l as S}from"./app-DlxnnX-Y.js";const g=D("h4");g.displayName="DivStyledAsH4";const N=o.forwardRef(({className:s,bsPrefix:a,as:r=g,...n},t)=>(a=d(a,"alert-heading"),e.jsx(r,{ref:t,className:c(s,a),...n})));N.displayName="AlertHeading";const A=o.forwardRef(({className:s,bsPrefix:a,as:r=L,...n},t)=>(a=d(a,"alert-link"),e.jsx(r,{ref:t,className:c(s,a),...n})));A.displayName="AlertLink";const C=o.forwardRef((s,a)=>{const{bsPrefix:r,show:n=!0,closeLabel:t="Close alert",closeVariant:k,className:w,children:y,variant:h="primary",onClose:m,dismissible:u,transition:f=p,...x}=R(s,{show:"onClose"}),l=d(r,"alert"),E=$(H=>{m&&m(!1,H)}),i=f===!0?p:f,j=e.jsxs("div",{role:"alert",...i?void 0:x,ref:a,className:c(w,l,h&&`${l}-${h}`,u&&`${l}-dismissible`),children:[u&&e.jsx(b,{onClick:E,"aria-label":t,variant:k}),y]});return i?e.jsx(i,{unmountOnExit:!0,...x,ref:void 0,in:n,children:j}):n?j:null});C.displayName="Alert";const v=Object.assign(C,{Link:A,Heading:N});function F({error:s}){return S({title:"Dev Error"}),s?e.jsxs("div",{className:"px-3",children:[e.jsx("h1",{children:s.name}),e.jsx(v,{variant:"danger",children:e.jsx("h2",{children:s.message})}),e.jsxs(v,{variant:"warning",children:[e.jsx("h3",{children:"Call stack"}),e.jsx("code",{children:s.stack})]})]}):e.jsx(e.Fragment,{})}export{F as DevErrorView};
2
+ //# sourceMappingURL=BmU_YUbl.chunk.js.map