@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.
- package/dist/bundles.json +1 -1
- package/dist/css/{CczLEc2p.chunk.css → BBuiH5XR.chunk.css} +1 -1
- package/dist/en.json +1 -1
- package/dist/scripts/{B1IKzVyn.chunk.js → 59HBVVj3.chunk.js} +2 -2
- package/dist/scripts/{B1IKzVyn.chunk.js.map → 59HBVVj3.chunk.js.map} +1 -1
- package/dist/scripts/{DmL0FSJr.chunk.js → 77QNnWjW.chunk.js} +2 -2
- package/dist/scripts/{DmL0FSJr.chunk.js.map → 77QNnWjW.chunk.js.map} +1 -1
- package/dist/scripts/{dlcOoTX2.chunk.js → 97GoF_Eh.chunk.js} +2 -2
- package/dist/scripts/{dlcOoTX2.chunk.js.map → 97GoF_Eh.chunk.js.map} +1 -1
- package/dist/scripts/{DkVa76dg.chunk.js → A03ti58C.chunk.js} +2 -2
- package/dist/scripts/{DkVa76dg.chunk.js.map → A03ti58C.chunk.js.map} +1 -1
- package/dist/scripts/{DEFuGMsd.chunk.js → B0qPCCXt.chunk.js} +2 -2
- package/dist/scripts/{DEFuGMsd.chunk.js.map → B0qPCCXt.chunk.js.map} +1 -1
- package/dist/scripts/{CYuWFG4C.chunk.js → B3P1JDvZ.chunk.js} +2 -2
- package/dist/scripts/{CYuWFG4C.chunk.js.map → B3P1JDvZ.chunk.js.map} +1 -1
- package/dist/scripts/{BKID_sLP.chunk.js → B3hUKuRr.chunk.js} +2 -2
- package/dist/scripts/{BKID_sLP.chunk.js.map → B3hUKuRr.chunk.js.map} +1 -1
- package/dist/scripts/{CrYQzjgZ.chunk.js → B7sQixjZ.chunk.js} +2 -2
- package/dist/scripts/{CrYQzjgZ.chunk.js.map → B7sQixjZ.chunk.js.map} +1 -1
- package/dist/scripts/{CQnwddP2.chunk.js → B9q9og3n.chunk.js} +2 -2
- package/dist/scripts/{CQnwddP2.chunk.js.map → B9q9og3n.chunk.js.map} +1 -1
- package/dist/scripts/{Doc0JWTn.chunk.js → BD8uJxiB.chunk.js} +2 -2
- package/dist/scripts/{Doc0JWTn.chunk.js.map → BD8uJxiB.chunk.js.map} +1 -1
- package/dist/scripts/{C8Ld-38h.chunk.js → BJaYD8dc.chunk.js} +2 -2
- package/dist/scripts/{C8Ld-38h.chunk.js.map → BJaYD8dc.chunk.js.map} +1 -1
- package/dist/scripts/{DfLXqnWC.chunk.js → BMTawQoz.chunk.js} +2 -2
- package/dist/scripts/{DfLXqnWC.chunk.js.map → BMTawQoz.chunk.js.map} +1 -1
- package/dist/scripts/{BWu0k43d.chunk.js → BP-61ONz.chunk.js} +2 -2
- package/dist/scripts/{BWu0k43d.chunk.js.map → BP-61ONz.chunk.js.map} +1 -1
- package/dist/scripts/{COMMZ5NT.chunk.js → BQiCELUH.chunk.js} +2 -2
- package/dist/scripts/{COMMZ5NT.chunk.js.map → BQiCELUH.chunk.js.map} +1 -1
- package/dist/scripts/{Dj2iNM2-.chunk.js → BQz8nP4M.chunk.js} +2 -2
- package/dist/scripts/{Dj2iNM2-.chunk.js.map → BQz8nP4M.chunk.js.map} +1 -1
- package/dist/scripts/{p9Hw1u0F.chunk.js → BSZHRB-3.chunk.js} +2 -2
- package/dist/scripts/{p9Hw1u0F.chunk.js.map → BSZHRB-3.chunk.js.map} +1 -1
- package/dist/scripts/{Ci21j_NU.chunk.js → BTJwiZTv.chunk.js} +2 -2
- package/dist/scripts/{Ci21j_NU.chunk.js.map → BTJwiZTv.chunk.js.map} +1 -1
- package/dist/scripts/{CqWuZzIu.chunk.js → BVbJxgV8.chunk.js} +2 -2
- package/dist/scripts/{CqWuZzIu.chunk.js.map → BVbJxgV8.chunk.js.map} +1 -1
- package/dist/scripts/{aImHyMo0.chunk.js → BX8fMfGC.chunk.js} +2 -2
- package/dist/scripts/{aImHyMo0.chunk.js.map → BX8fMfGC.chunk.js.map} +1 -1
- package/dist/scripts/{D91xJv6J.chunk.js → BaNAbBYa.chunk.js} +2 -2
- package/dist/scripts/{D91xJv6J.chunk.js.map → BaNAbBYa.chunk.js.map} +1 -1
- package/dist/scripts/{BImNArot.chunk.js → BazXwFtM.chunk.js} +2 -2
- package/dist/scripts/{BImNArot.chunk.js.map → BazXwFtM.chunk.js.map} +1 -1
- package/dist/scripts/{e9ZqHdMv.chunk.js → BbGFMokw.chunk.js} +2 -2
- package/dist/scripts/{e9ZqHdMv.chunk.js.map → BbGFMokw.chunk.js.map} +1 -1
- package/dist/scripts/BfA6QK2M.chunk.js +2 -0
- package/dist/scripts/{BnkjQdg-.chunk.js.map → BfA6QK2M.chunk.js.map} +1 -1
- package/dist/scripts/{DbB0S2ZQ.chunk.js → BfAoEeOL.chunk.js} +2 -2
- package/dist/scripts/{DbB0S2ZQ.chunk.js.map → BfAoEeOL.chunk.js.map} +1 -1
- package/dist/scripts/{0Rgjdcqz.chunk.js → BiAKqJdD.chunk.js} +2 -2
- package/dist/scripts/{0Rgjdcqz.chunk.js.map → BiAKqJdD.chunk.js.map} +1 -1
- package/dist/scripts/{CssHbHjG.chunk.js → BmU_YUbl.chunk.js} +2 -2
- package/dist/scripts/{CssHbHjG.chunk.js.map → BmU_YUbl.chunk.js.map} +1 -1
- package/dist/scripts/{SmYpiCQA.chunk.js → BuSLCxEs.chunk.js} +2 -2
- package/dist/scripts/{SmYpiCQA.chunk.js.map → BuSLCxEs.chunk.js.map} +1 -1
- package/dist/scripts/{BZp1TuCa.chunk.js → Bvlv6PGR.chunk.js} +2 -2
- package/dist/scripts/{BZp1TuCa.chunk.js.map → Bvlv6PGR.chunk.js.map} +1 -1
- package/dist/scripts/{BYXBfLyn.chunk.js → BwS3tIqZ.chunk.js} +2 -2
- package/dist/scripts/{BYXBfLyn.chunk.js.map → BwS3tIqZ.chunk.js.map} +1 -1
- package/dist/scripts/{S6sUSK4X.chunk.js → ByKnIsJG.chunk.js} +2 -2
- package/dist/scripts/{S6sUSK4X.chunk.js.map → ByKnIsJG.chunk.js.map} +1 -1
- package/dist/scripts/Bz5fsSmV.chunk.js +15 -0
- package/dist/scripts/Bz5fsSmV.chunk.js.map +1 -0
- package/dist/scripts/{CXmjzxZL.chunk.js → C06GoFsR.chunk.js} +2 -2
- package/dist/scripts/{CXmjzxZL.chunk.js.map → C06GoFsR.chunk.js.map} +1 -1
- package/dist/scripts/{CYbmYWz6.chunk.js → C3cp4ax7.chunk.js} +2 -2
- package/dist/scripts/{CYbmYWz6.chunk.js.map → C3cp4ax7.chunk.js.map} +1 -1
- package/dist/scripts/{BHQ-iEoW.chunk.js → C7giBbHJ.chunk.js} +2 -2
- package/dist/scripts/{BHQ-iEoW.chunk.js.map → C7giBbHJ.chunk.js.map} +1 -1
- package/dist/scripts/{CWAi8BHf.chunk.js → CEXoa-wM.chunk.js} +2 -2
- package/dist/scripts/{CWAi8BHf.chunk.js.map → CEXoa-wM.chunk.js.map} +1 -1
- package/dist/scripts/{lO5fmjgI.chunk.js → CKbq02SS.chunk.js} +2 -2
- package/dist/scripts/{lO5fmjgI.chunk.js.map → CKbq02SS.chunk.js.map} +1 -1
- package/dist/scripts/{CxZxk1HQ.chunk.js → CNVerO1q.chunk.js} +2 -2
- package/dist/scripts/{CxZxk1HQ.chunk.js.map → CNVerO1q.chunk.js.map} +1 -1
- package/dist/scripts/{5jG1qquw.chunk.js → CNat3TfQ.chunk.js} +2 -2
- package/dist/scripts/{5jG1qquw.chunk.js.map → CNat3TfQ.chunk.js.map} +1 -1
- package/dist/scripts/{D-lhN8Br.chunk.js → CP5MKWC_.chunk.js} +2 -2
- package/dist/scripts/{D-lhN8Br.chunk.js.map → CP5MKWC_.chunk.js.map} +1 -1
- package/dist/scripts/{CiOp7PM4.chunk.js → CSvE-r6r.chunk.js} +2 -2
- package/dist/scripts/{CiOp7PM4.chunk.js.map → CSvE-r6r.chunk.js.map} +1 -1
- package/dist/scripts/{BZhnbXlC.chunk.js → CW4iXW5L.chunk.js} +2 -2
- package/dist/scripts/{BZhnbXlC.chunk.js.map → CW4iXW5L.chunk.js.map} +1 -1
- package/dist/scripts/{-Xvqr6f_.chunk.js → CWdK_7iP.chunk.js} +2 -2
- package/dist/scripts/{-Xvqr6f_.chunk.js.map → CWdK_7iP.chunk.js.map} +1 -1
- package/dist/scripts/{jFTHf_UL.chunk.js → CWjXnQlc.chunk.js} +2 -2
- package/dist/scripts/{jFTHf_UL.chunk.js.map → CWjXnQlc.chunk.js.map} +1 -1
- package/dist/scripts/{BwuTkpPz.chunk.js → CXEroOnb.chunk.js} +2 -2
- package/dist/scripts/{BwuTkpPz.chunk.js.map → CXEroOnb.chunk.js.map} +1 -1
- package/dist/scripts/{DMu9QirA.chunk.js → C_KOP_pH.chunk.js} +2 -2
- package/dist/scripts/{DMu9QirA.chunk.js.map → C_KOP_pH.chunk.js.map} +1 -1
- package/dist/scripts/CbqPW1QD.chunk.js +2 -0
- package/dist/scripts/{COkVtt29.chunk.js.map → CbqPW1QD.chunk.js.map} +1 -1
- package/dist/scripts/{BI2RzMBo.chunk.js → CelK9zYh.chunk.js} +2 -2
- package/dist/scripts/{BI2RzMBo.chunk.js.map → CelK9zYh.chunk.js.map} +1 -1
- package/dist/scripts/{DsAzRbUN.chunk.js → Cj7-nmDw.chunk.js} +2 -2
- package/dist/scripts/{DsAzRbUN.chunk.js.map → Cj7-nmDw.chunk.js.map} +1 -1
- package/dist/scripts/{CoZqjJhl.chunk.js → CkXDJSIC.chunk.js} +2 -2
- package/dist/scripts/{CoZqjJhl.chunk.js.map → CkXDJSIC.chunk.js.map} +1 -1
- package/dist/scripts/CmKuC0AJ.chunk.js +2 -0
- package/dist/scripts/CmKuC0AJ.chunk.js.map +1 -0
- package/dist/scripts/CmQwEhN8.chunk.js +2 -0
- package/dist/scripts/{DX5d-qLN.chunk.js.map → CmQwEhN8.chunk.js.map} +1 -1
- package/dist/scripts/{CKE8GGKH.chunk.js → CsI_aEby.chunk.js} +2 -2
- package/dist/scripts/{CKE8GGKH.chunk.js.map → CsI_aEby.chunk.js.map} +1 -1
- package/dist/scripts/{B9372wBc.chunk.js → CtbOxRCF.chunk.js} +2 -2
- package/dist/scripts/{B9372wBc.chunk.js.map → CtbOxRCF.chunk.js.map} +1 -1
- package/dist/scripts/{Ux2KpCQK.chunk.js → CxNf401G.chunk.js} +2 -2
- package/dist/scripts/{Ux2KpCQK.chunk.js.map → CxNf401G.chunk.js.map} +1 -1
- package/dist/scripts/{CeNx5Kzz.chunk.js → Cxg7zIQ7.chunk.js} +2 -2
- package/dist/scripts/{CeNx5Kzz.chunk.js.map → Cxg7zIQ7.chunk.js.map} +1 -1
- package/dist/scripts/{WuuAAnHZ.chunk.js → CyTjm-iy.chunk.js} +2 -2
- package/dist/scripts/{WuuAAnHZ.chunk.js.map → CyTjm-iy.chunk.js.map} +1 -1
- package/dist/scripts/{CfiDZ6LP.chunk.js → D-XHMtrK.chunk.js} +2 -2
- package/dist/scripts/{CfiDZ6LP.chunk.js.map → D-XHMtrK.chunk.js.map} +1 -1
- package/dist/scripts/{Dur2ee5n.chunk.js → D0Kez51H.chunk.js} +2 -2
- package/dist/scripts/{Dur2ee5n.chunk.js.map → D0Kez51H.chunk.js.map} +1 -1
- package/dist/scripts/{DUWvwOTa.chunk.js → D1O5BdYP.chunk.js} +2 -2
- package/dist/scripts/{DUWvwOTa.chunk.js.map → D1O5BdYP.chunk.js.map} +1 -1
- package/dist/scripts/{OZVJyZgM.chunk.js → D8QwkaNv.chunk.js} +2 -2
- package/dist/scripts/{OZVJyZgM.chunk.js.map → D8QwkaNv.chunk.js.map} +1 -1
- package/dist/scripts/{DvbFBcOQ.chunk.js → DDCwFNmm.chunk.js} +2 -2
- package/dist/scripts/{DvbFBcOQ.chunk.js.map → DDCwFNmm.chunk.js.map} +1 -1
- package/dist/scripts/{Cog61quf.chunk.js → DGdFdv74.chunk.js} +2 -2
- package/dist/scripts/{Cog61quf.chunk.js.map → DGdFdv74.chunk.js.map} +1 -1
- package/dist/scripts/DHQlkDUq.chunk.js +2 -0
- package/dist/scripts/{D0w9N-3T.chunk.js.map → DHQlkDUq.chunk.js.map} +1 -1
- package/dist/scripts/{D1o0K4Kj.chunk.js → DIzcUtXf.chunk.js} +2 -2
- package/dist/scripts/{D1o0K4Kj.chunk.js.map → DIzcUtXf.chunk.js.map} +1 -1
- package/dist/scripts/{BYq9jK40.chunk.js → DLqmmsup.chunk.js} +2 -2
- package/dist/scripts/{BYq9jK40.chunk.js.map → DLqmmsup.chunk.js.map} +1 -1
- package/dist/scripts/DOH54KcJ.chunk.js +2 -0
- package/dist/scripts/DOH54KcJ.chunk.js.map +1 -0
- package/dist/scripts/{CMUKx3aO.chunk.js → DQz3vFm9.chunk.js} +2 -2
- package/dist/scripts/{CMUKx3aO.chunk.js.map → DQz3vFm9.chunk.js.map} +1 -1
- package/dist/scripts/{BHC43d8p.chunk.js → DSuqoCKU.chunk.js} +2 -2
- package/dist/scripts/{BHC43d8p.chunk.js.map → DSuqoCKU.chunk.js.map} +1 -1
- package/dist/scripts/{Bj4aS_x2.chunk.js → DVgGpvRr.chunk.js} +2 -2
- package/dist/scripts/{Bj4aS_x2.chunk.js.map → DVgGpvRr.chunk.js.map} +1 -1
- package/dist/scripts/{j26kM5AB.chunk.js → DVqb0KMG.chunk.js} +2 -2
- package/dist/scripts/{j26kM5AB.chunk.js.map → DVqb0KMG.chunk.js.map} +1 -1
- package/dist/scripts/D_K0UgSq.chunk.js +2 -0
- package/dist/scripts/{DWYleim7.chunk.js.map → D_K0UgSq.chunk.js.map} +1 -1
- package/dist/scripts/{4r-SFWRv.chunk.js → DbQN84Ka.chunk.js} +2 -2
- package/dist/scripts/{4r-SFWRv.chunk.js.map → DbQN84Ka.chunk.js.map} +1 -1
- package/dist/scripts/{CqdCH0OC.chunk.js → DgCvHCTv.chunk.js} +2 -2
- package/dist/scripts/{CqdCH0OC.chunk.js.map → DgCvHCTv.chunk.js.map} +1 -1
- package/dist/scripts/{DZ9Qr412.chunk.js → DhiXbhAO.chunk.js} +2 -2
- package/dist/scripts/{DZ9Qr412.chunk.js.map → DhiXbhAO.chunk.js.map} +1 -1
- package/dist/scripts/{DbIiwJi6.chunk.js → DvMJBGNc.chunk.js} +2 -2
- package/dist/scripts/{DbIiwJi6.chunk.js.map → DvMJBGNc.chunk.js.map} +1 -1
- package/dist/scripts/{DQP0C036.chunk.js → DxppYmgw.chunk.js} +2 -2
- package/dist/scripts/{DQP0C036.chunk.js.map → DxppYmgw.chunk.js.map} +1 -1
- package/dist/scripts/{DlvPyEMc.chunk.js → DzTRfLQn.chunk.js} +2 -2
- package/dist/scripts/{DlvPyEMc.chunk.js.map → DzTRfLQn.chunk.js.map} +1 -1
- package/dist/scripts/EOyUW0EV.chunk.js +2 -0
- package/dist/scripts/{B6wIglzt.chunk.js.map → EOyUW0EV.chunk.js.map} +1 -1
- package/dist/scripts/{Dkw1yxVb.chunk.js → Ft5Mau7n.chunk.js} +2 -2
- package/dist/scripts/{Dkw1yxVb.chunk.js.map → Ft5Mau7n.chunk.js.map} +1 -1
- package/dist/scripts/{EypiXS_y.chunk.js → GIZO-DsR.chunk.js} +2 -2
- package/dist/scripts/{EypiXS_y.chunk.js.map → GIZO-DsR.chunk.js.map} +1 -1
- package/dist/scripts/{C-LZ1Pnr.chunk.js → PEkZnijT.chunk.js} +2 -2
- package/dist/scripts/{C-LZ1Pnr.chunk.js.map → PEkZnijT.chunk.js.map} +1 -1
- package/dist/scripts/{FwSaxfbL.chunk.js → YhHoI_hl.chunk.js} +3 -3
- package/dist/scripts/{FwSaxfbL.chunk.js.map → YhHoI_hl.chunk.js.map} +1 -1
- package/dist/scripts/{app-eQ6keCVj.js → app-DlxnnX-Y.js} +5 -5
- package/dist/scripts/{app-eQ6keCVj.js.map → app-DlxnnX-Y.js.map} +1 -1
- package/dist/scripts/{CBYrUSmz.chunk.js → eF4foLm3.chunk.js} +2 -2
- package/dist/scripts/{CBYrUSmz.chunk.js.map → eF4foLm3.chunk.js.map} +1 -1
- package/dist/scripts/{D4uscADt.chunk.js → faET_EvS.chunk.js} +2 -2
- package/dist/scripts/{D4uscADt.chunk.js.map → faET_EvS.chunk.js.map} +1 -1
- package/dist/scripts/{CtsGHZp3.chunk.js → i36I5rgn.chunk.js} +2 -2
- package/dist/scripts/{CtsGHZp3.chunk.js.map → i36I5rgn.chunk.js.map} +1 -1
- package/dist/scripts/i6PC1lEa.chunk.js +2 -0
- package/dist/scripts/{D8bdW5jN.chunk.js.map → i6PC1lEa.chunk.js.map} +1 -1
- package/dist/scripts/{BYTm1HdJ.chunk.js → mMvgsH8u.chunk.js} +2 -2
- package/dist/scripts/{BYTm1HdJ.chunk.js.map → mMvgsH8u.chunk.js.map} +1 -1
- package/dist/scripts/{1JtZW3TW.chunk.js → nzWgRE-N.chunk.js} +2 -2
- package/dist/scripts/{1JtZW3TW.chunk.js.map → nzWgRE-N.chunk.js.map} +1 -1
- package/dist/scripts/{DqYjDOWl.chunk.js → uFAznmkx.chunk.js} +2 -2
- package/dist/scripts/{DqYjDOWl.chunk.js.map → uFAznmkx.chunk.js.map} +1 -1
- package/dist/scripts/{zFY--sWD.chunk.js → wC1U3zaB.chunk.js} +2 -2
- package/dist/scripts/{zFY--sWD.chunk.js.map → wC1U3zaB.chunk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/B6wIglzt.chunk.js +0 -2
- package/dist/scripts/BnkjQdg-.chunk.js +0 -2
- package/dist/scripts/ByM31Op_.chunk.js +0 -2
- package/dist/scripts/ByM31Op_.chunk.js.map +0 -1
- package/dist/scripts/COkVtt29.chunk.js +0 -2
- package/dist/scripts/D0w9N-3T.chunk.js +0 -2
- package/dist/scripts/D8bdW5jN.chunk.js +0 -2
- package/dist/scripts/DWYleim7.chunk.js +0 -2
- package/dist/scripts/DX5d-qLN.chunk.js +0 -2
- package/dist/scripts/DoJDzZ7U.chunk.js +0 -15
- package/dist/scripts/DoJDzZ7U.chunk.js.map +0 -1
- package/dist/scripts/k5oLm6N7.chunk.js +0 -2
- package/dist/scripts/k5oLm6N7.chunk.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as r}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as r}from"./app-DlxnnX-Y.js";function s(l){return r.jsx("svg",{...l,children:r.jsx("path",{d:"m11.959 10.641 4.402-4.296a.964.964 0 0 1 1.358 0 .95.95 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.95.95 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .95.95 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.95.95 0 0 1 0-1.35.964.964 0 0 1 1.358 0z",fill:"currentColor"})})}export{s as C};
|
|
2
|
+
//# sourceMappingURL=59HBVVj3.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"59HBVVj3.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/CloseSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function CloseSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='m11.959 10.641 4.402-4.296a.964.964 0 0 1 1.358 0 .95.95 0 0 1 0 1.35l-4.403 4.297 4.403 4.378a.95.95 0 0 1 0 1.35.964.964 0 0 1-1.358 0l-4.402-4.378-4.32 4.378a.964.964 0 0 1-1.358 0 .95.95 0 0 1 0-1.35l4.32-4.378-4.32-4.362a.95.95 0 0 1 0-1.35.964.964 0 0 1 1.358 0z'\n fill='currentColor'\n />\n </svg>\n );\n}\n"],"names":["CloseSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAASC,EAAsC,CAC7D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+QACF,KAAK,cAAA,CAAA,EAET,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as a}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as a}from"./app-DlxnnX-Y.js";function s(e){return a.jsx("span",{id:`${e.name}Error`,className:`${e.className} invalid-feedback d-block`,role:"status",children:e.children})}export{s as F};
|
|
2
|
+
//# sourceMappingURL=77QNnWjW.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"77QNnWjW.chunk.js","sources":["../../../../libs/shared/src/components/forms/form-feedback/FormFeedback.tsx"],"sourcesContent":["import React from 'react';\n\ninterface FormFeedbackProps extends React.PropsWithChildren {\n name: string;\n className?: string;\n}\n\nexport function FormFeedback(props: FormFeedbackProps) {\n return (\n <span id={`${props.name}Error`} className={`${props.className} invalid-feedback d-block`} role='status'>{props.children}</span>\n );\n}"],"names":["FormFeedback","props","jsx"],"mappings":"sCAOO,SAASA,EAAaC,EAA0B,CACrD,OACEC,EAAAA,IAAC,OAAA,CAAK,GAAI,GAAGD,EAAM,IAAI,QAAS,UAAW,GAAGA,EAAM,SAAS,4BAA6B,KAAK,SAAU,WAAM,SAAS,CAE5H"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aB as n,as as g,Z as f,H as u,U as l}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{aB as n,as as g,Z as f,H as u,U as l}from"./app-DlxnnX-Y.js";var v=(e=>(e[e.AllResults=0]="AllResults",e[e.Subtitles=1]="Subtitles",e[e.TitleAndDescription=2]="TitleAndDescription",e))(v||{});function k(){const e=g.get("cv:holiday:dates");return f.isObject(e)?e:{startMonth:12,startDay:15,endMonth:1,endDay:6}}const D={getFormattedDateRange(e,r){return`${n.format(e,"Do MMMM YYYY")} - ${n.format(r,"Do MMMM YYYY")}`},getDateBroadcastParams(e){const r=a=>n.format(a,"YYYY-MM-DD"),t=r(new Date);switch(e){case"yesterday":return{from:r(n.subtract(t,1,"day")),to:t};case"last-week":return{from:r(n.subtract(t,7,"days")),to:t};case"last-2-weeks":return{from:r(n.subtract(t,14,"days")),to:t}}},isHolidayPeriod(){const{startMonth:e,startDay:r,endMonth:t,endDay:a}=k(),s=new Date,o=s.getMonth()+1,i=s.getDate();return o===e&&i>=r||o===t&&i<=a}},z={regions(){return{url:"/api/tv/api/v2/regions",key:"tv:regions",normalize:!1}},region(e){return{url:`/api/tv/api/v2/regions/${e}`,key:`tv:region:${e}`,normalize:!1}},dateRange(e){return{url:`/api/tv/api/v2/regions/${e}/daterange`,key:`tv:region:${e}:daterange`,normalize:!1}},channels(e){return{url:l.urlBuilder("/api/tv/api/v2/channels",{region:e}),key:`tv:channels:${e}`,normalize:!1,formatData:r=>r.sort((t,a)=>t.sortOrder-a.sortOrder)}},payTvChannels(){return{url:"/api/tv/v1/pay-tv/channels/all",key:"pay:tv:channels",normalize:!1}},programsByChannel(e,r,t,a){const s=l.urlBuilder(`/api/tv/api/v3/regions/${e}/channels/programs`,{channel:r,startDate:t,endDate:a}),o=["tv:programs:by:channel",e,r,t,a].join(":");return{url:s,key:o,normalize:!1}},programsByLetter(e,r,t,a){const s=l.urlBuilder("/api/tv/api/v2/Programs",{regionCode:e,startsWith:r,startDate:t,endDate:a}),o=["tv:programs:by:letter",e,r,t,a].join(":");return{url:s,key:o,normalize:!1}},program(e){return{url:`/api/tv/api/v3/programs/${e}`,key:`tv:programs:${e}`,normalize:!1}},search(e,r,t){const{query:a,dateBroadcast:s,...o}=r,i=t||1,d=o.filter||v.AllResults,c=l.urlBuilder("/api/tv/api/v4/search",{region:e,query:a,filter:d,...D.getDateBroadcastParams(s),...o,page:i,size:25}),m=Object.values({filter:d,dateBroadcast:s,...o}).join(":"),y=["tv:search",a,e,m,i].join(":");return{url:c,key:y,normalize:!1,formatData:p=>(p.page=i,p)}},addFullVideo(e,r){return{url:"/api/tv/api/v2/workspace/video",key:"tv:add:full:video",normalize:!1,type:u.POST,data:e,invalidationKeys:`tv:workspace:video:${r}`}},addAdFreeVideo(e,r){return{url:l.urlBuilder(`/api/tv/v4/programs/${e.id}/ad-free`,{customerId:e.customerId,userId:e.userId}),key:"tv:add:ad:free:video",normalize:!1,type:u.POST,invalidationKeys:`tv:workspace:video:${r}`}},adFreeCredits(e,r,t){const a=new Date;a.setHours(0,0,0,0),a.setMinutes(a.getMinutes()+a.getTimezoneOffset());const s=n.add(a,1,"day");return{url:l.urlBuilder("/api/tv/v4/user-requests",{userId:e,customerId:r,regionCode:t,from:n.convertUTCToLocal(a).toISOString(),to:n.convertUTCToLocal(s).toISOString()}),key:"tv:add:free:credits",normalize:!1}},createAdFreeRequest(e){return{url:l.urlBuilder("/api/tv/v4/user-requests/ad-free",{userId:e.userId,customerId:e.customerId}),key:"tv:create:add:free:request",normalize:!1,type:u.POST,data:{programId:e.programId,regionCode:e.regionCode},invalidationKeys:["tv:add:free:credits"]}},workspaceVideo(e,r,t){return{url:l.urlBuilder(`/api/tv/v4/workspace/programs/${e}`,{userId:r,customerId:t}),key:`tv:workspace:video:${e}`}},requestProgram(e){return{url:"/api/tv/v1/pay-tv/user-requests",key:"tv:request:program",type:u.POST,data:e}},requestProgramUk(e){return{url:"/api/tv/api/v1/user-requests/program",key:"tv:request:program:uk",type:u.POST,data:e}}};export{z as T,D as a};
|
|
2
|
+
//# sourceMappingURL=97GoF_Eh.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dlcOoTX2.chunk.js","sources":["../../src/apps/tv/interfaces/enums/TvSearchFilter.ts","../../src/apps/tv/utils/TvUtils.ts","../../src/apps/tv/flight-requests/TvRequests.ts"],"sourcesContent":["export enum TvSearchFilter {\n AllResults = 0,\n Subtitles = 1,\n TitleAndDescription = 2\n}","import { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n\nfunction getHolidayDates() {\n const cvHolidayOverride = LocalStorageHelper.get('cv:holiday:dates');\n\n if (ObjectHelper.isObject(cvHolidayOverride))\n return cvHolidayOverride;\n\n return {\n // Dec 15th\n startMonth: 12,\n startDay: 15,\n // Jan 6th\n endMonth: 1,\n endDay: 6\n };\n}\n\nexport const TvUtils = {\n getFormattedDateRange(startDate: string, endDate: string) {\n return `${DateHelper.format(startDate, 'Do MMMM YYYY')} - ${DateHelper.format(endDate, 'Do MMMM YYYY')}`;\n },\n getDateBroadcastParams(dateBroadcast: string) {\n const format = (date: Date) => DateHelper.format(date, 'YYYY-MM-DD');\n const todayDate = format(new Date());\n\n switch (dateBroadcast) {\n case 'yesterday':\n return {\n from: format(DateHelper.subtract(todayDate, 1, 'day')),\n to: todayDate\n };\n case 'last-week':\n return {\n from: format(DateHelper.subtract(todayDate, 7, 'days')),\n to: todayDate\n };\n case 'last-2-weeks':\n return {\n from: format(DateHelper.subtract(todayDate, 14, 'days')),\n to: todayDate\n };\n }\n },\n isHolidayPeriod(): boolean {\n const { startMonth, startDay, endMonth, endDay } = getHolidayDates();\n\n const today = new Date();\n const month = today.getMonth() + 1;\n const day = today.getDate();\n\n return ((month === startMonth && day >= startDay) || (month === endMonth && day <= endDay));\n }\n};\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvSearchFilter } from 'apps/tv/interfaces/enums/TvSearchFilter';\nimport { AddAdFreeVideoRequest } from 'apps/tv/interfaces/requests/AddAdFreeVideoRequest';\nimport { AddFullVideoRequest } from 'apps/tv/interfaces/requests/AddFullVideoRequest';\nimport { AdFreeRequest } from 'apps/tv/interfaces/requests/AdFreeRequest';\nimport { RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\n\nexport const TvRequests = {\n regions(): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions`,\n key: `tv:regions`,\n normalize: false\n };\n },\n\n region(region: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions/${region}`,\n key: `tv:region:${region}`,\n normalize: false\n };\n },\n\n dateRange(region: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions/${region}/daterange`,\n key: `tv:region:${region}:daterange`,\n normalize: false\n };\n },\n\n channels(region: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/api/v2/channels`, { region }),\n key: `tv:channels:${region}`,\n normalize: false,\n formatData: (data: any[]) => {\n return data.sort((a: any, b: any) => (a.sortOrder - b.sortOrder));\n }\n };\n },\n\n payTvChannels(): Flight.Request {\n return {\n url: '/api/tv/v1/pay-tv/channels/all',\n key: 'pay:tv:channels',\n normalize: false\n };\n },\n\n programsByChannel(\n region: string,\n channel: string,\n startDate: string,\n endDate: string\n ): Flight.Request {\n const url = UrlHelper.urlBuilder(`/api/tv/api/v3/regions/${region}/channels/programs`, {\n channel,\n startDate,\n endDate\n });\n\n const key = [ 'tv:programs:by:channel', region, channel, startDate, endDate ].join(':');\n\n return {\n url,\n key,\n normalize: false\n };\n },\n\n programsByLetter(\n regionCode: string,\n startsWith: string,\n startDate: string,\n endDate: string\n ): Flight.Request {\n const url = UrlHelper.urlBuilder(`/api/tv/api/v2/Programs`, {\n regionCode,\n startsWith,\n startDate,\n endDate\n });\n\n const key = [ 'tv:programs:by:letter', regionCode, startsWith, startDate, endDate ].join(':');\n\n return {\n url,\n key,\n normalize: false\n };\n },\n\n program(\n id: string\n ): Flight.Request {\n return {\n url: `/api/tv/api/v3/programs/${id}`,\n key: `tv:programs:${id}`,\n normalize: false\n };\n },\n\n search(\n region: string,\n queryParams: HashObject,\n pageParam: number\n ): Flight.Request {\n const { query, dateBroadcast, ...filters } = queryParams;\n const page = pageParam || 1;\n const filter = filters.filter || TvSearchFilter.AllResults;\n\n const url = UrlHelper.urlBuilder(`/api/tv/api/v4/search`, {\n region,\n query,\n filter,\n ...TvUtils.getDateBroadcastParams(dateBroadcast),\n ...filters,\n page,\n size: 25\n });\n\n const filterKeys = Object.values({ filter, dateBroadcast, ...filters }).join(':');\n const key = [ 'tv:search', query, region, filterKeys, page ].join(':');\n\n return {\n url,\n key,\n normalize: false,\n formatData: (data: any) => {\n data.page = page;\n return data;\n }\n };\n },\n\n addFullVideo(data: AddFullVideoRequest, id: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/workspace/video`,\n key: 'tv:add:full:video',\n normalize: false,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: `tv:workspace:video:${id}`\n };\n },\n\n addAdFreeVideo(data: AddAdFreeVideoRequest, id: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/programs/${data.id}/ad-free`, { customerId: data.customerId, userId: data.userId }),\n key: 'tv:add:ad:free:video',\n normalize: false,\n type: HttpVerbs.POST,\n invalidationKeys: `tv:workspace:video:${id}`\n };\n },\n\n adFreeCredits(\n userId: string,\n customerId: string,\n regionCode: string\n ): Flight.Request {\n // Start of today's date, offset by the local timezone.\n const from = new Date();\n from.setHours(0, 0, 0, 0);\n from.setMinutes(from.getMinutes() + from.getTimezoneOffset());\n\n const to = DateHelper.add(from, 1, 'day');\n\n const url = UrlHelper.urlBuilder(`/api/tv/v4/user-requests`, {\n userId,\n customerId,\n regionCode,\n from: DateHelper.convertUTCToLocal(from).toISOString(),\n to: DateHelper.convertUTCToLocal(to).toISOString()\n });\n\n return {\n url,\n key: 'tv:add:free:credits',\n normalize: false\n };\n },\n\n createAdFreeRequest(data: AdFreeRequest): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/user-requests/ad-free`, { userId: data.userId, customerId: data.customerId }),\n key: 'tv:create:add:free:request',\n normalize: false,\n type: HttpVerbs.POST,\n data: {\n programId: data.programId,\n regionCode: data.regionCode\n },\n invalidationKeys: ['tv:add:free:credits']\n };\n },\n\n workspaceVideo(videoId: string, userId: string, customerId: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/workspace/programs/${videoId}`, { userId, customerId }),\n key: `tv:workspace:video:${videoId}`\n };\n },\n\n requestProgram(data: RequestProgramRequest) {\n return {\n url: `/api/tv/v1/pay-tv/user-requests`,\n key: 'tv:request:program',\n type: HttpVerbs.POST,\n data\n };\n },\n\n requestProgramUk(data: RequestProgramUkRequest) {\n return {\n url: `/api/tv/api/v1/user-requests/program`,\n key: 'tv:request:program:uk',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["TvSearchFilter","getHolidayDates","cvHolidayOverride","LocalStorageHelper","ObjectHelper","TvUtils","startDate","endDate","DateHelper","dateBroadcast","format","date","todayDate","startMonth","startDay","endMonth","endDay","today","month","day","TvRequests","region","UrlHelper","data","a","b","channel","url","key","regionCode","startsWith","id","queryParams","pageParam","query","filters","page","filter","filterKeys","HttpVerbs","userId","customerId","from","to","videoId"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"97GoF_Eh.chunk.js","sources":["../../src/apps/tv/interfaces/enums/TvSearchFilter.ts","../../src/apps/tv/utils/TvUtils.ts","../../src/apps/tv/flight-requests/TvRequests.ts"],"sourcesContent":["export enum TvSearchFilter {\n AllResults = 0,\n Subtitles = 1,\n TitleAndDescription = 2\n}","import { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\n\nfunction getHolidayDates() {\n const cvHolidayOverride = LocalStorageHelper.get('cv:holiday:dates');\n\n if (ObjectHelper.isObject(cvHolidayOverride))\n return cvHolidayOverride;\n\n return {\n // Dec 15th\n startMonth: 12,\n startDay: 15,\n // Jan 6th\n endMonth: 1,\n endDay: 6\n };\n}\n\nexport const TvUtils = {\n getFormattedDateRange(startDate: string, endDate: string) {\n return `${DateHelper.format(startDate, 'Do MMMM YYYY')} - ${DateHelper.format(endDate, 'Do MMMM YYYY')}`;\n },\n getDateBroadcastParams(dateBroadcast: string) {\n const format = (date: Date) => DateHelper.format(date, 'YYYY-MM-DD');\n const todayDate = format(new Date());\n\n switch (dateBroadcast) {\n case 'yesterday':\n return {\n from: format(DateHelper.subtract(todayDate, 1, 'day')),\n to: todayDate\n };\n case 'last-week':\n return {\n from: format(DateHelper.subtract(todayDate, 7, 'days')),\n to: todayDate\n };\n case 'last-2-weeks':\n return {\n from: format(DateHelper.subtract(todayDate, 14, 'days')),\n to: todayDate\n };\n }\n },\n isHolidayPeriod(): boolean {\n const { startMonth, startDay, endMonth, endDay } = getHolidayDates();\n\n const today = new Date();\n const month = today.getMonth() + 1;\n const day = today.getDate();\n\n return ((month === startMonth && day >= startDay) || (month === endMonth && day <= endDay));\n }\n};\n","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvSearchFilter } from 'apps/tv/interfaces/enums/TvSearchFilter';\nimport { AddAdFreeVideoRequest } from 'apps/tv/interfaces/requests/AddAdFreeVideoRequest';\nimport { AddFullVideoRequest } from 'apps/tv/interfaces/requests/AddFullVideoRequest';\nimport { AdFreeRequest } from 'apps/tv/interfaces/requests/AdFreeRequest';\nimport { RequestProgramRequest, RequestProgramUkRequest } from 'apps/tv/interfaces/requests/RequestProgramRequest';\nimport { TvUtils } from 'apps/tv/utils/TvUtils';\n\nexport const TvRequests = {\n regions(): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions`,\n key: `tv:regions`,\n normalize: false\n };\n },\n\n region(region: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions/${region}`,\n key: `tv:region:${region}`,\n normalize: false\n };\n },\n\n dateRange(region: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/regions/${region}/daterange`,\n key: `tv:region:${region}:daterange`,\n normalize: false\n };\n },\n\n channels(region: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/api/v2/channels`, { region }),\n key: `tv:channels:${region}`,\n normalize: false,\n formatData: (data: any[]) => {\n return data.sort((a: any, b: any) => (a.sortOrder - b.sortOrder));\n }\n };\n },\n\n payTvChannels(): Flight.Request {\n return {\n url: '/api/tv/v1/pay-tv/channels/all',\n key: 'pay:tv:channels',\n normalize: false\n };\n },\n\n programsByChannel(\n region: string,\n channel: string,\n startDate: string,\n endDate: string\n ): Flight.Request {\n const url = UrlHelper.urlBuilder(`/api/tv/api/v3/regions/${region}/channels/programs`, {\n channel,\n startDate,\n endDate\n });\n\n const key = [ 'tv:programs:by:channel', region, channel, startDate, endDate ].join(':');\n\n return {\n url,\n key,\n normalize: false\n };\n },\n\n programsByLetter(\n regionCode: string,\n startsWith: string,\n startDate: string,\n endDate: string\n ): Flight.Request {\n const url = UrlHelper.urlBuilder(`/api/tv/api/v2/Programs`, {\n regionCode,\n startsWith,\n startDate,\n endDate\n });\n\n const key = [ 'tv:programs:by:letter', regionCode, startsWith, startDate, endDate ].join(':');\n\n return {\n url,\n key,\n normalize: false\n };\n },\n\n program(\n id: string\n ): Flight.Request {\n return {\n url: `/api/tv/api/v3/programs/${id}`,\n key: `tv:programs:${id}`,\n normalize: false\n };\n },\n\n search(\n region: string,\n queryParams: HashObject,\n pageParam: number\n ): Flight.Request {\n const { query, dateBroadcast, ...filters } = queryParams;\n const page = pageParam || 1;\n const filter = filters.filter || TvSearchFilter.AllResults;\n\n const url = UrlHelper.urlBuilder(`/api/tv/api/v4/search`, {\n region,\n query,\n filter,\n ...TvUtils.getDateBroadcastParams(dateBroadcast),\n ...filters,\n page,\n size: 25\n });\n\n const filterKeys = Object.values({ filter, dateBroadcast, ...filters }).join(':');\n const key = [ 'tv:search', query, region, filterKeys, page ].join(':');\n\n return {\n url,\n key,\n normalize: false,\n formatData: (data: any) => {\n data.page = page;\n return data;\n }\n };\n },\n\n addFullVideo(data: AddFullVideoRequest, id: string): Flight.Request {\n return {\n url: `/api/tv/api/v2/workspace/video`,\n key: 'tv:add:full:video',\n normalize: false,\n type: HttpVerbs.POST,\n data,\n invalidationKeys: `tv:workspace:video:${id}`\n };\n },\n\n addAdFreeVideo(data: AddAdFreeVideoRequest, id: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/programs/${data.id}/ad-free`, { customerId: data.customerId, userId: data.userId }),\n key: 'tv:add:ad:free:video',\n normalize: false,\n type: HttpVerbs.POST,\n invalidationKeys: `tv:workspace:video:${id}`\n };\n },\n\n adFreeCredits(\n userId: string,\n customerId: string,\n regionCode: string\n ): Flight.Request {\n // Start of today's date, offset by the local timezone.\n const from = new Date();\n from.setHours(0, 0, 0, 0);\n from.setMinutes(from.getMinutes() + from.getTimezoneOffset());\n\n const to = DateHelper.add(from, 1, 'day');\n\n const url = UrlHelper.urlBuilder(`/api/tv/v4/user-requests`, {\n userId,\n customerId,\n regionCode,\n from: DateHelper.convertUTCToLocal(from).toISOString(),\n to: DateHelper.convertUTCToLocal(to).toISOString()\n });\n\n return {\n url,\n key: 'tv:add:free:credits',\n normalize: false\n };\n },\n\n createAdFreeRequest(data: AdFreeRequest): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/user-requests/ad-free`, { userId: data.userId, customerId: data.customerId }),\n key: 'tv:create:add:free:request',\n normalize: false,\n type: HttpVerbs.POST,\n data: {\n programId: data.programId,\n regionCode: data.regionCode\n },\n invalidationKeys: ['tv:add:free:credits']\n };\n },\n\n workspaceVideo(videoId: string, userId: string, customerId: string): Flight.Request {\n return {\n url: UrlHelper.urlBuilder(`/api/tv/v4/workspace/programs/${videoId}`, { userId, customerId }),\n key: `tv:workspace:video:${videoId}`\n };\n },\n\n requestProgram(data: RequestProgramRequest) {\n return {\n url: `/api/tv/v1/pay-tv/user-requests`,\n key: 'tv:request:program',\n type: HttpVerbs.POST,\n data\n };\n },\n\n requestProgramUk(data: RequestProgramUkRequest) {\n return {\n url: `/api/tv/api/v1/user-requests/program`,\n key: 'tv:request:program:uk',\n type: HttpVerbs.POST,\n data\n };\n }\n};"],"names":["TvSearchFilter","getHolidayDates","cvHolidayOverride","LocalStorageHelper","ObjectHelper","TvUtils","startDate","endDate","DateHelper","dateBroadcast","format","date","todayDate","startMonth","startDay","endMonth","endDay","today","month","day","TvRequests","region","UrlHelper","data","a","b","channel","url","key","regionCode","startsWith","id","queryParams","pageParam","query","filters","page","filter","filterKeys","HttpVerbs","userId","customerId","from","to","videoId"],"mappings":"oEAAO,IAAKA,GAAAA,IACVA,EAAAA,EAAA,WAAa,CAAA,EAAb,aACAA,EAAAA,EAAA,UAAY,CAAA,EAAZ,YACAA,EAAAA,EAAA,oBAAsB,CAAA,EAAtB,sBAHUA,IAAAA,GAAA,CAAA,CAAA,ECKZ,SAASC,GAAkB,CACzB,MAAMC,EAAoBC,EAAmB,IAAI,kBAAkB,EAEnE,OAAIC,EAAa,SAASF,CAAiB,EAClCA,EAEF,CAEL,WAAY,GACZ,SAAU,GAEV,SAAU,EACV,OAAQ,CAAA,CAEZ,CAEO,MAAMG,EAAU,CACrB,sBAAsBC,EAAmBC,EAAiB,CACxD,MAAO,GAAGC,EAAW,OAAOF,EAAW,cAAc,CAAC,MAAME,EAAW,OAAOD,EAAS,cAAc,CAAC,EACxG,EACA,uBAAuBE,EAAuB,CAC5C,MAAMC,EAAUC,GAAeH,EAAW,OAAOG,EAAM,YAAY,EAC7DC,EAAYF,EAAO,IAAI,IAAM,EAEnC,OAAQD,EAAA,CACN,IAAK,YACH,MAAO,CACL,KAAMC,EAAOF,EAAW,SAASI,EAAW,EAAG,KAAK,CAAC,EACrD,GAAIA,CAAA,EAER,IAAK,YACH,MAAO,CACL,KAAMF,EAAOF,EAAW,SAASI,EAAW,EAAG,MAAM,CAAC,EACtD,GAAIA,CAAA,EAER,IAAK,eACH,MAAO,CACL,KAAMF,EAAOF,EAAW,SAASI,EAAW,GAAI,MAAM,CAAC,EACvD,GAAIA,CAAA,CACN,CAEN,EACA,iBAA2B,CACzB,KAAM,CAAE,WAAAC,EAAY,SAAAC,EAAU,SAAAC,EAAU,OAAAC,CAAA,EAAWf,EAAA,EAE7CgB,MAAY,KACZC,EAAQD,EAAM,SAAA,EAAa,EAC3BE,EAAMF,EAAM,QAAA,EAElB,OAASC,IAAUL,GAAcM,GAAOL,GAAcI,IAAUH,GAAYI,GAAOH,CACrF,CACF,EC3CaI,EAAa,CACxB,SAA0B,CACxB,MAAO,CACL,IAAK,yBACL,IAAK,aACL,UAAW,EAAA,CAEf,EAEA,OAAOC,EAAgC,CACrC,MAAO,CACL,IAAK,0BAA0BA,CAAM,GACrC,IAAK,aAAaA,CAAM,GACxB,UAAW,EAAA,CAEf,EAEA,UAAUA,EAAgC,CACxC,MAAO,CACL,IAAK,0BAA0BA,CAAM,aACrC,IAAK,aAAaA,CAAM,aACxB,UAAW,EAAA,CAEf,EAEA,SAASA,EAAgC,CACvC,MAAO,CACL,IAAKC,EAAU,WAAW,0BAA2B,CAAE,OAAAD,EAAQ,EAC/D,IAAK,eAAeA,CAAM,GAC1B,UAAW,GACX,WAAaE,GACJA,EAAK,KAAK,CAACC,EAAQC,IAAYD,EAAE,UAAYC,EAAE,SAAU,CAClE,CAEJ,EAEA,eAAgC,CAC9B,MAAO,CACL,IAAK,iCACL,IAAK,kBACL,UAAW,EAAA,CAEf,EAEA,kBACEJ,EACAK,EACApB,EACAC,EACgB,CAChB,MAAMoB,EAAML,EAAU,WAAW,0BAA0BD,CAAM,qBAAsB,CACrF,QAAAK,EACA,UAAApB,EACA,QAAAC,CAAA,CACD,EAEKqB,EAAM,CAAE,yBAA0BP,EAAQK,EAASpB,EAAWC,CAAQ,EAAE,KAAK,GAAG,EAEtF,MAAO,CACL,IAAAoB,EACA,IAAAC,EACA,UAAW,EAAA,CAEf,EAEA,iBACEC,EACAC,EACAxB,EACAC,EACgB,CAChB,MAAMoB,EAAML,EAAU,WAAW,0BAA2B,CAC1D,WAAAO,EACA,WAAAC,EACA,UAAAxB,EACA,QAAAC,CAAA,CACD,EAEKqB,EAAM,CAAE,wBAAyBC,EAAYC,EAAYxB,EAAWC,CAAQ,EAAE,KAAK,GAAG,EAE5F,MAAO,CACL,IAAAoB,EACA,IAAAC,EACA,UAAW,EAAA,CAEf,EAEA,QACEG,EACgB,CAChB,MAAO,CACL,IAAK,2BAA2BA,CAAE,GAClC,IAAK,eAAeA,CAAE,GACtB,UAAW,EAAA,CAEf,EAEA,OACEV,EACAW,EACAC,EACgB,CAChB,KAAM,CAAE,MAAAC,EAAO,cAAAzB,EAAe,GAAG0B,GAAYH,EACvCI,EAAOH,GAAa,EACpBI,EAASF,EAAQ,QAAUnC,EAAe,WAE1C2B,EAAML,EAAU,WAAW,wBAAyB,CACxD,OAAAD,EACA,MAAAa,EACA,OAAAG,EACA,GAAGhC,EAAQ,uBAAuBI,CAAa,EAC/C,GAAG0B,EACH,KAAAC,EACA,KAAM,EAAA,CACP,EAEKE,EAAa,OAAO,OAAO,CAAE,OAAAD,EAAQ,cAAA5B,EAAe,GAAG0B,CAAA,CAAS,EAAE,KAAK,GAAG,EAC1EP,EAAM,CAAE,YAAaM,EAAOb,EAAQiB,EAAYF,CAAK,EAAE,KAAK,GAAG,EAErE,MAAO,CACL,IAAAT,EACA,IAAAC,EACA,UAAW,GACX,WAAaL,IACXA,EAAK,KAAOa,EACLb,EACT,CAEJ,EAEA,aAAaA,EAA2BQ,EAA4B,CAClE,MAAO,CACL,IAAK,iCACL,IAAK,oBACL,UAAW,GACX,KAAMQ,EAAU,KAChB,KAAAhB,EACA,iBAAkB,sBAAsBQ,CAAE,EAAA,CAE9C,EAEA,eAAeR,EAA6BQ,EAA4B,CACtE,MAAO,CACL,IAAKT,EAAU,WAAW,uBAAuBC,EAAK,EAAE,WAAY,CAAE,WAAYA,EAAK,WAAY,OAAQA,EAAK,OAAQ,EACxH,IAAK,uBACL,UAAW,GACX,KAAMgB,EAAU,KAChB,iBAAkB,sBAAsBR,CAAE,EAAA,CAE9C,EAEA,cACES,EACAC,EACAZ,EACgB,CAEhB,MAAMa,MAAW,KACjBA,EAAK,SAAS,EAAG,EAAG,EAAG,CAAC,EACxBA,EAAK,WAAWA,EAAK,WAAA,EAAeA,EAAK,mBAAmB,EAE5D,MAAMC,EAAKnC,EAAW,IAAIkC,EAAM,EAAG,KAAK,EAUxC,MAAO,CACL,IATUpB,EAAU,WAAW,2BAA4B,CAC3D,OAAAkB,EACA,WAAAC,EACA,WAAAZ,EACA,KAAMrB,EAAW,kBAAkBkC,CAAI,EAAE,YAAA,EACzC,GAAIlC,EAAW,kBAAkBmC,CAAE,EAAE,YAAA,CAAY,CAClD,EAIC,IAAK,sBACL,UAAW,EAAA,CAEf,EAEA,oBAAoBpB,EAAqC,CACvD,MAAO,CACL,IAAKD,EAAU,WAAW,mCAAoC,CAAE,OAAQC,EAAK,OAAQ,WAAYA,EAAK,UAAA,CAAY,EAClH,IAAK,6BACL,UAAW,GACX,KAAMgB,EAAU,KAChB,KAAM,CACJ,UAAWhB,EAAK,UAChB,WAAYA,EAAK,UAAA,EAEnB,iBAAkB,CAAC,qBAAqB,CAAA,CAE5C,EAEA,eAAeqB,EAAiBJ,EAAgBC,EAAoC,CAClF,MAAO,CACL,IAAKnB,EAAU,WAAW,iCAAiCsB,CAAO,GAAI,CAAE,OAAAJ,EAAQ,WAAAC,EAAY,EAC5F,IAAK,sBAAsBG,CAAO,EAAA,CAEtC,EAEA,eAAerB,EAA6B,CAC1C,MAAO,CACL,IAAK,kCACL,IAAK,qBACL,KAAMgB,EAAU,KAChB,KAAAhB,CAAA,CAEJ,EAEA,iBAAiBA,EAA+B,CAC9C,MAAO,CACL,IAAK,uCACL,IAAK,wBACL,KAAMgB,EAAU,KAChB,KAAAhB,CAAA,CAEJ,CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{a3 as f,T as o,a as p,b as c,L as E,ao as A}from"./app-DlxnnX-Y.js";import{L}from"./BiAKqJdD.chunk.js";function x(a){var g,h;const{folderId:e,firstItem:r,lastItem:u,getAppLink:m}=a,l=f(e&&L.folderParentTree(e));if(!((h=(g=l.data)==null?void 0:g.children)!=null&&h.length))return[];const s=l.data.children.map(t=>({node:t,path:[t]}));let n=[];for(;s.length;){const{node:t,path:d}=s.pop();t.data.id.toString()===e.toString()&&(n=d.map(i=>({name:i.data.name,appLink:m(i)}))),t.children&&s.push(...t.children.map(i=>({node:i,path:[...d,i]})))}return r&&n.unshift(r),u&&n.push(u),a.setLastActive!==!1&&(n[n.length-1].active=!0),n}const S="exchange.exchangeUtils",k=E.encloseNamespace(S);function y(a){return{application:c.EXCHANGE,action:p.Exchange.PREVIEW,args:[a.id,o.slugify(a.name)]}}function C(a,e){return a!=null&&a.id?{application:c.EXCHANGE,action:p.Exchange.SERIES,args:[a.id,o.slugify(a.name)],params:{sort:e??A.Series}}:null}function I(a,e){return a?{application:c.EXCHANGE,action:p.Exchange.FOLDER,args:[a.id,o.slugify(a.name)],params:{sort:e}}:null}function G(a,e){return x({folderId:a,getAppLink:r=>I(r.data,e),firstItem:{name:k("exchangeArchive"),appLink:{application:c.EXCHANGE,action:p.Exchange.INDEX}}})}export{y as a,C as b,I as g,G as u};
|
|
2
|
+
//# sourceMappingURL=A03ti58C.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"A03ti58C.chunk.js","sources":["../../../../libs/shared/src/hooks/useBuildBreadcrumbs.ts","../../src/apps/exchange/utils/ExchangeUtils.ts"],"sourcesContent":["import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n setLastActive?: boolean;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(\n folderId && LibraryRequests.folderParentTree(folderId)\n );\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n if (options.setLastActive !== false)\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library, Series, Video } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/ExchangeActions';\nimport { AppChannels } from 'shared/constants/ExchangeRadioChannels';\n\nconst namespace = 'exchange.exchangeUtils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function getVideoAppLink(video: Video): Core.AppLink {\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.PREVIEW,\n args: [ video.id, TextHelper.slugify(video.name) ]\n };\n}\n\nexport function getSeriesAppLink(series: Series, sort?: string): Core.AppLink {\n if (!series?.id)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.SERIES,\n args: [ series.id, TextHelper.slugify(series.name) ],\n params: {\n sort: sort ?? VideoSortType.Series\n }\n };\n}\n\nexport function getFolderAppLink(folder: Folder, sort?: string): Core.AppLink {\n if (!folder)\n return null;\n\n return {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.FOLDER,\n args: [ folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < (folder.name?.length ?? 0); i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => getFolderAppLink(object.data, sort),\n firstItem: {\n name: getPhrase('exchangeArchive'),\n appLink: {\n application: AppChannels.EXCHANGE,\n action: Actions.Exchange.INDEX\n }\n }\n });\n}"],"names":["useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","Flight.useBasicFetch","LibraryRequests","_b","_a","searchStack","c","breadcrumbs","node","path","object","namespace","getPhrase","LanguageService","getVideoAppLink","video","AppChannels","Actions","TextHelper","getSeriesAppLink","series","sort","VideoSortType","getFolderAppLink","folder","useGetFolderBreadcrumbs"],"mappings":"8GAeO,SAASA,EAAoBC,EAAqC,SACvE,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,SAAAC,EAAU,WAAAC,GAAeJ,EAEhDK,EAAaC,EACjBL,GAAYM,EAAgB,iBAAiBN,CAAQ,CAAA,EAGvD,GAAI,GAACO,GAAAC,EAAAJ,EAAW,OAAX,YAAAI,EAAiB,WAAjB,MAAAD,EAA2B,QAC9B,MAAO,CAAA,EAET,MAAME,EAGAL,EAAW,KAAK,SAAS,IAAIM,IAAM,CAAE,KAAMA,EAAG,KAAM,CAACA,CAAC,GAAG,EAE/D,IAAIC,EAA4B,CAAA,EAEhC,KAAOF,EAAY,QAAQ,CACzB,KAAM,CAAE,KAAAG,EAAM,KAAAC,GAASJ,EAAY,IAAA,EAE/BG,EAAK,KAAK,GAAG,SAAA,IAAeZ,EAAS,SAAA,IACvCW,EAAcE,EAAK,IAAIC,IAAW,CAChC,KAAMA,EAAO,KAAK,KAClB,QAASX,EAAWW,CAAM,CAAA,EAC1B,GAEAF,EAAK,UACPH,EAAY,KAAK,GAAGG,EAAK,SAAS,QAAU,CAAE,KAAMF,EAAG,KAAM,CAAE,GAAGG,EAAMH,CAAE,CAAA,EAAG,CAAC,CAClF,CAEA,OAAIT,GAAWU,EAAY,QAAQV,CAAS,EACxCC,GAAUS,EAAY,KAAKT,CAAQ,EAEnCH,EAAQ,gBAAkB,KAC5BY,EAAYA,EAAY,OAAS,CAAC,EAAE,OAAS,IAExCA,CACT,CCvCA,MAAMI,EAAY,yBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,EAAgBC,EAA4B,CAC1D,MAAO,CACL,YAAaC,EAAY,SACzB,OAAQC,EAAQ,SAAS,QACzB,KAAM,CAAEF,EAAM,GAAIG,EAAW,QAAQH,EAAM,IAAI,CAAE,CAAA,CAErD,CAEO,SAASI,EAAiBC,EAAgBC,EAA6B,CAC5E,OAAKD,GAAA,MAAAA,EAAQ,GAGN,CACL,YAAaJ,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEG,EAAO,GAAIF,EAAW,QAAQE,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAMC,GAAQC,EAAc,MAAA,CAC9B,EARO,IAUX,CAEO,SAASC,EAAiBC,EAAgBH,EAA6B,CAC5E,OAAKG,EAGE,CACL,YAAaR,EAAY,SACzB,OAAQC,EAAQ,SAAS,OACzB,KAAM,CAAEO,EAAO,GAAIN,EAAW,QAAQM,EAAO,IAAI,CAAE,EACnD,OAAQ,CACN,KAAAH,CAAA,CACF,EARO,IAUX,CAYO,SAASI,EAAwB7B,EAAkByB,EAAmC,CAC3F,OAAO3B,EAAoB,CACzB,SAAAE,EACA,WAAYc,GAAUa,EAAiBb,EAAO,KAAMW,CAAI,EACxD,UAAW,CACT,KAAMT,EAAU,iBAAiB,EACjC,QAAS,CACP,YAAaI,EAAY,SACzB,OAAQC,EAAQ,SAAS,KAAA,CAC3B,CACF,CACD,CACH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{aL as F,j as e,B as h,aM as k,L as j,R as y,w as B,aN as T,aB as D,a1 as I,x as V,a2 as $,a3 as x,P as M,aD as U,a5 as Y,A as H,ab as O,ac as G,ad as W,aI as z,ae as Q,af as _}from"./app-DlxnnX-Y.js";import{S as J}from"./BfA6QK2M.chunk.js";import{F as K}from"./C3cp4ax7.chunk.js";import{l as m,a as X,F as f}from"./D0Kez51H.chunk.js";import{F as Z}from"./77QNnWjW.chunk.js";import{B as ee}from"./CelK9zYh.chunk.js";import{R as ae}from"./QfCSKVqV.chunk.js";import{V as te}from"./Bvlv6PGR.chunk.js";import{u as se}from"./BSZHRB-3.chunk.js";import{u as re}from"./D-XHMtrK.chunk.js";import{E as ne}from"./B9q9og3n.chunk.js";import{u as oe}from"./C_KOP_pH.chunk.js";import"./B7sQixjZ.chunk.js";import"./BlDVEZsX.chunk.js";import"./pkzD5BEm.chunk.js";import"./BD8uJxiB.chunk.js";const L="shared.flagRemovalRadio",p=j.encloseNamespace(L);function ie(){const t=F();function l(o){t.setFieldValue("suggestion",o)}function a(){return[p("nonEducational"),p("poorQuality"),p("offensive"),p("copyright"),p("ageAppropriate"),p("audio"),p("other")]}return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"form-label",children:[e.jsx(h,{namespace:L,phrase:"flagRemovalReasonLabel"}),e.jsx("span",{className:"text-danger",children:"*"})]}),a().map((o,d)=>e.jsx(k.Check,{type:"radio",label:o,name:o,id:`flag-${d}`,onChange:()=>l(o),checked:t.values.suggestion===o,className:"mb-2"},d))]})}const C="shared.suggestEditForm";function le(t){const l=F(),[a,o]=y.useState(),[d,n]=y.useState(!1);function g(r){const u=(l==null?void 0:l.values.property)&&t.metadataValue===r.name;l.setFieldValue("suggestion",u?"":r.name),o(r),n(u)}return e.jsxs("div",{className:"form-group",children:[e.jsx("label",{className:"form-label",children:e.jsx(h,{namespace:C,phrase:"suggestLabel"})}),e.jsx("div",{"aria-describedby":"suggestEditRatingError",children:e.jsx(ee,{children:t.ratings.map(r=>e.jsx(B,{onClick:()=>g(r),className:`btn ${r.id===(a==null?void 0:a.id)?"btn-dark":"btn-outline-dark"}`,children:r.code},r.id))})}),d&&e.jsx(Z,{name:"suggestEditRating",children:e.jsx(h,{namespace:C,phrase:"ratingError"})})]})}const ce="shared.suggestEditValidation",S=j.encloseNamespace(ce);function de(){return m.object().shape({property:m.string().required(S("metadata")),reason:m.string().when("property",{is:t=>t==="FlagRemoval",then:m.string().notRequired(),otherwise:m.string().required(S("reason"))}),suggestion:m.string().required(S("suggestion")),currentValue:m.string()})}const b={VideoTitle:{name:"video title",property:"name"},Description:{name:"description",property:"description"},Rating:{name:"rating",property:"rating.name"},SeriesTitle:{name:"series title",property:"series.name"},Season:{name:"season number",property:"season.number"},EpisodeNumber:{name:"episode number",property:"episodeNumber"},BroadcastDate:{name:"broadcast date",property:"dateBroadcast"},Channel:{name:"channel",property:"channel.name"},ProductionYear:{name:"production year",property:"productionYear"},Distributors:{name:"distributors",property:"distributors",collection:!0},ProductionCompanies:{name:"production companies",property:"productionCompanies",collection:!0},Directors:{name:"directors",property:"directors",collection:!0},Producers:{name:"producers",property:"producers",collection:!0},FlagRemoval:{name:"flag for removal"},Other:{name:"other"}},N="shared.suggestEditForm",i=j.encloseNamespace(N),ue={property:"",suggestion:"",reason:"",currentValue:""};function me(t){var r,u;const l=(r=t.ratings)==null?void 0:r.filter(s=>s.code),a=F(),[o,d]=y.useState(),n=a==null?void 0:a.values.property;y.useEffect(()=>{const s=g();a.setValues({property:n,reason:"",suggestion:"",currentValue:s||""}),a.setTouched({}),d(s)},[n]);function g(){const s=b[n];if(!s||!s.property)return null;let c=T(t.video,s.property);if(!c||s.collection&&!c.data.length)return i("none");switch(s.collection&&(c=c.data.map(R=>R.name).join(", ")),n){case"BroadcastDate":return D.format(c,"D MMMM YYYY");default:return c}}return e.jsxs(I,{children:[e.jsxs(f,{as:"select",label:i("metadataLabel"),id:"property",name:"property",value:n,className:"text-capitalize",showRequiredStar:!0,children:[e.jsx("option",{value:"",children:i("metadataPlaceholder")}),Object.keys(b).map((s,c)=>e.jsx("option",{value:s,children:b[s].name},c))]}),n&&e.jsxs(e.Fragment,{children:[o&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{className:"fw-semibold mb-0",children:[e.jsx(h,{namespace:N,phrase:"currentValueLabel"})," ",e.jsx("span",{children:(u=b[n])==null?void 0:u.name})]}),e.jsx("p",{children:o})]}),n==="Rating"&&e.jsx(le,{ratings:l,metadataValue:o}),n==="FlagRemoval"&&e.jsx(ie,{}),n!=="Rating"&&n!=="FlagRemoval"&&e.jsx(f,{label:i("suggestLabel"),placeholder:i("suggestPlaceholder"),type:"text",id:"suggestion",name:"suggestion",value:a==null?void 0:a.values.suggestion,showRequiredStar:!0}),n==="FlagRemoval"?e.jsx(f,{label:i("flagRemovalCommentsLabel"),placeholder:i("flagRemovalCommentsPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason}):e.jsx(f,{label:i("reasonLabel"),placeholder:i("reasonPlaceholder"),type:"text",id:"reason",name:"reason",value:a==null?void 0:a.values.reason,showRequiredStar:!0})]}),e.jsxs(V,{children:[e.jsx(V.Cancel,{text:i("cancel"),onClick:t.closePopup,variant:"link"}),e.jsx(K,{variant:"dark",submitText:i("submit")})]})]})}function pe(t){return e.jsx(X,{initialValues:ue,validationSchema:de(),onSubmit:t.onClickSubmit,children:e.jsx(me,{...t})})}const w="exchange.suggestEdit",v=j.encloseNamespace(w);function Pe(t){const l=$(),a=se(),{loading:o,handleGenerateReportError:d}=re(),n=x(U.config()),g=x(Y.currentUser()),r=x(te.video(t.videoId)),u=x(ae.ratings()),{previewContext:s,clearPreviewContext:c}=oe(t.videoId,!1);async function R(P,q){try{await l(ne.suggestEdit(r.data.id,P)),a.success(v("success")),E(),O.logUserAction({id:r.data.id,name:r.data.name},{actionType:_.Submit,entity:Q.Video,descriptor:z.SuggestEdit,location:W.Popup,workflowPhase:G.Complete})}catch(A){d(A,v("error"),v("noEmailError"))}finally{q()}}function E(){t.closePopup(),s!=null&&s.appLink&&(J.preventScrollTop(),H.trigger(s.appLink),c())}return n.hasCompleted&&g.hasCompleted&&r.hasCompleted&&u.hasCompleted?e.jsxs(M,{title:v("title"),closePopup:E,showLoadingSpinner:o,children:[e.jsx("p",{children:e.jsx(h,{namespace:w,phrase:"description"})}),e.jsx(pe,{video:r.data,ratings:u.data,closePopup:E,onClickSubmit:R})]}):e.jsx(e.Fragment,{})}export{Pe as ExchangeSuggestEditView};
|
|
2
|
+
//# sourceMappingURL=B0qPCCXt.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DEFuGMsd.chunk.js","sources":["../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval.tsx","../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector.tsx","../../../../libs/shared/src/components/suggest-edit-form/validation/SuggestEditValidation.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditMetadataTypes.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditForm.tsx","../../src/apps/exchange/views/exchange-suggest-edit/ExchangeSuggestEditView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.flagRemovalRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditFlagRemoval() {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n function onSelectOption(option: string) {\n formikProps.setFieldValue('suggestion', option);\n }\n\n function flagRemovalRadioOptions() {\n return [\n getPhrase('nonEducational'),\n getPhrase('poorQuality'),\n getPhrase('offensive'),\n getPhrase('copyright'),\n getPhrase('ageAppropriate'),\n getPhrase('audio'),\n getPhrase('other')\n ];\n }\n\n return (\n <div className='mb-3'>\n <label className='form-label'>\n <Text namespace={namespace} phrase='flagRemovalReasonLabel' />\n <span className='text-danger'>*</span>\n </label>\n {flagRemovalRadioOptions().map((option, index) => (\n <Form.Check\n type='radio'\n key={index}\n label={option}\n name={option}\n id={`flag-${index}`}\n onChange={() => onSelectOption(option)}\n checked={formikProps.values.suggestion === option}\n className='mb-2'\n />\n ))}\n </div>\n );\n}","import React from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { Rating } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.suggestEditForm';\n\ninterface SuggestEditRatingSelectorProps {\n ratings: Rating[];\n metadataValue: string\n}\n\nexport function SuggestEditRatingSelector(props: SuggestEditRatingSelectorProps) {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ selectedRating, setSelectedRating ] = React.useState<Rating>();\n const [ isRatingInvalid, setIsRatingInvalid ] = React.useState<boolean>(false);\n \n function onRatingSelect(rating: Rating) {\n const isRatingInvalid = formikProps?.values.property && props.metadataValue === rating.name;\n formikProps.setFieldValue('suggestion', !isRatingInvalid ? rating.name : '');\n setSelectedRating(rating);\n setIsRatingInvalid(isRatingInvalid);\n }\n\n return (\n <div className='form-group'>\n <label className='form-label'><Text namespace={namespace} phrase='suggestLabel' /></label>\n <div aria-describedby='suggestEditRatingError'>\n <ButtonGroup>\n {props.ratings.map(rating => (\n <DivButton key={rating.id} onClick={() => onRatingSelect(rating)} className={`btn ${rating.id === selectedRating?.id ? 'btn-dark' : 'btn-outline-dark'}`}>\n {rating.code}\n </DivButton>\n ))}\n </ButtonGroup>\n </div>\n {isRatingInvalid && <FormFeedback name='suggestEditRating'><Text namespace={namespace} phrase='ratingError' /></FormFeedback>}\n </div>\n );\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'shared.suggestEditValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditValidation() {\n return object().shape({\n property: string().required((getPhrase('metadata'))),\n reason: string().when('property', {\n is: propertyValue => propertyValue === 'FlagRemoval',\n then: string().notRequired(),\n otherwise: string().required(getPhrase('reason'))\n }),\n suggestion: string().required(getPhrase('suggestion')),\n currentValue: string()\n });\n}","export enum MetadataType {\n VideoTitle = 'video title',\n Description = 'description',\n Rating = 'rating',\n SeriesTitle = 'series title',\n Season = 'season number',\n EpisodeNumber = 'episode number',\n BroadcastDate = 'broadcast date',\n Channel = 'channel',\n ProductionYear = 'production year',\n Distributors = 'distributors',\n ProductionCompanies = 'production companies',\n Directors = 'directors',\n Producers = 'producers',\n FlagRemoval = 'flag for removal',\n Other = 'other'\n}\n\nexport type MetadataTypeKey = keyof typeof MetadataType;\n\nexport type MetadataTypeMap = {\n [K in MetadataTypeKey]: {\n name: MetadataType;\n property?: string;\n collection?: boolean;\n };\n};\n\nexport const MetadataTypes: MetadataTypeMap = {\n VideoTitle: {\n name: MetadataType.VideoTitle,\n property: 'name'\n },\n Description: {\n name: MetadataType.Description,\n property: 'description'\n },\n Rating: {\n name: MetadataType.Rating,\n property: 'rating.name'\n },\n SeriesTitle: {\n name: MetadataType.SeriesTitle,\n property: 'series.name'\n },\n Season: {\n name: MetadataType.Season,\n property: 'season.number'\n },\n EpisodeNumber: {\n name: MetadataType.EpisodeNumber,\n property: 'episodeNumber'\n },\n BroadcastDate: {\n name: MetadataType.BroadcastDate,\n property: 'dateBroadcast'\n },\n Channel: {\n name: MetadataType.Channel,\n property: 'channel.name'\n },\n ProductionYear: {\n name: MetadataType.ProductionYear,\n property: 'productionYear'\n },\n Distributors: {\n name: MetadataType.Distributors,\n property: 'distributors',\n collection: true\n },\n ProductionCompanies: {\n name: MetadataType.ProductionCompanies,\n property: 'productionCompanies',\n collection: true\n },\n Directors: {\n name: MetadataType.Directors,\n property: 'directors',\n collection: true\n },\n Producers: {\n name: MetadataType.Producers,\n property: 'producers',\n collection: true\n },\n FlagRemoval: {\n name: MetadataType.FlagRemoval\n },\n Other: {\n name: MetadataType.Other\n }\n};","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SuggestEditFlagRemoval } from 'libs/shared/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval';\nimport { SuggestEditRatingSelector } from 'libs/shared/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { SuggestEditValidation } from './validation/SuggestEditValidation';\nimport { MetadataTypeKey, MetadataTypes } from './SuggestEditMetadataTypes';\n\nconst namespace = 'shared.suggestEditForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst INITIAL_VALUES = {\n property: '',\n suggestion: '',\n reason: '',\n currentValue: ''\n};\n\ninterface SuggestEditFormProps {\n video: Video;\n ratings: Rating[];\n onClickSubmit: (\n data: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) => void;\n closePopup: () => void\n}\n\nfunction SuggestEditForm(props: SuggestEditFormProps) {\n const ratings = props.ratings?.filter(rating => rating.code);\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ metadataValue, setMetadataValue ] = React.useState<string>();\n\n const metadata = formikProps?.values.property as MetadataTypeKey;\n\n React.useEffect(() => {\n const metadataValue = getMetadataValue();\n formikProps.setValues({\n property: metadata,\n reason: '',\n suggestion: '',\n currentValue: metadataValue || ''\n });\n formikProps.setTouched({});\n setMetadataValue(metadataValue);\n }, [metadata]);\n\n function getMetadataValue(): string {\n const metadataType = MetadataTypes[metadata];\n\n if (!metadataType || !metadataType.property)\n return null;\n\n let currentValue = get(props.video, metadataType.property);\n\n if (!currentValue || (metadataType.collection && !currentValue.data.length))\n return getPhrase('none');\n\n if (metadataType.collection) {\n currentValue = (currentValue.data as BaseObject[]).map(obj => obj.name).join(', ');\n }\n\n switch (metadata) {\n case 'BroadcastDate':\n return DateHelper.format(currentValue, 'D MMMM YYYY');\n default:\n return currentValue;\n }\n }\n\n return (\n <Form>\n <FormField\n as='select'\n label={getPhrase('metadataLabel')}\n id='property'\n name='property'\n value={metadata}\n className='text-capitalize'\n showRequiredStar\n >\n <option value=''>{getPhrase('metadataPlaceholder')}</option>\n {Object.keys(MetadataTypes).map((metadata, index) => (\n <option key={index} value={metadata}>\n {MetadataTypes[metadata as keyof typeof MetadataTypes].name}\n </option>\n ))}\n </FormField>\n\n {metadata &&\n <>\n {metadataValue && (\n <>\n <p className='fw-semibold mb-0'>\n <Text namespace={namespace} phrase='currentValueLabel' /> <span>{MetadataTypes[metadata as MetadataTypeKey]?.name}</span>\n </p>\n <p>{metadataValue}</p>\n </>\n )}\n\n {metadata === 'Rating' && <SuggestEditRatingSelector ratings={ratings} metadataValue={metadataValue} />}\n {metadata === 'FlagRemoval' && <SuggestEditFlagRemoval />}\n {metadata !== 'Rating' && metadata !== 'FlagRemoval' &&\n <FormField\n label={getPhrase('suggestLabel')}\n placeholder={getPhrase('suggestPlaceholder')}\n type='text'\n id='suggestion'\n name='suggestion'\n value={formikProps?.values.suggestion}\n showRequiredStar\n />\n }\n\n {\n metadata === 'FlagRemoval' ? (\n <FormField\n label={getPhrase('flagRemovalCommentsLabel')}\n placeholder={getPhrase('flagRemovalCommentsPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n />\n ) : (\n <FormField\n label={getPhrase('reasonLabel')}\n placeholder={getPhrase('reasonPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n showRequiredStar\n />\n )\n }\n </>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <FormButtons variant='dark' submitText={getPhrase('submit')} />\n </PopupButtons>\n </Form>\n );\n}\n\nexport function SuggestEditFormWrapper(props: SuggestEditFormProps) {\n return (\n <FormWrapper<SuggestEditModel>\n initialValues={INITIAL_VALUES}\n validationSchema={SuggestEditValidation()}\n onSubmit={props.onClickSubmit}\n >\n <SuggestEditForm {...props} />\n </FormWrapper>\n );\n}","\nimport React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SuggestEditFormWrapper } from 'libs/shared/components/suggest-edit-form/SuggestEditForm';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RatingRequests } from 'libs/shared/flight-requests/RatingRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { Config, CurrentUser, PopupViewProps, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\nconst namespace = 'exchange.suggestEdit';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSuggestEditProps extends PopupViewProps {\n videoId: string;\n}\n\nexport function ExchangeSuggestEditView(props: ExchangeSuggestEditProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const ratings = Flight.useBasicFetch<Rating[]>(RatingRequests.ratings());\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, false);\n\n async function onClickSubmit(\n values: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) {\n try {\n await fetchAsync(ExchangeRequests.suggestEdit(video.data.id, values));\n alerts.success(getPhrase('success'));\n closePopup();\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n } finally {\n onDone();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n const hasLoaded = (\n config.hasCompleted &&\n currentUser.hasCompleted &&\n video.hasCompleted &&\n ratings.hasCompleted\n );\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={loading}\n >\n <p><Text namespace={namespace} phrase='description' /></p>\n\n <SuggestEditFormWrapper\n video={video.data}\n ratings={ratings.data}\n closePopup={closePopup}\n onClickSubmit={onClickSubmit}\n />\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SuggestEditFlagRemoval","formikProps","useFormikContext","onSelectOption","option","flagRemovalRadioOptions","jsxs","jsx","Text","index","Form","SuggestEditRatingSelector","props","selectedRating","setSelectedRating","React","isRatingInvalid","setIsRatingInvalid","onRatingSelect","rating","ButtonGroup","DivButton","FormFeedback","SuggestEditValidation","object","string","propertyValue","MetadataTypes","INITIAL_VALUES","SuggestEditForm","ratings","_a","metadataValue","setMetadataValue","metadata","getMetadataValue","metadataType","currentValue","get","obj","DateHelper","FormField","Fragment","_b","PopupButtons","FormButtons","SuggestEditFormWrapper","FormWrapper","ExchangeSuggestEditView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","Flight.useBasicFetch","ConfigRequests","currentUser","UserRequests","video","VideoRequests","RatingRequests","previewContext","clearPreviewContext","usePreviewContext","onClickSubmit","values","onDone","ExchangeRequests","closePopup","AnalyticsHelper","UserAction","EntityType","VideoActionDescriptor","LocationContext","WorkflowPhase","xhr","ScrollHelper","Core.AppLinkHelper","Popup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"B0qPCCXt.chunk.js","sources":["../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval.tsx","../../../../libs/shared/src/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector.tsx","../../../../libs/shared/src/components/suggest-edit-form/validation/SuggestEditValidation.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditMetadataTypes.ts","../../../../libs/shared/src/components/suggest-edit-form/SuggestEditForm.tsx","../../src/apps/exchange/views/exchange-suggest-edit/ExchangeSuggestEditView.tsx"],"sourcesContent":["import React from 'react';\nimport { Form } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.flagRemovalRadio';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditFlagRemoval() {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n function onSelectOption(option: string) {\n formikProps.setFieldValue('suggestion', option);\n }\n\n function flagRemovalRadioOptions() {\n return [\n getPhrase('nonEducational'),\n getPhrase('poorQuality'),\n getPhrase('offensive'),\n getPhrase('copyright'),\n getPhrase('ageAppropriate'),\n getPhrase('audio'),\n getPhrase('other')\n ];\n }\n\n return (\n <div className='mb-3'>\n <label className='form-label'>\n <Text namespace={namespace} phrase='flagRemovalReasonLabel' />\n <span className='text-danger'>*</span>\n </label>\n {flagRemovalRadioOptions().map((option, index) => (\n <Form.Check\n type='radio'\n key={index}\n label={option}\n name={option}\n id={`flag-${index}`}\n onChange={() => onSelectOption(option)}\n checked={formikProps.values.suggestion === option}\n className='mb-2'\n />\n ))}\n </div>\n );\n}","import React from 'react';\nimport { ButtonGroup } from 'react-bootstrap';\nimport { useFormikContext } from 'formik';\n\nimport { Rating } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { FormFeedback } from 'libs/shared/components/forms/form-feedback/FormFeedback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nconst namespace = 'shared.suggestEditForm';\n\ninterface SuggestEditRatingSelectorProps {\n ratings: Rating[];\n metadataValue: string\n}\n\nexport function SuggestEditRatingSelector(props: SuggestEditRatingSelectorProps) {\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ selectedRating, setSelectedRating ] = React.useState<Rating>();\n const [ isRatingInvalid, setIsRatingInvalid ] = React.useState<boolean>(false);\n \n function onRatingSelect(rating: Rating) {\n const isRatingInvalid = formikProps?.values.property && props.metadataValue === rating.name;\n formikProps.setFieldValue('suggestion', !isRatingInvalid ? rating.name : '');\n setSelectedRating(rating);\n setIsRatingInvalid(isRatingInvalid);\n }\n\n return (\n <div className='form-group'>\n <label className='form-label'><Text namespace={namespace} phrase='suggestLabel' /></label>\n <div aria-describedby='suggestEditRatingError'>\n <ButtonGroup>\n {props.ratings.map(rating => (\n <DivButton key={rating.id} onClick={() => onRatingSelect(rating)} className={`btn ${rating.id === selectedRating?.id ? 'btn-dark' : 'btn-outline-dark'}`}>\n {rating.code}\n </DivButton>\n ))}\n </ButtonGroup>\n </div>\n {isRatingInvalid && <FormFeedback name='suggestEditRating'><Text namespace={namespace} phrase='ratingError' /></FormFeedback>}\n </div>\n );\n}","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'shared.suggestEditValidation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SuggestEditValidation() {\n return object().shape({\n property: string().required((getPhrase('metadata'))),\n reason: string().when('property', {\n is: propertyValue => propertyValue === 'FlagRemoval',\n then: string().notRequired(),\n otherwise: string().required(getPhrase('reason'))\n }),\n suggestion: string().required(getPhrase('suggestion')),\n currentValue: string()\n });\n}","export enum MetadataType {\n VideoTitle = 'video title',\n Description = 'description',\n Rating = 'rating',\n SeriesTitle = 'series title',\n Season = 'season number',\n EpisodeNumber = 'episode number',\n BroadcastDate = 'broadcast date',\n Channel = 'channel',\n ProductionYear = 'production year',\n Distributors = 'distributors',\n ProductionCompanies = 'production companies',\n Directors = 'directors',\n Producers = 'producers',\n FlagRemoval = 'flag for removal',\n Other = 'other'\n}\n\nexport type MetadataTypeKey = keyof typeof MetadataType;\n\nexport type MetadataTypeMap = {\n [K in MetadataTypeKey]: {\n name: MetadataType;\n property?: string;\n collection?: boolean;\n };\n};\n\nexport const MetadataTypes: MetadataTypeMap = {\n VideoTitle: {\n name: MetadataType.VideoTitle,\n property: 'name'\n },\n Description: {\n name: MetadataType.Description,\n property: 'description'\n },\n Rating: {\n name: MetadataType.Rating,\n property: 'rating.name'\n },\n SeriesTitle: {\n name: MetadataType.SeriesTitle,\n property: 'series.name'\n },\n Season: {\n name: MetadataType.Season,\n property: 'season.number'\n },\n EpisodeNumber: {\n name: MetadataType.EpisodeNumber,\n property: 'episodeNumber'\n },\n BroadcastDate: {\n name: MetadataType.BroadcastDate,\n property: 'dateBroadcast'\n },\n Channel: {\n name: MetadataType.Channel,\n property: 'channel.name'\n },\n ProductionYear: {\n name: MetadataType.ProductionYear,\n property: 'productionYear'\n },\n Distributors: {\n name: MetadataType.Distributors,\n property: 'distributors',\n collection: true\n },\n ProductionCompanies: {\n name: MetadataType.ProductionCompanies,\n property: 'productionCompanies',\n collection: true\n },\n Directors: {\n name: MetadataType.Directors,\n property: 'directors',\n collection: true\n },\n Producers: {\n name: MetadataType.Producers,\n property: 'producers',\n collection: true\n },\n FlagRemoval: {\n name: MetadataType.FlagRemoval\n },\n Other: {\n name: MetadataType.Other\n }\n};","import React from 'react';\nimport { Form, useFormikContext } from 'formik';\nimport get from 'lodash/get';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { SuggestEditFlagRemoval } from 'libs/shared/components/suggest-edit-form/suggest-edit-flag-removal/SuggestEditFlagRemoval';\nimport { SuggestEditRatingSelector } from 'libs/shared/components/suggest-edit-form/suggest-edit-rating-selector/suggest-edit-rating-selector';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { BaseObject, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { SuggestEditValidation } from './validation/SuggestEditValidation';\nimport { MetadataTypeKey, MetadataTypes } from './SuggestEditMetadataTypes';\n\nconst namespace = 'shared.suggestEditForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst INITIAL_VALUES = {\n property: '',\n suggestion: '',\n reason: '',\n currentValue: ''\n};\n\ninterface SuggestEditFormProps {\n video: Video;\n ratings: Rating[];\n onClickSubmit: (\n data: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) => void;\n closePopup: () => void\n}\n\nfunction SuggestEditForm(props: SuggestEditFormProps) {\n const ratings = props.ratings?.filter(rating => rating.code);\n const formikProps = useFormikContext<SuggestEditModel>();\n\n const [ metadataValue, setMetadataValue ] = React.useState<string>();\n\n const metadata = formikProps?.values.property as MetadataTypeKey;\n\n React.useEffect(() => {\n const metadataValue = getMetadataValue();\n formikProps.setValues({\n property: metadata,\n reason: '',\n suggestion: '',\n currentValue: metadataValue || ''\n });\n formikProps.setTouched({});\n setMetadataValue(metadataValue);\n }, [metadata]);\n\n function getMetadataValue(): string {\n const metadataType = MetadataTypes[metadata];\n\n if (!metadataType || !metadataType.property)\n return null;\n\n let currentValue = get(props.video, metadataType.property);\n\n if (!currentValue || (metadataType.collection && !currentValue.data.length))\n return getPhrase('none');\n\n if (metadataType.collection) {\n currentValue = (currentValue.data as BaseObject[]).map(obj => obj.name).join(', ');\n }\n\n switch (metadata) {\n case 'BroadcastDate':\n return DateHelper.format(currentValue, 'D MMMM YYYY');\n default:\n return currentValue;\n }\n }\n\n return (\n <Form>\n <FormField\n as='select'\n label={getPhrase('metadataLabel')}\n id='property'\n name='property'\n value={metadata}\n className='text-capitalize'\n showRequiredStar\n >\n <option value=''>{getPhrase('metadataPlaceholder')}</option>\n {Object.keys(MetadataTypes).map((metadata, index) => (\n <option key={index} value={metadata}>\n {MetadataTypes[metadata as keyof typeof MetadataTypes].name}\n </option>\n ))}\n </FormField>\n\n {metadata &&\n <>\n {metadataValue && (\n <>\n <p className='fw-semibold mb-0'>\n <Text namespace={namespace} phrase='currentValueLabel' /> <span>{MetadataTypes[metadata as MetadataTypeKey]?.name}</span>\n </p>\n <p>{metadataValue}</p>\n </>\n )}\n\n {metadata === 'Rating' && <SuggestEditRatingSelector ratings={ratings} metadataValue={metadataValue} />}\n {metadata === 'FlagRemoval' && <SuggestEditFlagRemoval />}\n {metadata !== 'Rating' && metadata !== 'FlagRemoval' &&\n <FormField\n label={getPhrase('suggestLabel')}\n placeholder={getPhrase('suggestPlaceholder')}\n type='text'\n id='suggestion'\n name='suggestion'\n value={formikProps?.values.suggestion}\n showRequiredStar\n />\n }\n\n {\n metadata === 'FlagRemoval' ? (\n <FormField\n label={getPhrase('flagRemovalCommentsLabel')}\n placeholder={getPhrase('flagRemovalCommentsPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n />\n ) : (\n <FormField\n label={getPhrase('reasonLabel')}\n placeholder={getPhrase('reasonPlaceholder')}\n type='text'\n id='reason'\n name='reason'\n value={formikProps?.values.reason}\n showRequiredStar\n />\n )\n }\n </>\n }\n\n <PopupButtons>\n <PopupButtons.Cancel\n text={getPhrase('cancel')}\n onClick={props.closePopup}\n variant='link'\n />\n <FormButtons variant='dark' submitText={getPhrase('submit')} />\n </PopupButtons>\n </Form>\n );\n}\n\nexport function SuggestEditFormWrapper(props: SuggestEditFormProps) {\n return (\n <FormWrapper<SuggestEditModel>\n initialValues={INITIAL_VALUES}\n validationSchema={SuggestEditValidation()}\n onSubmit={props.onClickSubmit}\n >\n <SuggestEditForm {...props} />\n </FormWrapper>\n );\n}","\nimport React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/react/index';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoActionDescriptor, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { SuggestEditFormWrapper } from 'libs/shared/components/suggest-edit-form/SuggestEditForm';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { RatingRequests } from 'libs/shared/flight-requests/RatingRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useVerifiedEmailRequiredErrorHandler } from 'libs/shared/hooks/useVerifiedEmailRequiredErrorHandler';\nimport { Config, CurrentUser, PopupViewProps, Rating, Video } from 'libs/shared/interfaces';\nimport { SuggestEditModel } from 'libs/shared/interfaces/models/SuggestEdit';\n\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { usePreviewContext } from 'apps/exchange/hooks/usePreviewContext';\nconst namespace = 'exchange.suggestEdit';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ExchangeSuggestEditProps extends PopupViewProps {\n videoId: string;\n}\n\nexport function ExchangeSuggestEditView(props: ExchangeSuggestEditProps) {\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const video = Flight.useBasicFetch<Video>(VideoRequests.video(props.videoId));\n const ratings = Flight.useBasicFetch<Rating[]>(RatingRequests.ratings());\n\n const { previewContext, clearPreviewContext } = usePreviewContext(props.videoId, false);\n\n async function onClickSubmit(\n values: SuggestEditModel,\n onDone: (options?: FormSubmissionOptions<SuggestEditModel>) => void\n ) {\n try {\n await fetchAsync(ExchangeRequests.suggestEdit(video.data.id, values));\n alerts.success(getPhrase('success'));\n closePopup();\n\n AnalyticsHelper.logUserAction(\n { id: video.data.id, name: video.data.name },\n {\n actionType: UserAction.Submit,\n entity: EntityType.Video,\n descriptor: VideoActionDescriptor.SuggestEdit,\n location: LocationContext.Popup,\n workflowPhase: WorkflowPhase.Complete\n }\n );\n } catch (xhr) {\n handleGenerateReportError(xhr, getPhrase('error'), getPhrase('noEmailError'));\n } finally {\n onDone();\n }\n }\n\n /**\n * Because the add view can be navigated to from the ExchangePreviewView\n * which is an addressable popup, we need to navigate back to the \n * original route when this popup is closed - Sha\n */\n function closePopup(): void {\n props.closePopup();\n\n if (!previewContext?.appLink)\n return;\n\n ScrollHelper.preventScrollTop();\n Core.AppLinkHelper.trigger(previewContext.appLink);\n clearPreviewContext();\n }\n\n const hasLoaded = (\n config.hasCompleted &&\n currentUser.hasCompleted &&\n video.hasCompleted &&\n ratings.hasCompleted\n );\n\n if (!hasLoaded) {\n return <></>;\n }\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={closePopup}\n showLoadingSpinner={loading}\n >\n <p><Text namespace={namespace} phrase='description' /></p>\n\n <SuggestEditFormWrapper\n video={video.data}\n ratings={ratings.data}\n closePopup={closePopup}\n onClickSubmit={onClickSubmit}\n />\n </Popup>\n );\n}"],"names":["namespace","getPhrase","LanguageService","SuggestEditFlagRemoval","formikProps","useFormikContext","onSelectOption","option","flagRemovalRadioOptions","jsxs","jsx","Text","index","Form","SuggestEditRatingSelector","props","selectedRating","setSelectedRating","React","isRatingInvalid","setIsRatingInvalid","onRatingSelect","rating","ButtonGroup","DivButton","FormFeedback","SuggestEditValidation","object","string","propertyValue","MetadataTypes","INITIAL_VALUES","SuggestEditForm","ratings","_a","metadataValue","setMetadataValue","metadata","getMetadataValue","metadataType","currentValue","get","obj","DateHelper","FormField","Fragment","_b","PopupButtons","FormButtons","SuggestEditFormWrapper","FormWrapper","ExchangeSuggestEditView","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","Flight.useBasicFetch","ConfigRequests","currentUser","UserRequests","video","VideoRequests","RatingRequests","previewContext","clearPreviewContext","usePreviewContext","onClickSubmit","values","onDone","ExchangeRequests","closePopup","AnalyticsHelper","UserAction","EntityType","VideoActionDescriptor","LocationContext","WorkflowPhase","xhr","ScrollHelper","Core.AppLinkHelper","Popup"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e,R as s}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e,R as s}from"./app-DlxnnX-Y.js";import{C as g}from"./ByKnIsJG.chunk.js";const p="_accordionHeader_1eoao_1",j={accordionHeader:p};function H(i){return e.jsx("ul",{className:"striped-list list-unstyled no-full-width",children:i.children})}function y(i){const[t,r]=s.useState(!1),[a,n]=s.useState({}),[o,c]=s.useState(0),l=s.useRef(null),d=s.useRef(null),u=s.useRef(null),m=s.useRef(null);function x(){t?(n({maxHeight:0,opacity:1}),c(0),d.current=window.setTimeout(()=>r(!1),400)):(r(!0),u.current=window.setTimeout(()=>{n({maxHeight:"max-content",opacity:0,position:"absolute"})}))}return s.useEffect(()=>{var f;if(!t)return;const w=Math.ceil((f=l.current)==null?void 0:f.getBoundingClientRect().height),h=a.opacity===0;h&&c(w),h&&o&&(n({position:"relative"}),m.current=window.requestAnimationFrame(()=>n({maxHeight:o,opacity:1})))},[t,o,a.maxHeight]),s.useEffect(()=>()=>{window.clearTimeout(d.current),window.clearTimeout(u.current),window.cancelAnimationFrame(m.current)},[]),e.jsxs("li",{className:"position-relative",children:[e.jsxs("div",{className:"cursor-pointer d-flex align-items-center py-2 px-3",onClick:x,children:[e.jsx("div",{className:"ms-1",children:e.jsx(g,{direction:t?"down":"right"})}),e.jsx("span",{className:`${t?"fw-semibold":""} user-select-none ms-2`,children:i.title})]}),t&&e.jsx("div",{className:"bg-white",children:e.jsx("div",{ref:l,className:`${j.accordionHeader}`,style:a,children:i.children})})]})}H.Header=y;function A(){return e.jsx(e.Fragment,{children:e.jsx("ul",{className:"list-unstyled",children:[...Array(20)].map((i,t)=>e.jsxs("li",{className:`${t%2===0?"partial-loading-background":""} d-flex w-100 p-2`,children:[e.jsx("div",{className:"svg-container"}),e.jsx("span",{children:" "})]},t))})})}var R=(i=>(i[i.Video=0]="Video",i[i.Audio=1]="Audio",i))(R||{});export{H as A,R as P,A as a};
|
|
2
|
+
//# sourceMappingURL=B3P1JDvZ.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"B3P1JDvZ.chunk.js","sources":["../../src/shared/components/accordion-list/AccordionList.tsx","../../src/shared/components/accordion-list/partial-loading/PartialAccordionList.tsx","../../src/apps/tv/interfaces/enums/ProgramType.ts"],"sourcesContent":["import React from 'react';\n\nimport { Caret } from 'libs/shared/components/caret/Caret';\n\nimport styles from './accordion-list.module.scss';\n\nexport function AccordionList(props: React.PropsWithChildren) {\n return (\n <ul className='striped-list list-unstyled no-full-width'>\n {props.children}\n </ul>\n );\n}\n\ninterface AccordionListProps {\n title?: string;\n}\n\nfunction AccordionListHeader(props: React.PropsWithChildren<AccordionListProps>) {\n const [ show, setShow ] = React.useState(false);\n const [ programsStyle, setProgramsStyle ] = React.useState<React.CSSProperties>({});\n const [ dynamicHeight, setDynamicHeight ] = React.useState(0);\n\n const accordionBodyRef = React.useRef<HTMLDivElement>(null);\n const hideProgramsTimeRef = React.useRef<number>(null);\n const showProgramsTimeRef = React.useRef<number>(null);\n const animationFrameRef = React.useRef<number>(null);\n\n function handleSetShow() {\n if (show) {\n setProgramsStyle({ maxHeight: 0, opacity: 1 });\n setDynamicHeight(0);\n hideProgramsTimeRef.current = window.setTimeout(() => setShow(false), 400);\n } else {\n setShow(true);\n showProgramsTimeRef.current = window.setTimeout(() => {\n setProgramsStyle({ maxHeight: 'max-content', opacity: 0, position: 'absolute' });\n });\n }\n }\n\n React.useEffect(() => {\n if (!show) return;\n\n const accordionContentHeight = Math.ceil(accordionBodyRef.current?.getBoundingClientRect().height);\n const isHidden = programsStyle.opacity === 0;\n\n if (isHidden) {\n setDynamicHeight(accordionContentHeight);\n }\n\n if (isHidden && dynamicHeight) {\n setProgramsStyle({ position: 'relative' });\n animationFrameRef.current = window.requestAnimationFrame(\n () => setProgramsStyle({ maxHeight: dynamicHeight, opacity: 1 })\n );\n }\n }, [ show, dynamicHeight, programsStyle.maxHeight ]);\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(hideProgramsTimeRef.current);\n window.clearTimeout(showProgramsTimeRef.current);\n window.cancelAnimationFrame(animationFrameRef.current);\n };\n }, []);\n \n return (\n <li className='position-relative'>\n <div\n className={'cursor-pointer d-flex align-items-center py-2 px-3'}\n onClick={handleSetShow}\n >\n <div className='ms-1'>\n <Caret direction={show ? 'down' : 'right'} />\n </div>\n <span className={`${show ? 'fw-semibold' : ''} user-select-none ms-2`}>{props.title}</span>\n </div>\n {show && (\n <div className='bg-white'>\n <div\n ref={accordionBodyRef}\n className={`${styles.accordionHeader}`}\n style={programsStyle}\n >\n {props.children}\n </div>\n </div>\n )}\n </li>\n );\n}\n\nAccordionList.Header = AccordionListHeader;","import React from 'react';\n\nexport function PartialAccordionList() {\n return (\n <>\n <ul className='list-unstyled'>\n {[...Array(20)].map((_, index) => (\n <li key={index} className={`${index % 2 === 0 ? 'partial-loading-background' : ''} d-flex w-100 p-2`}>\n <div className='svg-container'></div>\n <span> </span>\n </li>\n ))}\n </ul>\n </>\n );\n}\n","export enum ProgramType {\n Video = 0,\n Audio = 1\n}"],"names":["AccordionList","props","jsx","AccordionListHeader","show","setShow","React","programsStyle","setProgramsStyle","dynamicHeight","setDynamicHeight","accordionBodyRef","hideProgramsTimeRef","showProgramsTimeRef","animationFrameRef","handleSetShow","accordionContentHeight","_a","isHidden","jsxs","Caret","styles","PartialAccordionList","Fragment","_","index","ProgramType"],"mappings":"8IAMO,SAASA,EAAcC,EAAgC,CAC5D,OACEC,EAAAA,IAAC,KAAA,CAAG,UAAU,2CACX,WAAM,SACT,CAEJ,CAMA,SAASC,EAAoBF,EAAoD,CAC/E,KAAM,CAAEG,EAAMC,CAAQ,EAAIC,EAAM,SAAS,EAAK,EACxC,CAAEC,EAAeC,CAAiB,EAAIF,EAAM,SAA8B,CAAA,CAAE,EAC5E,CAAEG,EAAeC,CAAiB,EAAIJ,EAAM,SAAS,CAAC,EAEtDK,EAAmBL,EAAM,OAAuB,IAAI,EACpDM,EAAsBN,EAAM,OAAe,IAAI,EAC/CO,EAAsBP,EAAM,OAAe,IAAI,EAC/CQ,EAAoBR,EAAM,OAAe,IAAI,EAEnD,SAASS,GAAgB,CACnBX,GACFI,EAAiB,CAAE,UAAW,EAAG,QAAS,EAAG,EAC7CE,EAAiB,CAAC,EAClBE,EAAoB,QAAU,OAAO,WAAW,IAAMP,EAAQ,EAAK,EAAG,GAAG,IAEzEA,EAAQ,EAAI,EACZQ,EAAoB,QAAU,OAAO,WAAW,IAAM,CACpDL,EAAiB,CAAE,UAAW,cAAe,QAAS,EAAG,SAAU,WAAY,CACjF,CAAC,EAEL,CAEA,OAAAF,EAAM,UAAU,IAAM,OACpB,GAAI,CAACF,EAAM,OAEX,MAAMY,EAAyB,KAAK,MAAKC,EAAAN,EAAiB,UAAjB,YAAAM,EAA0B,wBAAwB,MAAM,EAC3FC,EAAWX,EAAc,UAAY,EAEvCW,GACFR,EAAiBM,CAAsB,EAGrCE,GAAYT,IACdD,EAAiB,CAAE,SAAU,WAAY,EACzCM,EAAkB,QAAU,OAAO,sBACjC,IAAMN,EAAiB,CAAE,UAAWC,EAAe,QAAS,EAAG,CAAA,EAGrE,EAAG,CAAEL,EAAMK,EAAeF,EAAc,SAAU,CAAC,EAEnDD,EAAM,UAAU,IACP,IAAM,CACX,OAAO,aAAaM,EAAoB,OAAO,EAC/C,OAAO,aAAaC,EAAoB,OAAO,EAC/C,OAAO,qBAAqBC,EAAkB,OAAO,CACvD,EACC,CAAA,CAAE,EAGHK,EAAAA,KAAC,KAAA,CAAG,UAAU,oBACZ,SAAA,CAAAA,EAAAA,KAAC,MAAA,CACC,UAAW,qDACX,QAASJ,EAET,SAAA,CAAAb,EAAAA,IAAC,MAAA,CAAI,UAAU,OACb,SAAAA,EAAAA,IAACkB,GAAM,UAAWhB,EAAO,OAAS,OAAA,CAAS,CAAA,CAC7C,EACAF,EAAAA,IAAC,QAAK,UAAW,GAAGE,EAAO,cAAgB,EAAE,yBAA2B,SAAAH,EAAM,KAAA,CAAM,CAAA,CAAA,CAAA,EAErFG,GACCF,EAAAA,IAAC,MAAA,CAAI,UAAU,WACb,SAAAA,EAAAA,IAAC,MAAA,CACC,IAAKS,EACL,UAAW,GAAGU,EAAO,eAAe,GACpC,MAAOd,EAEN,SAAAN,EAAM,QAAA,CAAA,CACT,CACF,CAAA,EAEJ,CAEJ,CAEAD,EAAc,OAASG,EC3FhB,SAASmB,GAAuB,CACrC,OACEpB,EAAAA,IAAAqB,EAAAA,SAAA,CACE,SAAArB,EAAAA,IAAC,KAAA,CAAG,UAAU,gBACX,UAAC,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,CAACsB,EAAGC,IACtBN,EAAAA,KAAC,KAAA,CAAe,UAAW,GAAGM,EAAQ,IAAM,EAAI,6BAA+B,EAAE,oBAC/E,SAAA,CAAAvB,EAAAA,IAAC,MAAA,CAAI,UAAU,eAAA,CAAgB,EAC/BA,EAAAA,IAAC,QAAK,SAAA,GAAA,CAAM,CAAA,CAAA,EAFLuB,CAGT,CACD,CAAA,CACH,EACF,CAEJ,CCfO,IAAKC,GAAAA,IACVA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QACAA,EAAAA,EAAA,MAAQ,CAAA,EAAR,QAFUA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e}from"./app-DlxnnX-Y.js";import{s}from"./DxppYmgw.chunk.js";function n(a){return e.jsx("svg",{...a,children:e.jsx("path",{d:"M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z",fill:"currentColor"})})}function r(a){let l=`d-flex align-items-center badge-list ${s.minHeight}`;return a.className&&(l+=` ${a.className}`),e.jsx("div",{className:l,children:a.children})}export{n as A,r as B};
|
|
2
|
+
//# sourceMappingURL=B3hUKuRr.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"B3hUKuRr.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/AddVideoSvg.tsx","../../../../libs/shared/src/components/badges/BadgeListContainer.tsx"],"sourcesContent":["import React from 'react';\n\nexport function AddVideoSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n d='M4.5 6a.5.5 0 0 0-.5.5v11a.5.5 0 0 0 .5.5l12.313.035a.478.478 0 0 1 .337.816l-.007.006a.49.49 0 0 1-.345.143H4.5A1.5 1.5 0 0 1 3 17.5v-11A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v4.293a.5.5 0 0 1-1 0V6.5a.5.5 0 0 0-.5-.5zm5.538 3.123a.26.26 0 0 0-.038.133v5.479a.256.256 0 0 0 .39.218l4.482-2.74a.256.256 0 0 0 0-.436l-4.482-2.74a.256.256 0 0 0-.352.086m10.867 4.348a.46.46 0 0 0-.463-.471h-.046a.467.467 0 0 0-.464.47v2.03h-1.974c-.153.013-.458.123-.458.465v.07c0 .377.305.467.458.465l1.974-.001v2.03c0 .271.208.471.464.471h.046c.257 0 .463-.21.463-.47v-2.031l1.975.001c.25 0 .458-.208.458-.465v-.07a.464.464 0 0 0-.458-.465h-1.975z'\n fill='currentColor'\n />\n </svg>\n );\n}\n","import * as React from 'react';\n\nimport styles from './badge.module.scss';\n\ninterface BadgeListContainerProps {\n className?: string;\n}\n\nexport function BadgeListContainer(props: React.PropsWithChildren<BadgeListContainerProps>): JSX.Element {\n let className = `d-flex align-items-center badge-list ${styles.minHeight}`;\n\n if (props.className)\n className += ` ${props.className}`;\n\n return (\n <div className={className}>\n {props.children}\n </div>\n );\n}"],"names":["AddVideoSvg","props","jsx","BadgeListContainer","className","styles"],"mappings":"yEAEO,SAASA,EAAYC,EAAsC,CAChE,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,+nBACF,KAAK,cAAA,CAAA,EAET,CAEJ,CCHO,SAASC,EAAmBF,EAAsE,CACvG,IAAIG,EAAY,wCAAwCC,EAAO,SAAS,GAExE,OAAIJ,EAAM,YACRG,GAAa,IAAIH,EAAM,SAAS,IAGhCC,EAAAA,IAAC,MAAA,CAAI,UAAAE,EACF,SAAAH,EAAM,SACT,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{j as e}from"./app-DlxnnX-Y.js";var x={exports:{}},o;function u(){return o||(o=1,(function(r){function s(){return r.exports=s=Object.assign?Object.assign.bind():function(a){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(a[i]=n[i])}return a},r.exports.__esModule=!0,r.exports.default=r.exports,s.apply(null,arguments)}r.exports=s,r.exports.__esModule=!0,r.exports.default=r.exports})(x)),x.exports}function f(r){return e.jsxs("svg",{...r,children:[e.jsx("defs",{children:e.jsx("path",{id:"visible-on",d:"M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6",fill:"currentColor"})}),e.jsx("use",{xlinkHref:"#visible-on",fill:"#333"})]})}export{f as V,u as r};
|
|
2
|
+
//# sourceMappingURL=B7sQixjZ.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"B7sQixjZ.chunk.js","sources":["../../../../../node_modules/@babel/runtime/helpers/extends.js","../../../../libs/shared/src/images/svg/actions/VisibleOnSvg.tsx"],"sourcesContent":["function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import React from 'react';\n\nexport function VisibleOnSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <defs>\n <path\n id='visible-on'\n d='M3 12c0-2.44 4.5-6.025 9.003-6C16.494 6.025 21 9.614 21 12c0 2.45-4.504 6-9 6-4.466 0-9-3.586-9-6m1 0c0 1.804 4.042 5 8 5 3.989 0 8-3.161 8-5 0-1.778-4.017-4.977-8.003-5C8.006 6.978 4 10.17 4 12m8 4a4 4 0 1 1 0-8 4 4 0 0 1 0 8m0-1a3 3 0 1 0 0-6 3 3 0 0 0 0 6'\n fill='currentColor'\n />\n </defs>\n <use xlinkHref='#visible-on' fill='#333' />\n </svg>\n );\n}\n"],"names":["_extends","module","n","e","t","r","VisibleOnSvg","props","jsxs","jsx"],"mappings":"oGAAA,SAASA,GAAW,CAClB,OAAOC,EAAA,QAAiBD,EAAW,OAAO,OAAS,OAAO,OAAO,OAAS,SAAUE,EAAG,CACrF,QAASC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CACzC,IAAIC,EAAI,UAAUD,CAAC,EACnB,QAASE,KAAKD,GAAI,CAAA,GAAI,eAAe,KAAKA,EAAGC,CAAC,IAAMH,EAAEG,CAAC,EAAID,EAAEC,CAAC,EACpE,CACI,OAAOH,CACX,EAAKD,qBAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,QAASD,EAAS,MAAM,KAAM,SAAS,CACjH,CACAC,EAAA,QAAiBD,EAAUC,EAAA,QAAA,WAA4B,GAAMA,EAAO,QAAQ,QAAaA,EAAO,wBCPzF,SAASK,EAAaC,EAAsC,CACjE,OACEC,EAAAA,KAAC,MAAA,CAAK,GAAGD,EACP,SAAA,CAAAE,MAAC,OAAA,CACC,SAAAA,EAAAA,IAAC,OAAA,CACC,GAAG,aACH,EAAE,qQACF,KAAK,cAAA,CAAA,EAET,EACAA,EAAAA,IAAC,MAAA,CAAI,UAAU,cAAc,KAAK,MAAA,CAAO,CAAA,EAC3C,CAEJ","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{U as n,H as $,an as k,c as D,S as y}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{U as n,H as $,an as k,c as D,S as y}from"./app-DlxnnX-Y.js";import{S as C}from"./BD8uJxiB.chunk.js";import{P as b}from"./pkzD5BEm.chunk.js";const j={exchange(){return{url:n.urlBuilder("/api/domain/v2/me/libraries",{type:["exchange"],maxCategoryDepth:0}),key:"exchange",normalize:!1,formatData:e=>D.first(e).data}},categories(){return{url:n.urlBuilder("/api/domain/v2/me/libraries",{type:["exchange"],maxCategoryDepth:2}),key:"exchange:categories",normalize:!1,formatData:e=>D.first(e).children}},folderVideos(e,t,a){const i=k.getVideoSortParam(t),s=(i?`{${i},libraries.typeid:18}`:"")+y.VIDEO_COLLECTION,o=n.urlBuilder(`{gateway}/v1/objects/${e}/videos`,{cursor:a,query:s,permissionFilterOption:b.StripMetadata}),r=["folder","videos",e,a,t].filter(l=>!!l).join(":");return{url:o,key:r}},seriesVideos(e,t,a){const i=k.getVideoSortParam(t),s=(i?`{${i},libraries.typeid:18}`:"")+y.VIDEO_COLLECTION,o=n.urlBuilder(`{gateway}/v1/collections/${e}/videos`,{query:s,cursor:a}),r=["series","videos",e,a,t].filter(l=>!!l).join(":");return{url:o,key:r}},mostRecentVideos(e,t){const a="{orderByDesc:timestamp}"+y.VIDEO_COLLECTION,i=n.urlBuilder(`{gateway}/v1/collections/${e}/videos`,{query:a,cursor:t}),s=["mostRecent","videos",e,t].filter(o=>!!o).join(":");return{url:i,key:s}},addVideo(e,t){return{key:"add:video:exchange",url:"{gateway}/v1/users/me/add-videos",data:{libraryId:e,objectId:t},type:$.POST,invalidationKeys:`videos:${t}:`}},suggestEdit(e,t){return{key:"suggest:an:edit",url:`{gateway}/v1/videos/${e}/suggest-edit`,data:t,type:$.POST}},search(e,t,a={},i){let s=`search:${e}:${t}:${i}`;s+=Object.keys(a).map(r=>a[r]).join(";");const o=Object.assign({},{index:t,cursor:i??void 0,query:e,...a});return{url:n.urlBuilder("{gateway}/v3/search/exchange",o),key:s,formatData:r=>{var g,m;let l=r.totalResults;const u=((g=r==null?void 0:r.results)==null?void 0:g.filter(d=>{var p,v,h,f,x,O,S,V;if(d._index!=="series"&&d._index!=="playlist")return!0;if(d._index==="playlist"){const c=d;return(v=(p=c.clips)==null?void 0:p.data)!=null&&v.length||(f=(h=c.interactives)==null?void 0:h.data)!=null&&f.length||(O=(x=c.videos)==null?void 0:x.data)!=null&&O.length?!0:(l--,!1)}return((V=(S=d.videos)==null?void 0:S.data)==null?void 0:V.length)===0?(l--,!1):!0}))??[];r.results=u,r.totalResults=l;const E=(m=u[0])==null?void 0:m._score;return{...r,results:C.mapMaxScoreToSearchResults(u,E)}}}}};export{j as E};
|
|
2
|
+
//# sourceMappingURL=B9q9og3n.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"B9q9og3n.chunk.js","sources":["../../src/apps/exchange/flight-requests/ExchangeRequests.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { SearchIndices, SearchResultObjectTypes, SearchResults, SearchResultsObject } from 'libs/shared/apps/search/interfaces';\nimport { SharedSearchHelper } from 'libs/shared/apps/search/utils/SharedSearchHelper';\nimport { SharedWithStatements } from 'libs/shared/constants/WithStatements';\nimport { PermissionFilterOption } from 'libs/shared/enums/PermissionFilterOption';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { Playlist, Series, SuggestEditRequest } from 'libs/shared/interfaces';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nexport const ExchangeRequests = {\n exchange() {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 0\n }),\n key: 'exchange',\n normalize: false,\n formatData: (data: HashObject[]) => {\n return ArrayHelper.first(data).data;\n }\n };\n },\n categories() {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v2/me/libraries', {\n type: ['exchange'],\n maxCategoryDepth: 2\n }),\n key: 'exchange:categories',\n normalize: false,\n formatData: (data: HashObject[]) => {\n return ArrayHelper.first(data).children;\n }\n };\n },\n folderVideos(\n folderId: string,\n sort?: VideoSortType,\n cursor?: string\n ): Flight.Request {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n \n const query = (sortFilter ? `{${sortFilter},libraries.typeid:18}` : '') + SharedWithStatements.VIDEO_COLLECTION;\n\n const url = UrlHelper.urlBuilder(`{gateway}/v1/objects/${folderId}/videos`, {\n cursor,\n query,\n permissionFilterOption: PermissionFilterOption.StripMetadata\n });\n\n const key = [ 'folder', 'videos', folderId, cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n seriesVideos(\n seriesId: string,\n sort?: VideoSortType,\n cursor?: string\n ): Flight.Request {\n const sortFilter = VideoSortHelper.getVideoSortParam(sort);\n\n const query = (sortFilter ? `{${sortFilter},libraries.typeid:18}` : '') + SharedWithStatements.VIDEO_COLLECTION;\n\n const url = UrlHelper.urlBuilder(`{gateway}/v1/collections/${seriesId}/videos`, {\n query,\n cursor\n });\n\n const key = [ 'series', 'videos', seriesId, cursor, sort ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n mostRecentVideos(exchangeId: string, cursor?: string): Flight.Request {\n const query = '{orderByDesc:timestamp}' + SharedWithStatements.VIDEO_COLLECTION;\n \n const url = UrlHelper.urlBuilder(`{gateway}/v1/collections/${exchangeId}/videos`, {\n query,\n cursor\n });\n\n const key = [ 'mostRecent', 'videos', exchangeId, cursor ].filter(k => !!k).join(':');\n\n return {\n url,\n key\n };\n },\n addVideo(\n libraryId: string,\n objectId: string\n ): Flight.Request {\n return {\n key: 'add:video:exchange',\n url: '{gateway}/v1/users/me/add-videos',\n data: {\n libraryId,\n objectId\n },\n type: HttpVerbs.POST,\n invalidationKeys: `videos:${objectId}:`\n };\n },\n\n suggestEdit(id: string, data: SuggestEditRequest): Flight.Request {\n return {\n key: 'suggest:an:edit',\n url: `{gateway}/v1/videos/${id}/suggest-edit`,\n data,\n type: HttpVerbs.POST\n };\n },\n\n search(\n query: string,\n indices: SearchIndices[],\n filters: HashObject = {},\n cursor?: string\n ): Flight.Request {\n let key = `search:${query}:${indices}:${cursor}`;\n\n key += Object.keys(filters).map(filterName => filters[filterName]).join(';');\n\n const params = Object.assign({}, {\n index: indices,\n cursor: cursor ?? undefined,\n query,\n ...filters\n });\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v3/search/exchange', params),\n key,\n formatData: (response: SearchResults<SearchResultObjectTypes>) => {\n /**\n * Until playlists and series are regionalised, search will always return every series/playlist that exists\n * even if the current user doesn't have access to the content inside (which will happen for example when playlists/series)\n * contain all UK library content but is being searched for by an AU user.\n *\n * For some search queries, this may result in search showing a bunch of \"empty\" playlists/series, which sucks.\n * This will filter all empty collections out and decrement the `totalResults` to avoid this and make search a better\n * experience.\n *\n * Ideally this will be removed one day when this regionalisation is no longer an issue.\n */\n let totalResults = response.totalResults;\n\n const results = response?.results?.filter(result => {\n if (result._index !== 'series' && result._index !== 'playlist')\n return true;\n\n if (result._index === 'playlist') {\n const playlist = result as SearchResultsObject<Playlist>;\n\n if (playlist.clips?.data?.length ||\n playlist.interactives?.data?.length ||\n playlist.videos?.data?.length)\n return true;\n\n totalResults--;\n return false;\n }\n\n if ((result as SearchResultsObject<Series>).videos?.data?.length === 0) {\n totalResults--;\n return false;\n }\n\n return true;\n }) ?? [];\n\n response.results = results;\n response.totalResults = totalResults;\n\n // The first search result will always have the highest score value.\n // We store it so that we can access it for subsequent results pages\n const resultMaxScore = results[0]?._score;\n\n return {\n ...response,\n results: SharedSearchHelper.mapMaxScoreToSearchResults(results, resultMaxScore)\n };\n }\n };\n }\n};"],"names":["ExchangeRequests","UrlHelper","data","ArrayHelper","folderId","sort","cursor","sortFilter","VideoSortHelper","query","SharedWithStatements","url","PermissionFilterOption","key","k","seriesId","exchangeId","libraryId","objectId","HttpVerbs","id","indices","filters","filterName","params","response","totalResults","results","_a","result","playlist","_b","_d","_c","_f","_e","_h","_g","resultMaxScore","SharedSearchHelper"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as _,L as g,Z as A}from"./app-
|
|
2
|
-
//# sourceMappingURL=
|
|
1
|
+
import{c as _,L as g,Z as A}from"./app-DlxnnX-Y.js";const P="sharedSearch.utils",m={"featured-result":1,"topic-list":8,company:8,"playlist-with-videos":1,"series-with-videos":1,"series-thumbnail":1,"playlist-thumbnail":1,"video-item":1,"companies-and-topics":16},O="curriculumCode",w="scopeId",C={flattenResults(e){return e?e.results?{...e,results:_.flatten(e.results)}:{...e,results:[]}:null},getContextualSearchQueryParams(e){if(!e||!e.get("filterParam"))return{};const t=e.get("filterParam"),r=e.get("filterValue");return{[t]:r}},mapMaxScoreToSearchResults(e,t){return e.map(r=>t?{...r,_maxScore:t}:r)},groupResults(e,t,r,c,l){var f,p;if(!(e!=null&&e.length)&&!((f=t==null?void 0:t.results)!=null&&f.length)&&!((p=r==null?void 0:r.results)!=null&&p.length))return[];const[u,...s]=e,i=l.xs||l.sm,a=S(u,t,r,c,i);return s!=null&&s.length?T(s,a,i):a}};function v(e,t){var r;if(e._index==="video"||e._index==="interactive"||e._index==="clip")return"video-item";if(e._index==="series")return(r=e.tallPoster)!=null&&r.id&&!t?"series-with-videos":"series-thumbnail";if(e._index==="classification")return"topic-list";if(e._index==="playlist")return t?"playlist-thumbnail":"playlist-with-videos"}function S(e,t,r,c,l){var f,p,y;const u=l?"playlist-thumbnail":"playlist-with-videos",s=l?"series-thumbnail":"series-with-videos",i=[{type:"companies-and-topics",items:[...((f=r==null?void 0:r.results)==null?void 0:f.slice(0,m.company))??[],...((p=t==null?void 0:t.results)==null?void 0:p.slice(0,m["topic-list"]))??[]]},{type:"featured-result",items:A.isEmpty(c)?[]:[c]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:"video-item",items:[]},{type:u,items:[]},{type:s,items:[]},{heading:g.getPhrase(P,"relatedTopics"),type:"topic-list",items:((y=t==null?void 0:t.results)==null?void 0:y.slice(m["topic-list"],m["topic-list"]*2))??[]}];let a=!1;return e==null||e.forEach(n=>{const h=v(n,l);if(n._featured&&!a&&n._index==="video"){a=!0;return}if(i[2].items.length<m["video-item"]&&h==="video-item"){i[2].items.push(n);return}if(i[3].items.length<m["video-item"]&&h==="video-item"){i[3].items.push(n);return}if(i[4].items.length<m["video-item"]&&h==="video-item"){i[4].items.push(n);return}if(i[5].items.length<m[u]&&h===u){i[5].items.push(n);return}if(i[6].items.length<m[s]&&h===s){i[6].items.push(n);return}const d=i[i.length-1];if((d==null?void 0:d.type)===h){const o=m[h];d.items.length>=o?i.push({type:h,items:[n]}):d.items.push(n)}else i.push({type:h,items:[n]})}),i.filter(n=>{var h;return(h=n.items)==null?void 0:h.length})}function T(e,t,r){return e&&e.forEach(c=>{const l=t[t.length-1];let u=!0;c.forEach(s=>{const i=v(s,r);if(u&&l.type===i)l.items.length>=m[i]?(u=!1,t.push({type:i,items:[s]})):l.items.push(s);else{const a=t[t.length-1];(a==null?void 0:a.type)===i?a.items.length>=m[i]?t.push({type:i,items:[s]}):a.items.push(s):t.push({type:i,items:[s]})}})}),t}export{C as S,O as a,w as b};
|
|
2
|
+
//# sourceMappingURL=BD8uJxiB.chunk.js.map
|