@clickview/exchange 0.50.0-rc.2 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/en.json +1 -1
  3. package/dist/scripts/{DiR2eKm4.chunk.js → 00ZZVkz8.chunk.js} +2 -2
  4. package/dist/scripts/{DiR2eKm4.chunk.js.map → 00ZZVkz8.chunk.js.map} +1 -1
  5. package/dist/scripts/{C36BgTJV.chunk.js → 5Bk7WUgq.chunk.js} +2 -2
  6. package/dist/scripts/{C36BgTJV.chunk.js.map → 5Bk7WUgq.chunk.js.map} +1 -1
  7. package/dist/scripts/{C97fjHLE.chunk.js → 8KUv63J7.chunk.js} +2 -2
  8. package/dist/scripts/{C97fjHLE.chunk.js.map → 8KUv63J7.chunk.js.map} +1 -1
  9. package/dist/scripts/9z6_p6X0.chunk.js +2 -0
  10. package/dist/scripts/{C7lfPlyo.chunk.js.map → 9z6_p6X0.chunk.js.map} +1 -1
  11. package/dist/scripts/{CidPoXbD.chunk.js → B0940TpS.chunk.js} +2 -2
  12. package/dist/scripts/{CidPoXbD.chunk.js.map → B0940TpS.chunk.js.map} +1 -1
  13. package/dist/scripts/{Cyhg-nBj.chunk.js → B3i6vWFI.chunk.js} +2 -2
  14. package/dist/scripts/{Cyhg-nBj.chunk.js.map → B3i6vWFI.chunk.js.map} +1 -1
  15. package/dist/scripts/{DcA5xG6o.chunk.js → B67thHHx.chunk.js} +2 -2
  16. package/dist/scripts/{DcA5xG6o.chunk.js.map → B67thHHx.chunk.js.map} +1 -1
  17. package/dist/scripts/{x8TB7tv6.chunk.js → B6WUgONl.chunk.js} +2 -2
  18. package/dist/scripts/{x8TB7tv6.chunk.js.map → B6WUgONl.chunk.js.map} +1 -1
  19. package/dist/scripts/{1oBN4k-t.chunk.js → BDMJzZJS.chunk.js} +2 -2
  20. package/dist/scripts/{1oBN4k-t.chunk.js.map → BDMJzZJS.chunk.js.map} +1 -1
  21. package/dist/scripts/{CHPVU_Qn.chunk.js → BIqqvbli.chunk.js} +2 -2
  22. package/dist/scripts/{CHPVU_Qn.chunk.js.map → BIqqvbli.chunk.js.map} +1 -1
  23. package/dist/scripts/{CRomQTdh.chunk.js → BKRUQoRy.chunk.js} +2 -2
  24. package/dist/scripts/{CRomQTdh.chunk.js.map → BKRUQoRy.chunk.js.map} +1 -1
  25. package/dist/scripts/{C5r1_Fc_.chunk.js → BKyPrPT1.chunk.js} +2 -2
  26. package/dist/scripts/{C5r1_Fc_.chunk.js.map → BKyPrPT1.chunk.js.map} +1 -1
  27. package/dist/scripts/{CiRJHxmU.chunk.js → BLCv9gK3.chunk.js} +2 -2
  28. package/dist/scripts/{CiRJHxmU.chunk.js.map → BLCv9gK3.chunk.js.map} +1 -1
  29. package/dist/scripts/{BoXsW16j.chunk.js → BOqS0oAv.chunk.js} +2 -2
  30. package/dist/scripts/{BoXsW16j.chunk.js.map → BOqS0oAv.chunk.js.map} +1 -1
  31. package/dist/scripts/{dnQMOuPg.chunk.js → BP9xX_4y.chunk.js} +2 -2
  32. package/dist/scripts/{dnQMOuPg.chunk.js.map → BP9xX_4y.chunk.js.map} +1 -1
  33. package/dist/scripts/{BHy7EHYB.chunk.js → BSSwzvSU.chunk.js} +2 -2
  34. package/dist/scripts/{BHy7EHYB.chunk.js.map → BSSwzvSU.chunk.js.map} +1 -1
  35. package/dist/scripts/{B93FMGSP.chunk.js → BX6q5kK6.chunk.js} +2 -2
  36. package/dist/scripts/{B93FMGSP.chunk.js.map → BX6q5kK6.chunk.js.map} +1 -1
  37. package/dist/scripts/{C8geGHZf.chunk.js → B_Fzcc5G.chunk.js} +2 -2
  38. package/dist/scripts/{C8geGHZf.chunk.js.map → B_Fzcc5G.chunk.js.map} +1 -1
  39. package/dist/scripts/{Bq1eQRV_.chunk.js → BbKbh5tw.chunk.js} +2 -2
  40. package/dist/scripts/{Bq1eQRV_.chunk.js.map → BbKbh5tw.chunk.js.map} +1 -1
  41. package/dist/scripts/{BvnJNI_Y.chunk.js → BelnzR7T.chunk.js} +2 -2
  42. package/dist/scripts/{BvnJNI_Y.chunk.js.map → BelnzR7T.chunk.js.map} +1 -1
  43. package/dist/scripts/{DbVI3h0V.chunk.js → Bh_H4xlD.chunk.js} +2 -2
  44. package/dist/scripts/{DbVI3h0V.chunk.js.map → Bh_H4xlD.chunk.js.map} +1 -1
  45. package/dist/scripts/{C99JIGI3.chunk.js → Blfyr1LY.chunk.js} +2 -2
  46. package/dist/scripts/{C99JIGI3.chunk.js.map → Blfyr1LY.chunk.js.map} +1 -1
  47. package/dist/scripts/{B1QnQX6X.chunk.js → BnvEXqRe.chunk.js} +2 -2
  48. package/dist/scripts/{B1QnQX6X.chunk.js.map → BnvEXqRe.chunk.js.map} +1 -1
  49. package/dist/scripts/{DYjoaCnl.chunk.js → BoHka3Ec.chunk.js} +2 -2
  50. package/dist/scripts/{DYjoaCnl.chunk.js.map → BoHka3Ec.chunk.js.map} +1 -1
  51. package/dist/scripts/{OvG1eOzS.chunk.js → Bq4Y5pwG.chunk.js} +2 -2
  52. package/dist/scripts/{OvG1eOzS.chunk.js.map → Bq4Y5pwG.chunk.js.map} +1 -1
  53. package/dist/scripts/{CX6fV4JE.chunk.js → BrRctFvx.chunk.js} +2 -2
  54. package/dist/scripts/{CX6fV4JE.chunk.js.map → BrRctFvx.chunk.js.map} +1 -1
  55. package/dist/scripts/{BNoyVB0N.chunk.js → C9hXChxH.chunk.js} +2 -2
  56. package/dist/scripts/{BNoyVB0N.chunk.js.map → C9hXChxH.chunk.js.map} +1 -1
  57. package/dist/scripts/CAk0J_8c.chunk.js +2 -0
  58. package/dist/scripts/{DU8kVZuh.chunk.js.map → CAk0J_8c.chunk.js.map} +1 -1
  59. package/dist/scripts/{DuHiL0j5.chunk.js → CB8-mvyD.chunk.js} +2 -2
  60. package/dist/scripts/{DuHiL0j5.chunk.js.map → CB8-mvyD.chunk.js.map} +1 -1
  61. package/dist/scripts/{z6Us1EdG.chunk.js → CGsO0liR.chunk.js} +2 -2
  62. package/dist/scripts/{z6Us1EdG.chunk.js.map → CGsO0liR.chunk.js.map} +1 -1
  63. package/dist/scripts/{CxB8O87g.chunk.js → CGuGkRe6.chunk.js} +2 -2
  64. package/dist/scripts/{CxB8O87g.chunk.js.map → CGuGkRe6.chunk.js.map} +1 -1
  65. package/dist/scripts/{Cdo-iAIt.chunk.js → CLEMYZCv.chunk.js} +2 -2
  66. package/dist/scripts/{Cdo-iAIt.chunk.js.map → CLEMYZCv.chunk.js.map} +1 -1
  67. package/dist/scripts/{BopIehJE.chunk.js → CLn62x3p.chunk.js} +2 -2
  68. package/dist/scripts/{BopIehJE.chunk.js.map → CLn62x3p.chunk.js.map} +1 -1
  69. package/dist/scripts/{WHGl124l.chunk.js → CSpsN9Sf.chunk.js} +2 -2
  70. package/dist/scripts/{WHGl124l.chunk.js.map → CSpsN9Sf.chunk.js.map} +1 -1
  71. package/dist/scripts/{l-2DoY9E.chunk.js → CYnTOjxg.chunk.js} +2 -2
  72. package/dist/scripts/{l-2DoY9E.chunk.js.map → CYnTOjxg.chunk.js.map} +1 -1
  73. package/dist/scripts/{CDVd8Gzo.chunk.js → CbbLJMD7.chunk.js} +2 -2
  74. package/dist/scripts/{CDVd8Gzo.chunk.js.map → CbbLJMD7.chunk.js.map} +1 -1
  75. package/dist/scripts/{CmcCT6Mq.chunk.js → Ch4JUcCU.chunk.js} +2 -2
  76. package/dist/scripts/{CmcCT6Mq.chunk.js.map → Ch4JUcCU.chunk.js.map} +1 -1
  77. package/dist/scripts/{CrAxON7A.chunk.js → Co1fFZfW.chunk.js} +2 -2
  78. package/dist/scripts/{CrAxON7A.chunk.js.map → Co1fFZfW.chunk.js.map} +1 -1
  79. package/dist/scripts/{-rDA7laA.chunk.js → Cr24Qwk-.chunk.js} +2 -2
  80. package/dist/scripts/{-rDA7laA.chunk.js.map → Cr24Qwk-.chunk.js.map} +1 -1
  81. package/dist/scripts/{mALBAvSP.chunk.js → CtWcMjF1.chunk.js} +2 -2
  82. package/dist/scripts/{mALBAvSP.chunk.js.map → CtWcMjF1.chunk.js.map} +1 -1
  83. package/dist/scripts/{BOzZT1qL.chunk.js → Cz5ywK2M.chunk.js} +2 -2
  84. package/dist/scripts/{BOzZT1qL.chunk.js.map → Cz5ywK2M.chunk.js.map} +1 -1
  85. package/dist/scripts/{BpkgwVDj.chunk.js → CzvwQ7VE.chunk.js} +2 -2
  86. package/dist/scripts/{BpkgwVDj.chunk.js.map → CzvwQ7VE.chunk.js.map} +1 -1
  87. package/dist/scripts/{CtciUXp4.chunk.js → D2GbHqkj.chunk.js} +2 -2
  88. package/dist/scripts/{CtciUXp4.chunk.js.map → D2GbHqkj.chunk.js.map} +1 -1
  89. package/dist/scripts/D4szUN7u.chunk.js +2 -0
  90. package/dist/scripts/{CfRzFJ31.chunk.js.map → D4szUN7u.chunk.js.map} +1 -1
  91. package/dist/scripts/{C_sNZ3q9.chunk.js → DC9G8zGt.chunk.js} +2 -2
  92. package/dist/scripts/{C_sNZ3q9.chunk.js.map → DC9G8zGt.chunk.js.map} +1 -1
  93. package/dist/scripts/{DxkmuWkI.chunk.js → DDH7BcMI.chunk.js} +2 -2
  94. package/dist/scripts/{DxkmuWkI.chunk.js.map → DDH7BcMI.chunk.js.map} +1 -1
  95. package/dist/scripts/{DHjeFsuP.chunk.js → DDceUbL5.chunk.js} +2 -2
  96. package/dist/scripts/{DHjeFsuP.chunk.js.map → DDceUbL5.chunk.js.map} +1 -1
  97. package/dist/scripts/{CHa6bZJR.chunk.js → DE4Juqeg.chunk.js} +2 -2
  98. package/dist/scripts/{CHa6bZJR.chunk.js.map → DE4Juqeg.chunk.js.map} +1 -1
  99. package/dist/scripts/{Ct_04zDE.chunk.js → DHDAcKGM.chunk.js} +2 -2
  100. package/dist/scripts/{Ct_04zDE.chunk.js.map → DHDAcKGM.chunk.js.map} +1 -1
  101. package/dist/scripts/DIiIA5hY.chunk.js +2 -0
  102. package/dist/scripts/{DsCrIxlP.chunk.js.map → DIiIA5hY.chunk.js.map} +1 -1
  103. package/dist/scripts/DLCJG-Fm.chunk.js +2 -0
  104. package/dist/scripts/{CYuY28rl.chunk.js.map → DLCJG-Fm.chunk.js.map} +1 -1
  105. package/dist/scripts/{cw1CbjiZ.chunk.js → DORu23Pq.chunk.js} +2 -2
  106. package/dist/scripts/{cw1CbjiZ.chunk.js.map → DORu23Pq.chunk.js.map} +1 -1
  107. package/dist/scripts/{Dmfr0hZx.chunk.js → DOqvCLjE.chunk.js} +2 -2
  108. package/dist/scripts/{Dmfr0hZx.chunk.js.map → DOqvCLjE.chunk.js.map} +1 -1
  109. package/dist/scripts/{DWmgmt8-.chunk.js → DQNTWWrq.chunk.js} +2 -2
  110. package/dist/scripts/{DWmgmt8-.chunk.js.map → DQNTWWrq.chunk.js.map} +1 -1
  111. package/dist/scripts/{h68xZO90.chunk.js → DWDiqXD7.chunk.js} +2 -2
  112. package/dist/scripts/{h68xZO90.chunk.js.map → DWDiqXD7.chunk.js.map} +1 -1
  113. package/dist/scripts/{Bi0GaEZE.chunk.js → DZ4UeBKW.chunk.js} +2 -2
  114. package/dist/scripts/{Bi0GaEZE.chunk.js.map → DZ4UeBKW.chunk.js.map} +1 -1
  115. package/dist/scripts/{6D5NxiDj.chunk.js → D_JsKNZh.chunk.js} +2 -2
  116. package/dist/scripts/{6D5NxiDj.chunk.js.map → D_JsKNZh.chunk.js.map} +1 -1
  117. package/dist/scripts/DaW5IrMJ.chunk.js +2 -0
  118. package/dist/scripts/{BTq4W22K.chunk.js.map → DaW5IrMJ.chunk.js.map} +1 -1
  119. package/dist/scripts/{DwMcJ3Ip.chunk.js → DdcBDgpq.chunk.js} +2 -2
  120. package/dist/scripts/{DwMcJ3Ip.chunk.js.map → DdcBDgpq.chunk.js.map} +1 -1
  121. package/dist/scripts/{BeyY1CwV.chunk.js → Dgk7nYlV.chunk.js} +2 -2
  122. package/dist/scripts/{BeyY1CwV.chunk.js.map → Dgk7nYlV.chunk.js.map} +1 -1
  123. package/dist/scripts/{CEZiVSXU.chunk.js → DihXm5mz.chunk.js} +2 -2
  124. package/dist/scripts/{CEZiVSXU.chunk.js.map → DihXm5mz.chunk.js.map} +1 -1
  125. package/dist/scripts/{DXRtwYU8.chunk.js → DlvwqUyz.chunk.js} +2 -2
  126. package/dist/scripts/{DXRtwYU8.chunk.js.map → DlvwqUyz.chunk.js.map} +1 -1
  127. package/dist/scripts/{C8aildLX.chunk.js → Dp7JDODj.chunk.js} +2 -2
  128. package/dist/scripts/{C8aildLX.chunk.js.map → Dp7JDODj.chunk.js.map} +1 -1
  129. package/dist/scripts/{wKPIC1H3.chunk.js → Dq-OnBBE.chunk.js} +2 -2
  130. package/dist/scripts/{wKPIC1H3.chunk.js.map → Dq-OnBBE.chunk.js.map} +1 -1
  131. package/dist/scripts/{DRxJfu3A.chunk.js → DrTbksPR.chunk.js} +2 -2
  132. package/dist/scripts/{DRxJfu3A.chunk.js.map → DrTbksPR.chunk.js.map} +1 -1
  133. package/dist/scripts/{aFUDBFEd.chunk.js → Dw4FOx_G.chunk.js} +2 -2
  134. package/dist/scripts/{aFUDBFEd.chunk.js.map → Dw4FOx_G.chunk.js.map} +1 -1
  135. package/dist/scripts/DwDASoj9.chunk.js +2 -0
  136. package/dist/scripts/{D1fkcw30.chunk.js.map → DwDASoj9.chunk.js.map} +1 -1
  137. package/dist/scripts/{U4HYh7oC.chunk.js → DwIQTRkx.chunk.js} +2 -2
  138. package/dist/scripts/{U4HYh7oC.chunk.js.map → DwIQTRkx.chunk.js.map} +1 -1
  139. package/dist/scripts/{BBhJOnJs.chunk.js → DxF4GLPa.chunk.js} +2 -2
  140. package/dist/scripts/{BBhJOnJs.chunk.js.map → DxF4GLPa.chunk.js.map} +1 -1
  141. package/dist/scripts/{Dh_LRqD1.chunk.js → DxQXGtZm.chunk.js} +2 -2
  142. package/dist/scripts/{Dh_LRqD1.chunk.js.map → DxQXGtZm.chunk.js.map} +1 -1
  143. package/dist/scripts/{CRuObGvW.chunk.js → PbxMeR6l.chunk.js} +2 -2
  144. package/dist/scripts/{CRuObGvW.chunk.js.map → PbxMeR6l.chunk.js.map} +1 -1
  145. package/dist/scripts/{W8wegH66.chunk.js → QpdkfjyT.chunk.js} +2 -2
  146. package/dist/scripts/{W8wegH66.chunk.js.map → QpdkfjyT.chunk.js.map} +1 -1
  147. package/dist/scripts/{d_OewpIc.chunk.js → UXYD7sDO.chunk.js} +2 -2
  148. package/dist/scripts/{d_OewpIc.chunk.js.map → UXYD7sDO.chunk.js.map} +1 -1
  149. package/dist/scripts/{DgWxzhMg.chunk.js → _mZm6AP_.chunk.js} +2 -2
  150. package/dist/scripts/{DgWxzhMg.chunk.js.map → _mZm6AP_.chunk.js.map} +1 -1
  151. package/dist/scripts/{app-Det8y4U1.js → app-C2md4v6O.js} +4 -4
  152. package/dist/scripts/{app-Det8y4U1.js.map → app-C2md4v6O.js.map} +1 -1
  153. package/dist/scripts/{DzbCvkXx.chunk.js → ccYLdwq0.chunk.js} +2 -2
  154. package/dist/scripts/{DzbCvkXx.chunk.js.map → ccYLdwq0.chunk.js.map} +1 -1
  155. package/dist/scripts/{CeVw08Ln.chunk.js → dDxecIoU.chunk.js} +2 -2
  156. package/dist/scripts/{CeVw08Ln.chunk.js.map → dDxecIoU.chunk.js.map} +1 -1
  157. package/dist/scripts/{Bsw4ZO9U.chunk.js → e36s_itU.chunk.js} +2 -2
  158. package/dist/scripts/{Bsw4ZO9U.chunk.js.map → e36s_itU.chunk.js.map} +1 -1
  159. package/dist/scripts/{CdGLJKZk.chunk.js → jCscKGvY.chunk.js} +2 -2
  160. package/dist/scripts/{CdGLJKZk.chunk.js.map → jCscKGvY.chunk.js.map} +1 -1
  161. package/dist/scripts/{7fC_wUI0.chunk.js → k1zcITmm.chunk.js} +2 -2
  162. package/dist/scripts/{7fC_wUI0.chunk.js.map → k1zcITmm.chunk.js.map} +1 -1
  163. package/dist/scripts/{DT1DdOeu.chunk.js → kCVTwqsj.chunk.js} +2 -2
  164. package/dist/scripts/{DT1DdOeu.chunk.js.map → kCVTwqsj.chunk.js.map} +1 -1
  165. package/dist/scripts/{CBlUYGqN.chunk.js → lqnuKFoF.chunk.js} +2 -2
  166. package/dist/scripts/{CBlUYGqN.chunk.js.map → lqnuKFoF.chunk.js.map} +1 -1
  167. package/dist/scripts/{BuawzJwd.chunk.js → msdkwRcQ.chunk.js} +2 -2
  168. package/dist/scripts/msdkwRcQ.chunk.js.map +1 -0
  169. package/dist/scripts/{OpOTepmF.chunk.js → nXVR9Bqt.chunk.js} +2 -2
  170. package/dist/scripts/{OpOTepmF.chunk.js.map → nXVR9Bqt.chunk.js.map} +1 -1
  171. package/dist/scripts/o_RrBIf7.chunk.js +2 -0
  172. package/dist/scripts/{Bksx5ui9.chunk.js.map → o_RrBIf7.chunk.js.map} +1 -1
  173. package/dist/scripts/{C6bEPV55.chunk.js → pMgyVPKQ.chunk.js} +2 -2
  174. package/dist/scripts/{C6bEPV55.chunk.js.map → pMgyVPKQ.chunk.js.map} +1 -1
  175. package/dist/scripts/{CBTOSLnS.chunk.js → qk22xon7.chunk.js} +2 -2
  176. package/dist/scripts/{CBTOSLnS.chunk.js.map → qk22xon7.chunk.js.map} +1 -1
  177. package/dist/scripts/{5EeDosB6.chunk.js → sw2_FVPM.chunk.js} +2 -2
  178. package/dist/scripts/{5EeDosB6.chunk.js.map → sw2_FVPM.chunk.js.map} +1 -1
  179. package/dist/scripts/{B5a9j4D_.chunk.js → tK-xYIyK.chunk.js} +2 -2
  180. package/dist/scripts/{B5a9j4D_.chunk.js.map → tK-xYIyK.chunk.js.map} +1 -1
  181. package/dist/scripts/{Bz18U45-.chunk.js → uev2agHh.chunk.js} +2 -2
  182. package/dist/scripts/{Bz18U45-.chunk.js.map → uev2agHh.chunk.js.map} +1 -1
  183. package/dist/scripts/{BI7-pkuo.chunk.js → wScha29a.chunk.js} +2 -2
  184. package/dist/scripts/{BI7-pkuo.chunk.js.map → wScha29a.chunk.js.map} +1 -1
  185. package/package.json +1 -1
  186. package/dist/scripts/BTq4W22K.chunk.js +0 -2
  187. package/dist/scripts/Bksx5ui9.chunk.js +0 -2
  188. package/dist/scripts/BuawzJwd.chunk.js.map +0 -1
  189. package/dist/scripts/C7lfPlyo.chunk.js +0 -2
  190. package/dist/scripts/CYuY28rl.chunk.js +0 -2
  191. package/dist/scripts/CfRzFJ31.chunk.js +0 -2
  192. package/dist/scripts/D1fkcw30.chunk.js +0 -2
  193. package/dist/scripts/DU8kVZuh.chunk.js +0 -2
  194. package/dist/scripts/DsCrIxlP.chunk.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DT1DdOeu.chunk.js","sources":["../../../../libs/shared/src/utils/TreeHelper.ts","../../../../libs/shared/src/components/tree/TreeNodeText.tsx","../../../../libs/shared/src/components/tree/TreeNode.tsx","../../../../libs/shared/src/components/tree/Tree.tsx","../../../../libs/shared/src/apps/libraries/components/add-to-library-form/AddToLibraryForm.tsx","../../../../libs/shared/src/apps/libraries/utils/LibraryHelper.ts","../../../../libs/shared/src/apps/libraries/validation/AddToLibraryValidationSchema.ts","../../../../libs/shared/src/enums/LibraryRequestObjectType.ts","../../../../libs/shared/src/utils/error-message-helper/ErrorMessageHelper.ts","../../../../libs/shared/src/utils/LaunchUrlHelper.ts","../../../../libs/shared/src/apps/libraries/views/add-to-library/AddToLibraryView.tsx"],"sourcesContent":["import { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { BaseObject, MasterNestedObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nfunction _find<T extends BaseTree<BaseObject>>(\n node: T,\n id: string | number,\n parents: T[]\n): [ T | null, T[] ] {\n if (TextHelper.isEqual(node.id, id))\n return [ node, parents ];\n\n const children = node.children;\n\n if (!children || !children.length)\n return [ null, null ];\n\n for (let i = 0; i < children.length; i++) {\n const [ child, foundParents ] = _find(children[i] as T, id, [ ...parents, node ]);\n\n if (child)\n return [ child, foundParents ];\n }\n\n return [ null, null ];\n}\n\nexport const DEFAULT_MAX_DEPTH = 7;\n\nexport const TreeHelper = {\n find<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T | null {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [child] = _find(tree.children[j] as T, id, []);\n \n if (child)\n return child;\n }\n },\n\n getPath<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T[] {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [ , path ] = _find(tree.children[j] as T, id, []);\n \n if (path?.length)\n return path;\n }\n },\n\n getParent<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T {\n const path = TreeHelper.getPath(tree, id);\n\n if (!path?.length)\n return null;\n\n return path[path.length - 1];\n },\n\n convertNestedObjectToTree<T extends BaseObject>(nestedObject: MasterNestedObject<T>): BaseTree<T> {\n const node: BaseTree<T> = {\n ...nestedObject.data,\n children: nestedObject.children\n };\n\n if (node.children?.length)\n node.children = node.children.map(TreeHelper.convertNestedObjectToTree);\n\n return node;\n },\n\n findDepth<T extends MasterNestedObject<BaseObject>>(nodes: T[], targetId: string, currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return 0;\n }\n\n let depth = 0;\n\n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return currentDepth;\n }\n\n const childDepth = TreeHelper.findDepth(node.children, targetId, currentDepth + 1);\n\n if (childDepth > 0) {\n depth = childDepth;\n break;\n }\n }\n\n return depth;\n },\n\n findMaxChildDepth<T extends BaseObject>(nodes: MasterNestedObject<T>[], currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return currentDepth;\n }\n \n let deepestLevel = currentDepth;\n \n for (const node of nodes) {\n const childLevel = TreeHelper.findMaxChildDepth(node.children, currentDepth + 1);\n deepestLevel = Math.max(deepestLevel, childLevel);\n }\n \n return deepestLevel;\n },\n\n findTargetNode<T extends BaseObject>(nodes: MasterNestedObject<T>[], targetId: string): MasterNestedObject<T> | null {\n if (!nodes || nodes.length === 0) {\n return null;\n }\n \n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return node;\n }\n \n const result = TreeHelper.findTargetNode(node.children, targetId);\n if (result !== null) {\n return result;\n }\n }\n \n return null;\n },\n\n isMaxDepth<T extends MasterNestedObject<BaseObject>>(\n nodes: T[],\n sourceId: string,\n targetId: string,\n maxDepth: number = DEFAULT_MAX_DEPTH\n ): boolean {\n const sourceTree = TreeHelper.findTargetNode(nodes, sourceId);\n const maxChildDepth = TreeHelper.findMaxChildDepth(sourceTree.children);\n const targetDepth = TreeHelper.findDepth(nodes, targetId);\n \n return maxChildDepth + targetDepth >= maxDepth;\n },\n\n flatten<T>(\n tree: BaseTree<T>\n ): T[] {\n if (!tree)\n return [];\n\n const nodes: T[] = [];\n\n function pushNode(node: BaseTree<T>): void {\n nodes.push(ObjectHelper.omit(node, ['children']));\n node.children.forEach(pushNode);\n }\n\n tree.children.forEach(pushNode);\n\n return nodes;\n }\n};","import React from 'react';\n\nimport { BaseObject } from 'libs/analytics/interfaces';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport styles from './tree.module.scss';\n\ninterface TreeNodeTextProps<T extends BaseTree<BaseObject>> {\n tree: T;\n text: string;\n className?: string;\n isDisabled?: boolean;\n disabledTooltip?: string | ((tree: T) => string);\n}\n\nexport function TreeNodeText<T extends BaseTree<BaseObject>>(props: TreeNodeTextProps<T>): React.ReactElement {\n function getTextClass(): string {\n let textClassName = `${styles.text} clamp-4`;\n\n if (props.className)\n textClassName += ` ${props.className}`;\n\n return textClassName;\n }\n\n if (props.isDisabled) {\n const disabledToolTip = typeof props.disabledTooltip === 'string' ?\n props.disabledTooltip :\n props.disabledTooltip?.(props.tree);\n\n return (\n <Tooltip title={disabledToolTip} spanHack spanHackClassName='d-inline-block flex-grow-1'>\n <span className={`${getTextClass()} text-secondary ${styles.disabled}`}>\n {props.text}\n </span>\n </Tooltip>\n );\n }\n\n return (\n <div className={getTextClass()}>\n {props.text}\n </div>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Actions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nimport { Tree } from './Tree';\nimport { TreeNodeText } from './TreeNodeText';\n\nimport styles from './tree.module.scss';\n\nconst TREE_ACTIONS_CLASS = 'tree-actions';\n\nexport interface TreeNodeAction<T extends BaseTree<BaseObject>> {\n label: string;\n getAppLink: (node: T) => Core.AppLink;\n className?: string;\n}\n\ninterface TreeNodeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isRoot?: boolean;\n isDropdown?: boolean;\n multiSelect?: boolean;\n depth: number;\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nTreeNode.defaultProps = {\n selectedLinkClassName: styles.selected\n};\n\nexport function TreeNode<T extends BaseTree<BaseObject>>(props: TreeNodeProps<T>): React.ReactElement {\n const { tree, selectedIds, getAppLink, onSelect, isDisabled, isClickDisabled, actions, isDropdown } = props;\n\n const ref = React.useRef<HTMLDivElement>(null);\n\n // If one of our children is selected\n const isParentOfSelected = React.useMemo(() => {\n return selectedIds?.some(id => TreeHelper.find(tree, id));\n }, [ tree, selectedIds ]);\n\n // Or we are below the initial open depth\n const initiallyOpen = props.openDepth && props.depth < props.openDepth;\n\n // We render expanded initially\n const [ isExpanded, setIsExpanded ] = React.useState(isParentOfSelected || initiallyOpen);\n\n const isSelected = selectedIds?.some(id => TextHelper.isEqual(tree.id, id));\n let hasChildren = !!tree.children && !!tree.children.length;\n\n if (props.maxDisplayDepth && hasChildren)\n hasChildren = props.depth < props.maxDisplayDepth;\n\n /**\n * We need to stop propagation of our event if our tree is rendered\n * inside of a bootstrap dropdown - Sha\n */\n React.useEffect(() => {\n if (!ref.current || !isDropdown)\n return;\n\n const onClick = (e: Event) => {\n e.stopPropagation();\n onSelectNode();\n };\n\n ref.current.addEventListener('click', onClick);\n return () => {\n if (!ref.current)\n return;\n\n ref.current.removeEventListener('click', onClick);\n };\n }, [ ref.current, onSelect ]);\n\n /**\n * Check if an expanded item should actually be collapsed\n */\n React.useEffect(() => {\n // Don't do auto collapsing for trees that support multiple selections\n if (props.multiSelect)\n return;\n\n // Skip item if it's already collapsed\n if (!isExpanded)\n return;\n\n // Parents of a selected item should remain expanded\n if (isParentOfSelected)\n return;\n\n // Selected items should remain expanded\n if (isSelected)\n return;\n\n // Disabled items can be expanded if nothing has been selected\n if (!props.selectedIds?.length && isDisabled?.(props.tree))\n return;\n\n // If we want it to be initially open\n if (initiallyOpen)\n return;\n\n setIsExpanded(false);\n }, [selectedIds]);\n\n function onSelectNode(): void {\n if (isClickDisabled?.(tree))\n return;\n\n if (!props.multiSelect)\n setIsExpanded(!isExpanded);\n\n if (getAppLink) {\n Core.AppLinkHelper.trigger(getAppLink(tree));\n return;\n }\n\n if (isDisabled?.(tree)) {\n onSelect(null);\n return;\n }\n\n onSelect?.(tree);\n }\n\n function onClickCaret(e: any): void {\n e.stopPropagation();\n\n if (props.multiSelect) {\n setIsExpanded(!isExpanded);\n return;\n }\n\n onSelectNode();\n }\n\n function getNodeClass(): string {\n let className = `py-1 d-flex align-items-center w-100 position-relative ${styles.node}`;\n\n if (isSelected)\n className += ' ' + props.selectedLinkClassName;\n\n if (!actions?.length)\n className += ' ' + styles.noActions;\n\n if (isParentOfSelected && props.multiSelect)\n className += ' text-underline fst-italic';\n\n return className;\n }\n\n if (props.maxDisplayDepth && (props.depth > props.maxDisplayDepth))\n return <></>;\n\n return (\n <li className={`position-relative ${isExpanded ? '' : styles.collapsed} ${props.isRoot ? styles.root : ''}`}>\n <div className='position-relative'>\n <DivButton\n className={getNodeClass()}\n onClick={isDropdown ? null : onSelectNode}\n ref={ref}\n >\n {hasChildren && (\n <div className={styles.chevron} onClick={onClickCaret}>\n <Caret direction={isExpanded ? 'down' : 'right'} />\n </div>\n )}\n\n <TreeNodeText\n tree={tree}\n // Always prefer name over description\n text={tree.name || tree.description}\n isDisabled={isDisabled?.(tree) || isClickDisabled?.(tree)}\n disabledTooltip={props.disabledTooltip}\n />\n </DivButton>\n\n {!!props.actions && (\n <Actions\n className={styles.actions}\n actions={actions?.map(a => ({ ...a, appLink: a.getAppLink(tree) }))}\n actionsDropdownClassName={`btn btn-light ${TREE_ACTIONS_CLASS} py-0`}\n />\n )}\n\n {isExpanded && <Tree key={tree.id} {...props} isChild depth={props.depth + 1} />}\n </div>\n </li>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport { TreeNode, TreeNodeAction } from './TreeNode';\n\nimport styles from './tree.module.scss';\n\nexport interface TreeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isChild?: boolean;\n depth?: number;\n multiSelect?: boolean;\n /**\n * Set to true if you are using this component inside of\n * a bootstrap dropdown menu and don't want it to close\n * on click events - Sha\n */\n isDropdown?: boolean;\n /**\n * If you want to initially render open to a certain depth\n */\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nexport function Tree<T extends BaseTree<BaseObject>>(props: TreeProps<T>): React.ReactElement {\n const { tree, ...childProps } = props;\n\n if (!tree || !tree.children)\n return <></>;\n\n return (\n <ul className={`m-0 p-0 list-unstyled ${styles.tree}`}>\n {tree.children.map((child, key) => (\n <TreeNode key={key} tree={child} {...childProps} isRoot={!props.isChild} depth={props.depth || 0} />\n ))}\n </ul>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AddToLibraryFormValues } from 'libs/shared/apps/libraries/views/add-to-library/AddToLibraryView';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tree } from 'libs/shared/components/tree/Tree';\nimport { BaseTree, Folder, Library, LibraryTree, PopupViewProps, VideoTypes } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nconst namespace = 'libraries.addToLibraryForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToLibraryFormProps extends PopupViewProps {\n libraries: Library[];\n isFolderDisabled: (folder: BaseTree<Folder>) => boolean;\n video: VideoTypes;\n videoLibraries?: Library[];\n getCategoryTree: (libraryId: string) => LibraryTree[];\n}\n\nexport function AddToLibraryForm(props: AddToLibraryFormProps): JSX.Element {\n const formikProps = useFormikContextWrapper<AddToLibraryFormValues>();\n\n const isMakingLibraryRequest = !formikProps.values.library.canAddContent;\n const isAlreadyInLibrary = props.videoLibraries?.find(l => l.id === formikProps.values.library.id);\n\n const tree = React.useMemo(() => {\n const categoryTree = props.getCategoryTree(formikProps.values.library.id);\n\n const rootBranches = categoryTree.map(TreeHelper.convertNestedObjectToTree);\n\n return {\n children: rootBranches\n } as BaseTree<Library>;\n }, [formikProps.values.library.id]);\n\n return (\n <>\n {isAlreadyInLibrary && (\n <div className='alert alert-info'>\n <Text namespace={namespace} phrase='alreadyInLibrary' options={{ library: formikProps.values.library.name }} />\n </div>\n )}\n\n {isMakingLibraryRequest && (\n <p>\n <Text namespace={namespace} phrase='sendLibraryRequest' options={{ video: props.video.name }} />\n </p>\n )}\n\n <Form>\n {props.libraries.length > 1 && (\n <FormField\n as='select'\n label={getPhrase('selectLibrary')}\n name='library'\n value={formikProps.values.library?.id ?? ''}\n className={!formikProps.values.library?.id ? 'text-secondary' : ''}\n showRequiredStar\n onChange={(e: any) => {\n formikProps.setFieldValue('folder', null);\n\n const libraryId = e.target.value;\n\n formikProps.setFieldValue('library', props.libraries.find(l => l.id.toString() === libraryId.toString()));\n }}\n >\n {props.libraries.map(library => (\n <option key={library.id} value={library.id} className='text-dark'>\n {library.name}\n </option>\n ))}\n </FormField>\n )}\n\n <FormField\n label={getPhrase('selectFolder')}\n name='folder'\n showRequiredStar\n disabled={!formikProps.values.library}\n >\n {() => (\n <Scrollbars autoHeight autoHeightMax={300} className='border rounded-3'>\n <Tree\n tree={tree}\n onSelect={(folder: Folder) => formikProps.setFieldValue('folder', folder)}\n isDisabled={props.isFolderDisabled}\n disabledTooltip={LanguageService.getPhrase(namespace, 'disabledFolder')}\n selectedIds={formikProps.values.folder?.id ? [formikProps.values.folder.id] : undefined}\n selectedLinkClassName='bg-light'\n />\n </Scrollbars>\n )}\n </FormField>\n \n {!!formikProps.values.folder && (\n <p className='mt-n2'>\n <Text\n namespace={namespace}\n phrase={isMakingLibraryRequest ? 'requestTo' : 'addTo'}\n options={{ folder: formikProps.values.folder.name }}\n />\n </p>\n )}\n\n {isMakingLibraryRequest && (\n <FormField\n label={LanguageService.getPhrase(namespace, 'comment')}\n as='textarea'\n name='comment'\n id='comment'\n placeholder={LanguageService.getPhrase(namespace, 'commentPlaceholder')}\n value={formikProps.values.comment}\n />\n )}\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit variant='dark' text={getPhrase('addToLibrary')} />\n </PopupButtons>\n </Form>\n </>\n );\n}","import { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CurrentUser, Library } from 'libs/shared/interfaces';\n\ntype LibraryTypes = Library['type'] | 'shared_library';\n\nexport const LibraryHelper = {\n /**\n * Orders libraries by type (custom -> shared -> hosted).\n * Also orders libraries of same type alphabetically.\n */\n sort(libraries: Library[]): Library[] {\n if (!libraries?.length)\n return [];\n\n return libraries.sort((a: Library, b: Library) => {\n // This is required because shared libraries have a type of `custom_library`\n const aType: LibraryTypes = a.isSharedLibrary ? 'shared_library' : a.type;\n const bType: LibraryTypes = b.isSharedLibrary ? 'shared_library' : b.type;\n \n if (aType === bType)\n return a.name.localeCompare(b.name);\n \n if (aType === 'custom_library')\n return -1;\n \n if (aType === 'shared_library' && bType !== 'custom_library')\n return -1;\n\n if (aType === 'hosted_library' && bType !== 'custom_library' && bType !== 'shared_library')\n return -1;\n \n return 1;\n });\n },\n\n hasTwigOrTigtag(libraries: Library[], currentUser: CurrentUser) {\n if (!currentUser)\n return { hasTwig: false, hasTigtag: false };\n\n // Anon users can see Twig/Tigtag if they're in England.\n if (!currentUser.isAuthenticated) {\n const hasAnonAccess = (\n currentUser.contentRegion === ContentRegion.UK ||\n currentUser.contentRegion === ContentRegion.SCOT\n );\n\n return {\n hasTwig: hasAnonAccess,\n hasTigtag: hasAnonAccess\n };\n }\n\n if (!libraries)\n return { hasTwig: false, hasTigtag: false };\n \n let hasTwig = false;\n let hasTigtag = false;\n\n for (const lib of libraries) {\n if (lib.id.toString() === HardCoded.Libraries.TWIG)\n hasTwig = true;\n else if (lib.id.toString() === HardCoded.Libraries.TIGTAG)\n hasTigtag = true;\n\n // If both are true we don't need to keep searching\n if (hasTwig && hasTigtag)\n break;\n }\n\n return { hasTwig, hasTigtag };\n }\n};","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'libraries.validation';\n\nexport const AddToLibraryValidationSchema = object().shape({\n comment: string()\n .nullable()\n .max(512, () => LanguageService.getPhrase(namespace, 'commentExceeds')),\n library: object()\n .required(() => LanguageService.getPhrase(namespace, 'libraryRequired'))\n .nullable(),\n folder: object()\n .required(() => LanguageService.getPhrase(namespace, 'folderRequired'))\n .nullable()\n});","export enum LibraryRequestObjectType {\n MasterVideo = 1,\n MasterClip = 2,\n MasterInteractive = 3\n}","import { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { InviteColleagueXhr, LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nconst getPhrase = LanguageService.encloseNamespace('shared.errorMessageHelper');\n\nconst LIBRARY_ERROR_PHRASE_MAPPING = {\n 'operation-not-allowed': 'operationNotAllowed',\n 'library-not-supported': 'libraryNotSupported',\n 'access-denied': 'accessDenied',\n 'library-access-denied': 'libraryAccessDenied',\n 'library-access-denied-create': 'libraryAccessDeniedCreate',\n 'library-access-denied-fulfil': 'libraryAccessDeniedFulfill',\n 'library-access-denied-not-authorized': 'libraryAccessDeniedNotAuthorized',\n 'library-request-access-denied': 'accessDenied',\n 'library-request-access-denied-create-request': 'libraryRequestAccessDeniedCreateRequest',\n 'library-request-access-denied-process-comment': 'libraryRequestAccessDeniedProcessComment',\n 'customer-not-found': 'customerNotFound',\n 'customer-not-found-current-user': 'customerNotFound',\n 'customer-not-found-library-owner': 'customerNotFoundLibraryOwner',\n 'customer-not-found-destination-library-owner': 'customerNotFoundLibraryOwner',\n 'user-not-found': 'userNotFound',\n 'library-not-found': 'libraryNotFound',\n 'video-not-found': 'videoNotFound',\n 'category-not-found': 'categoryNotFound',\n 'category-not-found-destination-not-provided': 'categoryNotFoundDestinationNotProvided',\n 'category-not-found-not-in-library': 'categoryNotFoundInLibrary',\n 'library-request-not-found': 'libraryRequestNotFound',\n 'invalid-category-path': 'invalidCategoryPath',\n 'library-api-error': 'somethingWentWrong',\n 'content-not-playable': 'contentNotPlayable',\n 'invalid-object': 'invalidObject',\n 'same-request-existed': 'sameRequestExisted',\n 'unknown-error': 'somethingWentWrong',\n 'no-email': 'noEmailError'\n};\n\nconst INVITE_COLLEAGUE_PHRASE_MAPPING = {\n 'create-invitation-failed': 'createInvitationFailed',\n 'invitation-resend-failed': 'invitationResendFailed',\n 'failed-to-accept': 'failedToAccept',\n 'invitee-not-found': 'inviteeNotFound',\n 'invitation-not-found': 'invitationNotFound',\n 'invitation-deleted': 'invitationDeleted',\n 'too-many-emails': 'tooManyEmails'\n};\n\nexport const ErrorMessageHelper = {\n libraryApiError(xhr: LibraryApiXhr): string {\n const phrase = LIBRARY_ERROR_PHRASE_MAPPING[xhr?.responseJSON?.type];\n\n if (!phrase)\n return getPhrase('somethingWentWrong');\n\n return getPhrase(phrase);\n },\n inviteColleagueError(xhr: InviteColleagueXhr): string {\n const phrase = INVITE_COLLEAGUE_PHRASE_MAPPING[xhr?.responseJSON?.type];\n\n if (!phrase)\n return getPhrase('somethingWentWrong');\n\n return getPhrase(phrase);\n }\n};\n\nexport const ErrorMessageHelperValidation = {\n libraryApiErrors(): void {\n Object.values(LIBRARY_ERROR_PHRASE_MAPPING).forEach(value => {\n const phrase = getPhrase(value);\n\n if (!phrase)\n Core.ErrorHelper.throw(new DevError(`No language mapping found for library api error type: ${value}`));\n });\n },\n inviteColleagueErrors(): void {\n Object.values(INVITE_COLLEAGUE_PHRASE_MAPPING).forEach(value => {\n const phrase = getPhrase(value);\n\n if (!phrase)\n Core.ErrorHelper.throw(new DevError(`No language mapping found for library api error type: ${value}`));\n });\n }\n};","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\ninterface OpenLibraryFolderParams {\n libraryId: string;\n folderId: string;\n}\n\nexport const LaunchUrlHelper = {\n buildOpenAppLinkUrl(baseLaunchUrl: string, appLink: string, product?: string): string {\n return UrlHelper.urlBuilder(`${baseLaunchUrl}/open`, { appLink, product });\n },\n\n buildOpenVideoUrl(baseLaunchUrl: string, videoId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `video:${videoId}`, product);\n },\n\n buildOpenClipUrl(baseLaunchUrl: string, clipId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `clip:${clipId}`, product);\n },\n\n buildOpenInteractiveUrl(baseLaunchUrl: string, interactiveId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `interactive:${interactiveId}`, product);\n },\n\n buildOpenTopicUrl(baseLaunchUrl: string, topicId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `topic:${topicId}`, product);\n },\n\n buildOpenSeriesUrl(baseLaunchUrl: string, seriesId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `series:${seriesId}`, product);\n },\n\n buildOpenPlaylistUrl(baseLaunchUrl: string, playlistId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `playlist:${playlistId}`, product);\n },\n\n buildOpenCategoryUrl(baseLaunchUrl: string, categoryId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `category:${categoryId}`, product);\n },\n\n buildOpenLibraryFolderUrl(baseLaunchUrl: string, params: OpenLibraryFolderParams, product?: string): string {\n const appLink = `library:${params.libraryId}:folder:${params.folderId}`;\n \n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, appLink, product);\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { AlertType } from 'libs/common/backbone/services/BaseAlertService';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AddToLibraryForm } from 'libs/shared/apps/libraries/components/add-to-library-form/AddToLibraryForm';\nimport { LibraryHelper } from 'libs/shared/apps/libraries/utils/LibraryHelper';\nimport { AddToLibraryValidationSchema } from 'libs/shared/apps/libraries/validation/AddToLibraryValidationSchema';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { LibraryRequestObjectType } from 'libs/shared/enums/LibraryRequestObjectType';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\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 { BaseTree, Clip, Config, CurrentUser, Folder, InteractiveMetadata, Library, LibraryTree, PopupViewProps, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\nimport { ErrorMessageHelper } from 'libs/shared/utils/error-message-helper/ErrorMessageHelper';\nimport { LaunchUrlHelper } from 'libs/shared/utils/LaunchUrlHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nexport interface AddToLibraryFormValues {\n library: Library;\n folder: Folder;\n comment?: string;\n}\n\ntype LibraryObjectType = MasterType.Video | MasterType.Clip | MasterType.Interactive;\n\ntype ObjectTypeMap = {\n [K in LibraryObjectType]: LibraryRequestObjectType;\n};\n\nconst OBJECT_TYPE_MAP: ObjectTypeMap = {\n [MasterType.Video]: LibraryRequestObjectType.MasterVideo,\n [MasterType.Clip]: LibraryRequestObjectType.MasterClip,\n [MasterType.Interactive]: LibraryRequestObjectType.MasterInteractive\n};\n\nconst namespace = 'libraries.addToLibrary';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToLibraryViewProps extends PopupViewProps {\n id: string;\n typeId: MasterType;\n folderAppLink?: Core.AppLink;\n}\n\nexport function AddToLibraryView(props: AddToLibraryViewProps): JSX.Element {\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const librariesWithCategories = Flight.useBasicFetch<LibraryTree[]>(LibraryRequests.librariesWithCategories());\n const libraries = Flight.useBasicFetch<Library[]>(LibraryRequests.libraryRequestLibraries());\n\n const videoRequest = VideoHelper.getVideoRequest(props.id, props.typeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\n\n const isClipOrInteractive = VideoHelper.isClip(video.data) || VideoHelper.isInteractive(video.data);\n const parentVideo = isClipOrInteractive && (video.data as Clip | InteractiveMetadata)?._parentVideo;\n const parentVideoDetails = Flight.useBasicFetch<Video>(\n parentVideo && VideoRequests.video(parentVideo.id)\n );\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const sortedLibraries = React.useMemo(() => LibraryHelper.sort(libraries.data), [libraries.data]);\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const alerts = useAlerts();\n\n const sort = !!user.data && VideoSortHelper.getOrSetSortType(user.data.id);\n\n /**\n * We try to pull the library and category id off the video/clip/interactive.\n * If we can't, then we try to get them off the _parentVideo. \n */\n function getSourceIds() {\n let sourceCategoryId: string = null;\n let sourceLibraryId = ArrayHelper.first(video.data?.libraries?.data)?.id;\n\n if (sourceLibraryId && video.data.categories.data?.length) {\n const category = video.data.categories.data.find(category => {\n return category.libraries?.data?.find(l => l.id.toString() === sourceLibraryId.toString());\n });\n\n if (category)\n sourceCategoryId = category.id;\n }\n\n if (!sourceLibraryId) {\n sourceLibraryId = ArrayHelper.first(parentVideoDetails.data?.libraries?.data)?.id;\n\n if (sourceLibraryId && parentVideoDetails.data.categories.data?.length) {\n const category = parentVideoDetails.data.categories.data.find(category => {\n return category.libraries?.data?.find(l => l.id.toString() === sourceLibraryId.toString());\n });\n \n if (category)\n sourceCategoryId = category.id;\n }\n }\n\n return {\n sourceLibraryId: sourceLibraryId ? +sourceLibraryId : null,\n sourceCategoryId: sourceCategoryId ? +sourceCategoryId : null\n };\n }\n\n function addToLibrary(data: AddToLibraryFormValues, onDone: () => void): void {\n const { sourceLibraryId, sourceCategoryId } = getSourceIds();\n\n const request: AddToLibraryRequest = {\n objectId: props.id.toString(),\n objectType: OBJECT_TYPE_MAP[props.typeId as LibraryObjectType],\n message: data.comment,\n sourceLibraryId,\n destinationLibraryId: +data.library.id,\n metadata: {\n destinationCategoryId: +data.folder.id,\n sourceCategoryId\n }\n };\n\n fetchAsync(LibraryRequests.addToLibrary(request, sort))\n .then(() => {\n if (!data.library.canAddContent) {\n alerts.success({\n type: AlertType.Pending,\n heading: getPhrase('pendingApproval'),\n message: getPhrase('libraryRequestSent', { library: data.library.name, escapeText: true })\n });\n } else {\n alerts.success({\n type: AlertType.Success,\n heading: '',\n message: getPhrase('addToLibrarySuccess', { folder: data.folder.name, video: video.data.name, escapeText: true }),\n ...(props.folderAppLink ? {\n appLink: {\n ...props.folderAppLink,\n args: [ data.library.id, data.folder.id, TextHelper.slugify(data.folder.name) ]\n },\n appLinkText: getPhrase('goToFolder', { folder: data.folder.name }),\n appLinkClassName: 'info-link'\n } : {\n extLink: LaunchUrlHelper.buildOpenLibraryFolderUrl(config.data.launchUrl, {\n libraryId: data.library.id,\n folderId: data.folder.id\n }),\n extLinkText: getPhrase('goToFolder', { folder: data.folder.name }),\n extLinkClassName: 'info-link'\n })\n });\n }\n })\n .catch((xhr: LibraryApiXhr) => {\n const errorMessage = ErrorMessageHelper.libraryApiError(xhr);\n handleGenerateReportError(xhr, errorMessage, errorMessage);\n onDone();\n })\n .finally(() => {\n props.closePopup();\n });\n }\n\n function getCategoryTree(libraryId: string): LibraryTree[] {\n return librariesWithCategories.data.find(l => l.data.id.toString() === libraryId.toString())?.children;\n }\n\n function isFolderDisabled(folder: BaseTree<Folder>): boolean {\n return !!video.data.categories?.data?.find(category => category.id === folder.id);\n }\n\n const dataLoaded = (\n libraries.data &&\n video.data &&\n librariesWithCategories.data\n );\n\n return (\n <Popup title={getPhrase('addToLibrary')} closePopup={props.closePopup} showLoadingSpinner={!dataLoaded || loading}>\n {dataLoaded && (\n <FormWrapper<AddToLibraryFormValues>\n initialValues={{\n library: ArrayHelper.first(sortedLibraries),\n folder: null,\n comment: ''\n }}\n validationSchema={AddToLibraryValidationSchema}\n onSubmit={addToLibrary}\n >\n <AddToLibraryForm\n libraries={sortedLibraries}\n closePopup={props.closePopup}\n isFolderDisabled={isFolderDisabled}\n video={video.data}\n videoLibraries={video.data?.libraries?.data}\n getCategoryTree={getCategoryTree}\n />\n </FormWrapper>\n )}\n </Popup>\n );\n}"],"names":["_find","node","id","parents","TextHelper","children","i","child","foundParents","DEFAULT_MAX_DEPTH","TreeHelper","tree","j","path","nestedObject","_a","nodes","targetId","currentDepth","depth","_b","childDepth","deepestLevel","childLevel","result","sourceId","maxDepth","sourceTree","maxChildDepth","targetDepth","pushNode","ObjectHelper","TreeNodeText","props","getTextClass","textClassName","styles","disabledToolTip","jsx","Tooltip","TREE_ACTIONS_CLASS","TreeNode","selectedIds","getAppLink","onSelect","isDisabled","isClickDisabled","actions","isDropdown","ref","React.useRef","isParentOfSelected","React.useMemo","initiallyOpen","isExpanded","setIsExpanded","React.useState","isSelected","hasChildren","React.useEffect","onClick","e","onSelectNode","Core.AppLinkHelper","onClickCaret","getNodeClass","className","Fragment","jsxs","DivButton","Caret","Actions","a","Tree","childProps","key","namespace","getPhrase","LanguageService","AddToLibraryForm","formikProps","useFormikContextWrapper","isMakingLibraryRequest","isAlreadyInLibrary","l","React","Text","Form","FormField","_c","libraryId","library","Scrollbars","folder","PopupButtons","LibraryHelper","libraries","b","aType","bType","currentUser","hasAnonAccess","ContentRegion","hasTwig","hasTigtag","lib","HardCoded","AddToLibraryValidationSchema","object","string","LibraryRequestObjectType","LIBRARY_ERROR_PHRASE_MAPPING","INVITE_COLLEAGUE_PHRASE_MAPPING","ErrorMessageHelper","xhr","phrase","LaunchUrlHelper","baseLaunchUrl","appLink","product","UrlHelper","videoId","clipId","interactiveId","topicId","seriesId","playlistId","categoryId","params","OBJECT_TYPE_MAP","MasterType","AddToLibraryView","user","Flight.useBasicFetch","UserRequests","librariesWithCategories","LibraryRequests","videoRequest","VideoHelper","video","parentVideo","parentVideoDetails","VideoRequests","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","ConfigRequests","sortedLibraries","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","sort","VideoSortHelper","getSourceIds","sourceCategoryId","sourceLibraryId","ArrayHelper","_d","category","_g","_f","_e","_h","addToLibrary","data","onDone","request","AlertType","errorMessage","getCategoryTree","isFolderDisabled","dataLoaded","Popup","FormWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"kCVTwqsj.chunk.js","sources":["../../../../libs/shared/src/utils/TreeHelper.ts","../../../../libs/shared/src/components/tree/TreeNodeText.tsx","../../../../libs/shared/src/components/tree/TreeNode.tsx","../../../../libs/shared/src/components/tree/Tree.tsx","../../../../libs/shared/src/apps/libraries/components/add-to-library-form/AddToLibraryForm.tsx","../../../../libs/shared/src/apps/libraries/utils/LibraryHelper.ts","../../../../libs/shared/src/apps/libraries/validation/AddToLibraryValidationSchema.ts","../../../../libs/shared/src/enums/LibraryRequestObjectType.ts","../../../../libs/shared/src/utils/error-message-helper/ErrorMessageHelper.ts","../../../../libs/shared/src/utils/LaunchUrlHelper.ts","../../../../libs/shared/src/apps/libraries/views/add-to-library/AddToLibraryView.tsx"],"sourcesContent":["import { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { BaseObject, MasterNestedObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nfunction _find<T extends BaseTree<BaseObject>>(\n node: T,\n id: string | number,\n parents: T[]\n): [ T | null, T[] ] {\n if (TextHelper.isEqual(node.id, id))\n return [ node, parents ];\n\n const children = node.children;\n\n if (!children || !children.length)\n return [ null, null ];\n\n for (let i = 0; i < children.length; i++) {\n const [ child, foundParents ] = _find(children[i] as T, id, [ ...parents, node ]);\n\n if (child)\n return [ child, foundParents ];\n }\n\n return [ null, null ];\n}\n\nexport const DEFAULT_MAX_DEPTH = 7;\n\nexport const TreeHelper = {\n find<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T | null {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [child] = _find(tree.children[j] as T, id, []);\n \n if (child)\n return child;\n }\n },\n\n getPath<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T[] {\n if (!tree || !tree.children || !tree.children.length)\n return;\n\n for (let j = 0; j < tree.children.length; j++) {\n const [ , path ] = _find(tree.children[j] as T, id, []);\n \n if (path?.length)\n return path;\n }\n },\n\n getParent<T extends BaseTree<BaseObject>>(tree: T, id: string | number): T {\n const path = TreeHelper.getPath(tree, id);\n\n if (!path?.length)\n return null;\n\n return path[path.length - 1];\n },\n\n convertNestedObjectToTree<T extends BaseObject>(nestedObject: MasterNestedObject<T>): BaseTree<T> {\n const node: BaseTree<T> = {\n ...nestedObject.data,\n children: nestedObject.children\n };\n\n if (node.children?.length)\n node.children = node.children.map(TreeHelper.convertNestedObjectToTree);\n\n return node;\n },\n\n findDepth<T extends MasterNestedObject<BaseObject>>(nodes: T[], targetId: string, currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return 0;\n }\n\n let depth = 0;\n\n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return currentDepth;\n }\n\n const childDepth = TreeHelper.findDepth(node.children, targetId, currentDepth + 1);\n\n if (childDepth > 0) {\n depth = childDepth;\n break;\n }\n }\n\n return depth;\n },\n\n findMaxChildDepth<T extends BaseObject>(nodes: MasterNestedObject<T>[], currentDepth: number = 0): number {\n if (!nodes || nodes.length === 0) {\n return currentDepth;\n }\n \n let deepestLevel = currentDepth;\n \n for (const node of nodes) {\n const childLevel = TreeHelper.findMaxChildDepth(node.children, currentDepth + 1);\n deepestLevel = Math.max(deepestLevel, childLevel);\n }\n \n return deepestLevel;\n },\n\n findTargetNode<T extends BaseObject>(nodes: MasterNestedObject<T>[], targetId: string): MasterNestedObject<T> | null {\n if (!nodes || nodes.length === 0) {\n return null;\n }\n \n for (const node of nodes) {\n if (node.data?.id?.toString() === targetId.toString()) {\n return node;\n }\n \n const result = TreeHelper.findTargetNode(node.children, targetId);\n if (result !== null) {\n return result;\n }\n }\n \n return null;\n },\n\n isMaxDepth<T extends MasterNestedObject<BaseObject>>(\n nodes: T[],\n sourceId: string,\n targetId: string,\n maxDepth: number = DEFAULT_MAX_DEPTH\n ): boolean {\n const sourceTree = TreeHelper.findTargetNode(nodes, sourceId);\n const maxChildDepth = TreeHelper.findMaxChildDepth(sourceTree.children);\n const targetDepth = TreeHelper.findDepth(nodes, targetId);\n \n return maxChildDepth + targetDepth >= maxDepth;\n },\n\n flatten<T>(\n tree: BaseTree<T>\n ): T[] {\n if (!tree)\n return [];\n\n const nodes: T[] = [];\n\n function pushNode(node: BaseTree<T>): void {\n nodes.push(ObjectHelper.omit(node, ['children']));\n node.children.forEach(pushNode);\n }\n\n tree.children.forEach(pushNode);\n\n return nodes;\n }\n};","import React from 'react';\n\nimport { BaseObject } from 'libs/analytics/interfaces';\n\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport styles from './tree.module.scss';\n\ninterface TreeNodeTextProps<T extends BaseTree<BaseObject>> {\n tree: T;\n text: string;\n className?: string;\n isDisabled?: boolean;\n disabledTooltip?: string | ((tree: T) => string);\n}\n\nexport function TreeNodeText<T extends BaseTree<BaseObject>>(props: TreeNodeTextProps<T>): React.ReactElement {\n function getTextClass(): string {\n let textClassName = `${styles.text} clamp-4`;\n\n if (props.className)\n textClassName += ` ${props.className}`;\n\n return textClassName;\n }\n\n if (props.isDisabled) {\n const disabledToolTip = typeof props.disabledTooltip === 'string' ?\n props.disabledTooltip :\n props.disabledTooltip?.(props.tree);\n\n return (\n <Tooltip title={disabledToolTip} spanHack spanHackClassName='d-inline-block flex-grow-1'>\n <span className={`${getTextClass()} text-secondary ${styles.disabled}`}>\n {props.text}\n </span>\n </Tooltip>\n );\n }\n\n return (\n <div className={getTextClass()}>\n {props.text}\n </div>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Actions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nimport { Tree } from './Tree';\nimport { TreeNodeText } from './TreeNodeText';\n\nimport styles from './tree.module.scss';\n\nconst TREE_ACTIONS_CLASS = 'tree-actions';\n\nexport interface TreeNodeAction<T extends BaseTree<BaseObject>> {\n label: string;\n getAppLink: (node: T) => Core.AppLink;\n className?: string;\n}\n\ninterface TreeNodeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isRoot?: boolean;\n isDropdown?: boolean;\n multiSelect?: boolean;\n depth: number;\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nTreeNode.defaultProps = {\n selectedLinkClassName: styles.selected\n};\n\nexport function TreeNode<T extends BaseTree<BaseObject>>(props: TreeNodeProps<T>): React.ReactElement {\n const { tree, selectedIds, getAppLink, onSelect, isDisabled, isClickDisabled, actions, isDropdown } = props;\n\n const ref = React.useRef<HTMLDivElement>(null);\n\n // If one of our children is selected\n const isParentOfSelected = React.useMemo(() => {\n return selectedIds?.some(id => TreeHelper.find(tree, id));\n }, [ tree, selectedIds ]);\n\n // Or we are below the initial open depth\n const initiallyOpen = props.openDepth && props.depth < props.openDepth;\n\n // We render expanded initially\n const [ isExpanded, setIsExpanded ] = React.useState(isParentOfSelected || initiallyOpen);\n\n const isSelected = selectedIds?.some(id => TextHelper.isEqual(tree.id, id));\n let hasChildren = !!tree.children && !!tree.children.length;\n\n if (props.maxDisplayDepth && hasChildren)\n hasChildren = props.depth < props.maxDisplayDepth;\n\n /**\n * We need to stop propagation of our event if our tree is rendered\n * inside of a bootstrap dropdown - Sha\n */\n React.useEffect(() => {\n if (!ref.current || !isDropdown)\n return;\n\n const onClick = (e: Event) => {\n e.stopPropagation();\n onSelectNode();\n };\n\n ref.current.addEventListener('click', onClick);\n return () => {\n if (!ref.current)\n return;\n\n ref.current.removeEventListener('click', onClick);\n };\n }, [ ref.current, onSelect ]);\n\n /**\n * Check if an expanded item should actually be collapsed\n */\n React.useEffect(() => {\n // Don't do auto collapsing for trees that support multiple selections\n if (props.multiSelect)\n return;\n\n // Skip item if it's already collapsed\n if (!isExpanded)\n return;\n\n // Parents of a selected item should remain expanded\n if (isParentOfSelected)\n return;\n\n // Selected items should remain expanded\n if (isSelected)\n return;\n\n // Disabled items can be expanded if nothing has been selected\n if (!props.selectedIds?.length && isDisabled?.(props.tree))\n return;\n\n // If we want it to be initially open\n if (initiallyOpen)\n return;\n\n setIsExpanded(false);\n }, [selectedIds]);\n\n function onSelectNode(): void {\n if (isClickDisabled?.(tree))\n return;\n\n if (!props.multiSelect)\n setIsExpanded(!isExpanded);\n\n if (getAppLink) {\n Core.AppLinkHelper.trigger(getAppLink(tree));\n return;\n }\n\n if (isDisabled?.(tree)) {\n onSelect(null);\n return;\n }\n\n onSelect?.(tree);\n }\n\n function onClickCaret(e: any): void {\n e.stopPropagation();\n\n if (props.multiSelect) {\n setIsExpanded(!isExpanded);\n return;\n }\n\n onSelectNode();\n }\n\n function getNodeClass(): string {\n let className = `py-1 d-flex align-items-center w-100 position-relative ${styles.node}`;\n\n if (isSelected)\n className += ' ' + props.selectedLinkClassName;\n\n if (!actions?.length)\n className += ' ' + styles.noActions;\n\n if (isParentOfSelected && props.multiSelect)\n className += ' text-underline fst-italic';\n\n return className;\n }\n\n if (props.maxDisplayDepth && (props.depth > props.maxDisplayDepth))\n return <></>;\n\n return (\n <li className={`position-relative ${isExpanded ? '' : styles.collapsed} ${props.isRoot ? styles.root : ''}`}>\n <div className='position-relative'>\n <DivButton\n className={getNodeClass()}\n onClick={isDropdown ? null : onSelectNode}\n ref={ref}\n >\n {hasChildren && (\n <div className={styles.chevron} onClick={onClickCaret}>\n <Caret direction={isExpanded ? 'down' : 'right'} />\n </div>\n )}\n\n <TreeNodeText\n tree={tree}\n // Always prefer name over description\n text={tree.name || tree.description}\n isDisabled={isDisabled?.(tree) || isClickDisabled?.(tree)}\n disabledTooltip={props.disabledTooltip}\n />\n </DivButton>\n\n {!!props.actions && (\n <Actions\n className={styles.actions}\n actions={actions?.map(a => ({ ...a, appLink: a.getAppLink(tree) }))}\n actionsDropdownClassName={`btn btn-light ${TREE_ACTIONS_CLASS} py-0`}\n />\n )}\n\n {isExpanded && <Tree key={tree.id} {...props} isChild depth={props.depth + 1} />}\n </div>\n </li>\n );\n}","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { BaseTree } from 'libs/shared/interfaces';\n\nimport { TreeNode, TreeNodeAction } from './TreeNode';\n\nimport styles from './tree.module.scss';\n\nexport interface TreeProps<T extends BaseTree<BaseObject>> {\n tree: T;\n selectedIds?: string[];\n getAppLink?: (item: T) => Core.AppLink;\n onSelect?: (item: T) => void;\n isDisabled?: (item: T) => boolean;\n isClickDisabled?: (item: T) => boolean;\n actions?: TreeNodeAction<T>[];\n selectedLinkClassName?: string;\n disabledTooltip?: string | ((tree: T) => string);\n isChild?: boolean;\n depth?: number;\n multiSelect?: boolean;\n /**\n * Set to true if you are using this component inside of\n * a bootstrap dropdown menu and don't want it to close\n * on click events - Sha\n */\n isDropdown?: boolean;\n /**\n * If you want to initially render open to a certain depth\n */\n openDepth?: number;\n maxDisplayDepth?: number;\n}\n\nexport function Tree<T extends BaseTree<BaseObject>>(props: TreeProps<T>): React.ReactElement {\n const { tree, ...childProps } = props;\n\n if (!tree || !tree.children)\n return <></>;\n\n return (\n <ul className={`m-0 p-0 list-unstyled ${styles.tree}`}>\n {tree.children.map((child, key) => (\n <TreeNode key={key} tree={child} {...childProps} isRoot={!props.isChild} depth={props.depth || 0} />\n ))}\n </ul>\n );\n}","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { AddToLibraryFormValues } from 'libs/shared/apps/libraries/views/add-to-library/AddToLibraryView';\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\nimport { useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Tree } from 'libs/shared/components/tree/Tree';\nimport { BaseTree, Folder, Library, LibraryTree, PopupViewProps, VideoTypes } from 'libs/shared/interfaces';\nimport { TreeHelper } from 'libs/shared/utils/TreeHelper';\n\nconst namespace = 'libraries.addToLibraryForm';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToLibraryFormProps extends PopupViewProps {\n libraries: Library[];\n isFolderDisabled: (folder: BaseTree<Folder>) => boolean;\n video: VideoTypes;\n videoLibraries?: Library[];\n getCategoryTree: (libraryId: string) => LibraryTree[];\n}\n\nexport function AddToLibraryForm(props: AddToLibraryFormProps): JSX.Element {\n const formikProps = useFormikContextWrapper<AddToLibraryFormValues>();\n\n const isMakingLibraryRequest = !formikProps.values.library.canAddContent;\n const isAlreadyInLibrary = props.videoLibraries?.find(l => l.id === formikProps.values.library.id);\n\n const tree = React.useMemo(() => {\n const categoryTree = props.getCategoryTree(formikProps.values.library.id);\n\n const rootBranches = categoryTree.map(TreeHelper.convertNestedObjectToTree);\n\n return {\n children: rootBranches\n } as BaseTree<Library>;\n }, [formikProps.values.library.id]);\n\n return (\n <>\n {isAlreadyInLibrary && (\n <div className='alert alert-info'>\n <Text namespace={namespace} phrase='alreadyInLibrary' options={{ library: formikProps.values.library.name }} />\n </div>\n )}\n\n {isMakingLibraryRequest && (\n <p>\n <Text namespace={namespace} phrase='sendLibraryRequest' options={{ video: props.video.name }} />\n </p>\n )}\n\n <Form>\n {props.libraries.length > 1 && (\n <FormField\n as='select'\n label={getPhrase('selectLibrary')}\n name='library'\n value={formikProps.values.library?.id ?? ''}\n className={!formikProps.values.library?.id ? 'text-secondary' : ''}\n showRequiredStar\n onChange={(e: any) => {\n formikProps.setFieldValue('folder', null);\n\n const libraryId = e.target.value;\n\n formikProps.setFieldValue('library', props.libraries.find(l => l.id.toString() === libraryId.toString()));\n }}\n >\n {props.libraries.map(library => (\n <option key={library.id} value={library.id} className='text-dark'>\n {library.name}\n </option>\n ))}\n </FormField>\n )}\n\n <FormField\n label={getPhrase('selectFolder')}\n name='folder'\n showRequiredStar\n disabled={!formikProps.values.library}\n >\n {() => (\n <Scrollbars autoHeight autoHeightMax={300} className='border rounded-3'>\n <Tree\n tree={tree}\n onSelect={(folder: Folder) => formikProps.setFieldValue('folder', folder)}\n isDisabled={props.isFolderDisabled}\n disabledTooltip={LanguageService.getPhrase(namespace, 'disabledFolder')}\n selectedIds={formikProps.values.folder?.id ? [formikProps.values.folder.id] : undefined}\n selectedLinkClassName='bg-light'\n />\n </Scrollbars>\n )}\n </FormField>\n \n {!!formikProps.values.folder && (\n <p className='mt-n2'>\n <Text\n namespace={namespace}\n phrase={isMakingLibraryRequest ? 'requestTo' : 'addTo'}\n options={{ folder: formikProps.values.folder.name }}\n />\n </p>\n )}\n\n {isMakingLibraryRequest && (\n <FormField\n label={LanguageService.getPhrase(namespace, 'comment')}\n as='textarea'\n name='comment'\n id='comment'\n placeholder={LanguageService.getPhrase(namespace, 'commentPlaceholder')}\n value={formikProps.values.comment}\n />\n )}\n\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit variant='dark' text={getPhrase('addToLibrary')} />\n </PopupButtons>\n </Form>\n </>\n );\n}","import { HardCoded } from 'libs/shared/constants/HardCoded';\nimport { ContentRegion } from 'libs/shared/enums/ContentRegion';\nimport { CurrentUser, Library } from 'libs/shared/interfaces';\n\ntype LibraryTypes = Library['type'] | 'shared_library';\n\nexport const LibraryHelper = {\n /**\n * Orders libraries by type (custom -> shared -> hosted).\n * Also orders libraries of same type alphabetically.\n */\n sort(libraries: Library[]): Library[] {\n if (!libraries?.length)\n return [];\n\n return libraries.sort((a: Library, b: Library) => {\n // This is required because shared libraries have a type of `custom_library`\n const aType: LibraryTypes = a.isSharedLibrary ? 'shared_library' : a.type;\n const bType: LibraryTypes = b.isSharedLibrary ? 'shared_library' : b.type;\n \n if (aType === bType)\n return a.name.localeCompare(b.name);\n \n if (aType === 'custom_library')\n return -1;\n \n if (aType === 'shared_library' && bType !== 'custom_library')\n return -1;\n\n if (aType === 'hosted_library' && bType !== 'custom_library' && bType !== 'shared_library')\n return -1;\n \n return 1;\n });\n },\n\n hasTwigOrTigtag(libraries: Library[], currentUser: CurrentUser) {\n if (!currentUser)\n return { hasTwig: false, hasTigtag: false };\n\n // Anon users can see Twig/Tigtag if they're in England.\n if (!currentUser.isAuthenticated) {\n const hasAnonAccess = (\n currentUser.contentRegion === ContentRegion.UK ||\n currentUser.contentRegion === ContentRegion.SCOT\n );\n\n return {\n hasTwig: hasAnonAccess,\n hasTigtag: hasAnonAccess\n };\n }\n\n if (!libraries)\n return { hasTwig: false, hasTigtag: false };\n \n let hasTwig = false;\n let hasTigtag = false;\n\n for (const lib of libraries) {\n if (lib.id.toString() === HardCoded.Libraries.TWIG)\n hasTwig = true;\n else if (lib.id.toString() === HardCoded.Libraries.TIGTAG)\n hasTigtag = true;\n\n // If both are true we don't need to keep searching\n if (hasTwig && hasTigtag)\n break;\n }\n\n return { hasTwig, hasTigtag };\n }\n};","import { object, string } from 'yup';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'libraries.validation';\n\nexport const AddToLibraryValidationSchema = object().shape({\n comment: string()\n .nullable()\n .max(512, () => LanguageService.getPhrase(namespace, 'commentExceeds')),\n library: object()\n .required(() => LanguageService.getPhrase(namespace, 'libraryRequired'))\n .nullable(),\n folder: object()\n .required(() => LanguageService.getPhrase(namespace, 'folderRequired'))\n .nullable()\n});","export enum LibraryRequestObjectType {\n MasterVideo = 1,\n MasterClip = 2,\n MasterInteractive = 3\n}","import { DevError } from 'libs/common/backbone/errors/DevError';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { InviteColleagueXhr, LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\n\nconst getPhrase = LanguageService.encloseNamespace('shared.errorMessageHelper');\n\nconst LIBRARY_ERROR_PHRASE_MAPPING = {\n 'operation-not-allowed': 'operationNotAllowed',\n 'library-not-supported': 'libraryNotSupported',\n 'access-denied': 'accessDenied',\n 'library-access-denied': 'libraryAccessDenied',\n 'library-access-denied-create': 'libraryAccessDeniedCreate',\n 'library-access-denied-fulfil': 'libraryAccessDeniedFulfill',\n 'library-access-denied-not-authorized': 'libraryAccessDeniedNotAuthorized',\n 'library-request-access-denied': 'accessDenied',\n 'library-request-access-denied-create-request': 'libraryRequestAccessDeniedCreateRequest',\n 'library-request-access-denied-process-comment': 'libraryRequestAccessDeniedProcessComment',\n 'customer-not-found': 'customerNotFound',\n 'customer-not-found-current-user': 'customerNotFound',\n 'customer-not-found-library-owner': 'customerNotFoundLibraryOwner',\n 'customer-not-found-destination-library-owner': 'customerNotFoundLibraryOwner',\n 'user-not-found': 'userNotFound',\n 'library-not-found': 'libraryNotFound',\n 'video-not-found': 'videoNotFound',\n 'category-not-found': 'categoryNotFound',\n 'category-not-found-destination-not-provided': 'categoryNotFoundDestinationNotProvided',\n 'category-not-found-not-in-library': 'categoryNotFoundInLibrary',\n 'library-request-not-found': 'libraryRequestNotFound',\n 'invalid-category-path': 'invalidCategoryPath',\n 'library-api-error': 'somethingWentWrong',\n 'content-not-playable': 'contentNotPlayable',\n 'invalid-object': 'invalidObject',\n 'same-request-existed': 'sameRequestExisted',\n 'unknown-error': 'somethingWentWrong',\n 'no-email': 'noEmailError'\n};\n\nconst INVITE_COLLEAGUE_PHRASE_MAPPING = {\n 'create-invitation-failed': 'createInvitationFailed',\n 'invitation-resend-failed': 'invitationResendFailed',\n 'failed-to-accept': 'failedToAccept',\n 'invitee-not-found': 'inviteeNotFound',\n 'invitation-not-found': 'invitationNotFound',\n 'invitation-deleted': 'invitationDeleted',\n 'too-many-emails': 'tooManyEmails'\n};\n\nexport const ErrorMessageHelper = {\n libraryApiError(xhr: LibraryApiXhr): string {\n const phrase = LIBRARY_ERROR_PHRASE_MAPPING[xhr?.responseJSON?.type];\n\n if (!phrase)\n return getPhrase('somethingWentWrong');\n\n return getPhrase(phrase);\n },\n inviteColleagueError(xhr: InviteColleagueXhr): string {\n const phrase = INVITE_COLLEAGUE_PHRASE_MAPPING[xhr?.responseJSON?.type];\n\n if (!phrase)\n return getPhrase('somethingWentWrong');\n\n return getPhrase(phrase);\n }\n};\n\nexport const ErrorMessageHelperValidation = {\n libraryApiErrors(): void {\n Object.values(LIBRARY_ERROR_PHRASE_MAPPING).forEach(value => {\n const phrase = getPhrase(value);\n\n if (!phrase)\n Core.ErrorHelper.throw(new DevError(`No language mapping found for library api error type: ${value}`));\n });\n },\n inviteColleagueErrors(): void {\n Object.values(INVITE_COLLEAGUE_PHRASE_MAPPING).forEach(value => {\n const phrase = getPhrase(value);\n\n if (!phrase)\n Core.ErrorHelper.throw(new DevError(`No language mapping found for library api error type: ${value}`));\n });\n }\n};","import { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\n\ninterface OpenLibraryFolderParams {\n libraryId: string;\n folderId: string;\n}\n\nexport const LaunchUrlHelper = {\n buildOpenAppLinkUrl(baseLaunchUrl: string, appLink: string, product?: string): string {\n return UrlHelper.urlBuilder(`${baseLaunchUrl}/open`, { appLink, product });\n },\n\n buildOpenVideoUrl(baseLaunchUrl: string, videoId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `video:${videoId}`, product);\n },\n\n buildOpenClipUrl(baseLaunchUrl: string, clipId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `clip:${clipId}`, product);\n },\n\n buildOpenInteractiveUrl(baseLaunchUrl: string, interactiveId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `interactive:${interactiveId}`, product);\n },\n\n buildOpenTopicUrl(baseLaunchUrl: string, topicId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `topic:${topicId}`, product);\n },\n\n buildOpenSeriesUrl(baseLaunchUrl: string, seriesId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `series:${seriesId}`, product);\n },\n\n buildOpenPlaylistUrl(baseLaunchUrl: string, playlistId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `playlist:${playlistId}`, product);\n },\n\n buildOpenCategoryUrl(baseLaunchUrl: string, categoryId: string, product?: string): string {\n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, `category:${categoryId}`, product);\n },\n\n buildOpenLibraryFolderUrl(baseLaunchUrl: string, params: OpenLibraryFolderParams, product?: string): string {\n const appLink = `library:${params.libraryId}:folder:${params.folderId}`;\n \n return LaunchUrlHelper.buildOpenAppLinkUrl(baseLaunchUrl, appLink, product);\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { AlertType } from 'libs/common/backbone/services/BaseAlertService';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AddToLibraryForm } from 'libs/shared/apps/libraries/components/add-to-library-form/AddToLibraryForm';\nimport { LibraryHelper } from 'libs/shared/apps/libraries/utils/LibraryHelper';\nimport { AddToLibraryValidationSchema } from 'libs/shared/apps/libraries/validation/AddToLibraryValidationSchema';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { LibraryRequestObjectType } from 'libs/shared/enums/LibraryRequestObjectType';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\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 { BaseTree, Clip, Config, CurrentUser, Folder, InteractiveMetadata, Library, LibraryTree, PopupViewProps, Video, VideoTypes } from 'libs/shared/interfaces';\nimport { AddToLibraryRequest } from 'libs/shared/interfaces/requests/AddToLibraryRequest';\nimport { LibraryApiXhr } from 'libs/shared/interfaces/responses/ErrorResponse';\nimport { ErrorMessageHelper } from 'libs/shared/utils/error-message-helper/ErrorMessageHelper';\nimport { LaunchUrlHelper } from 'libs/shared/utils/LaunchUrlHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nexport interface AddToLibraryFormValues {\n library: Library;\n folder: Folder;\n comment?: string;\n}\n\ntype LibraryObjectType = MasterType.Video | MasterType.Clip | MasterType.Interactive;\n\ntype ObjectTypeMap = {\n [K in LibraryObjectType]: LibraryRequestObjectType;\n};\n\nconst OBJECT_TYPE_MAP: ObjectTypeMap = {\n [MasterType.Video]: LibraryRequestObjectType.MasterVideo,\n [MasterType.Clip]: LibraryRequestObjectType.MasterClip,\n [MasterType.Interactive]: LibraryRequestObjectType.MasterInteractive\n};\n\nconst namespace = 'libraries.addToLibrary';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface AddToLibraryViewProps extends PopupViewProps {\n id: string;\n typeId: MasterType;\n folderAppLink?: Core.AppLink;\n}\n\nexport function AddToLibraryView(props: AddToLibraryViewProps): JSX.Element {\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const librariesWithCategories = Flight.useBasicFetch<LibraryTree[]>(LibraryRequests.librariesWithCategories());\n const libraries = Flight.useBasicFetch<Library[]>(LibraryRequests.libraryRequestLibraries());\n\n const videoRequest = VideoHelper.getVideoRequest(props.id, props.typeId);\n const video = Flight.useBasicFetch<VideoTypes>(videoRequest);\n\n const isClipOrInteractive = VideoHelper.isClip(video.data) || VideoHelper.isInteractive(video.data);\n const parentVideo = isClipOrInteractive && (video.data as Clip | InteractiveMetadata)?._parentVideo;\n const parentVideoDetails = Flight.useBasicFetch<Video>(\n parentVideo && VideoRequests.video(parentVideo.id)\n );\n\n const { loading, handleGenerateReportError } = useVerifiedEmailRequiredErrorHandler();\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const sortedLibraries = React.useMemo(() => LibraryHelper.sort(libraries.data), [libraries.data]);\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const alerts = useAlerts();\n\n const sort = !!user.data && VideoSortHelper.getOrSetSortType(user.data.id);\n\n /**\n * We try to pull the library and category id off the video/clip/interactive.\n * If we can't, then we try to get them off the _parentVideo. \n */\n function getSourceIds() {\n let sourceCategoryId: string = null;\n let sourceLibraryId = ArrayHelper.first(video.data?.libraries?.data)?.id;\n\n if (sourceLibraryId && video.data.categories.data?.length) {\n const category = video.data.categories.data.find(category => {\n return category.libraries?.data?.find(l => l.id.toString() === sourceLibraryId.toString());\n });\n\n if (category)\n sourceCategoryId = category.id;\n }\n\n if (!sourceLibraryId) {\n sourceLibraryId = ArrayHelper.first(parentVideoDetails.data?.libraries?.data)?.id;\n\n if (sourceLibraryId && parentVideoDetails.data.categories.data?.length) {\n const category = parentVideoDetails.data.categories.data.find(category => {\n return category.libraries?.data?.find(l => l.id.toString() === sourceLibraryId.toString());\n });\n \n if (category)\n sourceCategoryId = category.id;\n }\n }\n\n return {\n sourceLibraryId: sourceLibraryId ? +sourceLibraryId : null,\n sourceCategoryId: sourceCategoryId ? +sourceCategoryId : null\n };\n }\n\n function addToLibrary(data: AddToLibraryFormValues, onDone: () => void): void {\n const { sourceLibraryId, sourceCategoryId } = getSourceIds();\n\n const request: AddToLibraryRequest = {\n objectId: props.id.toString(),\n objectType: OBJECT_TYPE_MAP[props.typeId as LibraryObjectType],\n message: data.comment,\n sourceLibraryId,\n destinationLibraryId: +data.library.id,\n metadata: {\n destinationCategoryId: +data.folder.id,\n sourceCategoryId\n }\n };\n\n fetchAsync(LibraryRequests.addToLibrary(request, sort))\n .then(() => {\n if (!data.library.canAddContent) {\n alerts.success({\n type: AlertType.Pending,\n heading: getPhrase('pendingApproval'),\n message: getPhrase('libraryRequestSent', { library: data.library.name, escapeText: true })\n });\n } else {\n alerts.success({\n type: AlertType.Success,\n heading: '',\n message: getPhrase('addToLibrarySuccess', { folder: data.folder.name, video: video.data.name, escapeText: true }),\n ...(props.folderAppLink ? {\n appLink: {\n ...props.folderAppLink,\n args: [ data.library.id, data.folder.id, TextHelper.slugify(data.folder.name) ]\n },\n appLinkText: getPhrase('goToFolder', { folder: data.folder.name }),\n appLinkClassName: 'info-link'\n } : {\n extLink: LaunchUrlHelper.buildOpenLibraryFolderUrl(config.data.launchUrl, {\n libraryId: data.library.id,\n folderId: data.folder.id\n }),\n extLinkText: getPhrase('goToFolder', { folder: data.folder.name }),\n extLinkClassName: 'info-link'\n })\n });\n }\n })\n .catch((xhr: LibraryApiXhr) => {\n const errorMessage = ErrorMessageHelper.libraryApiError(xhr);\n handleGenerateReportError(xhr, errorMessage, errorMessage);\n onDone();\n })\n .finally(() => {\n props.closePopup();\n });\n }\n\n function getCategoryTree(libraryId: string): LibraryTree[] {\n return librariesWithCategories.data.find(l => l.data.id.toString() === libraryId.toString())?.children;\n }\n\n function isFolderDisabled(folder: BaseTree<Folder>): boolean {\n return !!video.data.categories?.data?.find(category => category.id === folder.id);\n }\n\n const dataLoaded = (\n libraries.data &&\n video.data &&\n librariesWithCategories.data\n );\n\n return (\n <Popup title={getPhrase('addToLibrary')} closePopup={props.closePopup} showLoadingSpinner={!dataLoaded || loading}>\n {dataLoaded && (\n <FormWrapper<AddToLibraryFormValues>\n initialValues={{\n library: ArrayHelper.first(sortedLibraries),\n folder: null,\n comment: ''\n }}\n validationSchema={AddToLibraryValidationSchema}\n onSubmit={addToLibrary}\n >\n <AddToLibraryForm\n libraries={sortedLibraries}\n closePopup={props.closePopup}\n isFolderDisabled={isFolderDisabled}\n video={video.data}\n videoLibraries={video.data?.libraries?.data}\n getCategoryTree={getCategoryTree}\n />\n </FormWrapper>\n )}\n </Popup>\n );\n}"],"names":["_find","node","id","parents","TextHelper","children","i","child","foundParents","DEFAULT_MAX_DEPTH","TreeHelper","tree","j","path","nestedObject","_a","nodes","targetId","currentDepth","depth","_b","childDepth","deepestLevel","childLevel","result","sourceId","maxDepth","sourceTree","maxChildDepth","targetDepth","pushNode","ObjectHelper","TreeNodeText","props","getTextClass","textClassName","styles","disabledToolTip","jsx","Tooltip","TREE_ACTIONS_CLASS","TreeNode","selectedIds","getAppLink","onSelect","isDisabled","isClickDisabled","actions","isDropdown","ref","React.useRef","isParentOfSelected","React.useMemo","initiallyOpen","isExpanded","setIsExpanded","React.useState","isSelected","hasChildren","React.useEffect","onClick","e","onSelectNode","Core.AppLinkHelper","onClickCaret","getNodeClass","className","Fragment","jsxs","DivButton","Caret","Actions","a","Tree","childProps","key","namespace","getPhrase","LanguageService","AddToLibraryForm","formikProps","useFormikContextWrapper","isMakingLibraryRequest","isAlreadyInLibrary","l","React","Text","Form","FormField","_c","libraryId","library","Scrollbars","folder","PopupButtons","LibraryHelper","libraries","b","aType","bType","currentUser","hasAnonAccess","ContentRegion","hasTwig","hasTigtag","lib","HardCoded","AddToLibraryValidationSchema","object","string","LibraryRequestObjectType","LIBRARY_ERROR_PHRASE_MAPPING","INVITE_COLLEAGUE_PHRASE_MAPPING","ErrorMessageHelper","xhr","phrase","LaunchUrlHelper","baseLaunchUrl","appLink","product","UrlHelper","videoId","clipId","interactiveId","topicId","seriesId","playlistId","categoryId","params","OBJECT_TYPE_MAP","MasterType","AddToLibraryView","user","Flight.useBasicFetch","UserRequests","librariesWithCategories","LibraryRequests","videoRequest","VideoHelper","video","parentVideo","parentVideoDetails","VideoRequests","loading","handleGenerateReportError","useVerifiedEmailRequiredErrorHandler","config","ConfigRequests","sortedLibraries","fetchAsync","Flight.useGetFetchAsync","alerts","useAlerts","sort","VideoSortHelper","getSourceIds","sourceCategoryId","sourceLibraryId","ArrayHelper","_d","category","_g","_f","_e","_h","addToLibrary","data","onDone","request","AlertType","errorMessage","getCategoryTree","isFolderDisabled","dataLoaded","Popup","FormWrapper"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as r}from"./app-Det8y4U1.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
- //# sourceMappingURL=CBlUYGqN.chunk.js.map
1
+ import{j as r}from"./app-C2md4v6O.js";function o(s){return r.jsx("svg",{...s,children:r.jsx("path",{fill:"currentColor",d:"M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087"})})}export{o as S};
2
+ //# sourceMappingURL=lqnuKFoF.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CBlUYGqN.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}
1
+ {"version":3,"file":"lqnuKFoF.chunk.js","sources":["../../../../libs/shared/src/images/svg/actions/SearchSvg.tsx"],"sourcesContent":["import React from 'react';\n\nexport function SearchSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M14.053 14.879a6.28 6.28 0 0 1-3.834 1.294C6.784 16.173 4 13.448 4 10.086S6.784 4 10.219 4c3.434 0 6.218 2.725 6.218 6.086 0 1.59-.622 3.037-1.641 4.12l5.056 4.95a.487.487 0 0 1 0 .699.513.513 0 0 1-.715 0zm1.384-4.793C15.437 7.297 13.121 5 10.22 5S5 7.297 5 10.086s2.316 5.087 5.219 5.087c2.902 0 5.218-2.298 5.218-5.087'\n />\n </svg>\n );\n}\n"],"names":["SearchSvg","props","jsx"],"mappings":"sCAEO,SAASA,EAAUC,EAAsC,CAC9D,OACEC,EAAAA,IAAC,MAAA,CAAK,GAAGD,EACP,SAAAC,EAAAA,IAAC,OAAA,CACC,KAAK,eACL,EAAE,mUAAA,CAAA,EAEN,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{aA as l,ar as k,Y as w,H as d,U as u}from"./app-Det8y4U1.js";var m=(e=>(e[e.AllResults=0]="AllResults",e[e.Subtitles=1]="Subtitles",e[e.TitleAndDescription=2]="TitleAndDescription",e))(m||{});function M(){const e=k.get("cv:holiday:dates");return w.isObject(e)?e:{startMonth:12,startDay:15,endMonth:1,endDay:6}}const O={getFormattedDateRange(e,r){return`${l.format(e,"Do MMMM YYYY")} - ${l.format(r,"Do MMMM YYYY")}`},getDateBroadcastParams(e){const r=a=>l.format(a,"YYYY-MM-DD"),t=r(new Date);switch(e){case"yesterday":return{from:r(l.subtract(t,1,"day")),to:t};case"last-week":return{from:r(l.subtract(t,7,"days")),to:t};case"last-2-weeks":return{from:r(l.subtract(t,14,"days")),to:t}}},isHolidayPeriod(){const{startMonth:e,startDay:r,endMonth:t,endDay:a}=M(),o=new Date,n=o.getMonth()+1,i=o.getDate();return n===e&&i>=r||n===t&&i<=a}};function f(e){return Object.entries(e).reduce((r,[t,a])=>(r[t.charAt(0).toLowerCase()+t.slice(1)]=a,r),{})}function z(e){return e.map(f)}function s(e){return e?Array.isArray(e)?z(e):f(e):null}const h={regions(){return{url:"/api/tv/api/v2/regions",key:"tv:regions",normalize:!1,formatData:s}},region(e){return{url:`/api/tv/api/v2/regions/${e}`,key:`tv:region:${e}`,normalize:!1,formatData:s}},dateRange(e){return{url:`/api/tv/api/v2/regions/${e}/daterange`,key:`tv:region:${e}:daterange`,normalize:!1,formatData:s}},channels(e){return{url:u.urlBuilder("/api/tv/api/v2/channels",{region:e}),key:`tv:channels:${e}`,normalize:!1,formatData:r=>s(r).sort((a,o)=>a.sortOrder-o.sortOrder)}},payTvChannels(){return{url:"/api/tv/v1/pay-tv/channels/all",key:"pay:tv:channels",normalize:!1,formatData:s}},programsByChannel(e,r,t,a){const o=u.urlBuilder(`/api/tv/api/v3/regions/${e}/channels/programs`,{channel:r,startDate:t,endDate:a}),n=["tv:programs:by:channel",e,r,t,a].join(":");return{url:o,key:n,normalize:!1,formatData:s}},programsByLetter(e,r,t,a){const o=u.urlBuilder("/api/tv/api/v2/Programs",{regionCode:e,startsWith:r,startDate:t,endDate:a}),n=["tv:programs:by:letter",e,r,t,a].join(":");return{url:o,key:n,normalize:!1,formatData:s}},program(e){return{url:`/api/tv/api/v3/programs/${e}`,key:`tv:programs:${e}`,normalize:!1,formatData:r=>{const t=s(r);return t.region=s(r.Region),t}}},search(e,r,t){const{query:a,dateBroadcast:o,...n}=r,i=t||1,p=n.filter||m.AllResults,y=u.urlBuilder("/api/tv/api/v4/search",{region:e,query:a,filter:p,...O.getDateBroadcastParams(o),...n,page:i,size:25}),g=Object.values({filter:p,dateBroadcast:o,...n}).join(":"),D=["tv:search",a,e,g,i].join(":");return{url:y,key:D,normalize:!1,formatData:v=>{const c=s(v);return c.results=s(v.Results),c.page=i,c}}},addFullVideo(e,r){return{url:"/api/tv/api/v2/workspace/video",key:"tv:add:full:video",normalize:!1,type:d.POST,data:e,invalidationKeys:`tv:workspace:video:${r}`}},addAdFreeVideo(e,r){return{url:u.urlBuilder(`/api/tv/v4/programs/${e.id}/ad-free`,{customerId:e.customerId,userId:e.userId}),key:"tv:add:ad:free:video",normalize:!1,type:d.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 o=l.add(a,1,"day");return{url:u.urlBuilder("/api/tv/v4/user-requests",{userId:e,customerId:r,regionCode:t,from:l.convertUTCToLocal(a).toISOString(),to:l.convertUTCToLocal(o).toISOString()}),key:"tv:add:free:credits",normalize:!1,formatData:s}},createAdFreeRequest(e){return{url:u.urlBuilder("/api/tv/v4/user-requests/ad-free",{userId:e.userId,customerId:e.customerId}),key:"tv:create:add:free:request",normalize:!1,type:d.POST,data:{programId:e.programId,regionCode:e.regionCode},invalidationKeys:["tv:add:free:credits"]}},workspaceVideo(e,r,t){return{url:u.urlBuilder(`/api/tv/v4/workspace/programs/${e}`,{userId:r,customerId:t}),key:`tv:workspace:video:${e}`,formatData:s}},requestProgram(e){return{url:"/api/tv/v1/pay-tv/user-requests",key:"tv:request:program",type:d.POST,data:e}},requestProgramUk(e){return{url:"/api/tv/api/v1/user-requests/program",key:"tv:request:program:uk",type:d.POST,data:e}}};export{h as T,O as a};
2
- //# sourceMappingURL=BuawzJwd.chunk.js.map
1
+ import{aA as l,ar as k,Y as w,H as d,U as u}from"./app-C2md4v6O.js";var v=(e=>(e[e.AllResults=0]="AllResults",e[e.Subtitles=1]="Subtitles",e[e.TitleAndDescription=2]="TitleAndDescription",e))(v||{});function M(){const e=k.get("cv:holiday:dates");return w.isObject(e)?e:{startMonth:12,startDay:15,endMonth:1,endDay:6}}const O={getFormattedDateRange(e,r){return`${l.format(e,"Do MMMM YYYY")} - ${l.format(r,"Do MMMM YYYY")}`},getDateBroadcastParams(e){const r=a=>l.format(a,"YYYY-MM-DD"),t=r(new Date);switch(e){case"yesterday":return{from:r(l.subtract(t,1,"day")),to:t};case"last-week":return{from:r(l.subtract(t,7,"days")),to:t};case"last-2-weeks":return{from:r(l.subtract(t,14,"days")),to:t}}},isHolidayPeriod(){const{startMonth:e,startDay:r,endMonth:t,endDay:a}=M(),o=new Date,n=o.getMonth()+1,i=o.getDate();return n===e&&i>=r||n===t&&i<=a}};function m(e){return Object.entries(e).reduce((r,[t,a])=>(r[t.charAt(0).toLowerCase()+t.slice(1)]=a,r),{})}function z(e){return e.map(m)}function s(e){return e?Array.isArray(e)?z(e):m(e):null}const h={regions(){return{url:"/api/tv/api/v2/regions",key:"tv:regions",normalize:!1,formatData:s}},region(e){return{url:`/api/tv/api/v2/regions/${e}`,key:`tv:region:${e}`,normalize:!1,formatData:s}},dateRange(e){return{url:`/api/tv/api/v2/regions/${e}/daterange`,key:`tv:region:${e}:daterange`,normalize:!1,formatData:s}},channels(e){return{url:u.urlBuilder("/api/tv/api/v2/channels",{region:e}),key:`tv:channels:${e}`,normalize:!1,formatData:r=>s(r).sort((a,o)=>a.sortOrder-o.sortOrder)}},payTvChannels(){return{url:"/api/tv/v1/pay-tv/channels/all",key:"pay:tv:channels",normalize:!1,formatData:s}},programsByChannel(e,r,t,a){const o=u.urlBuilder(`/api/tv/api/v3/regions/${e}/channels/programs`,{channel:r,startDate:t,endDate:a}),n=["tv:programs:by:channel",e,r,t,a].join(":");return{url:o,key:n,normalize:!1,formatData:s}},programsByLetter(e,r,t,a){const o=u.urlBuilder("/api/tv/api/v2/Programs",{regionCode:e,startsWith:r,startDate:t,endDate:a}),n=["tv:programs:by:letter",e,r,t,a].join(":");return{url:o,key:n,normalize:!1,formatData:s}},program(e){return{url:`/api/tv/api/v3/programs/${e}`,key:`tv:programs:${e}`,normalize:!1,formatData:r=>{const t=s(r);return t.region=s(t.region),t}}},search(e,r,t){const{query:a,dateBroadcast:o,...n}=r,i=t||1,p=n.filter||v.AllResults,f=u.urlBuilder("/api/tv/api/v4/search",{region:e,query:a,filter:p,...O.getDateBroadcastParams(o),...n,page:i,size:25}),y=Object.values({filter:p,dateBroadcast:o,...n}).join(":"),g=["tv:search",a,e,y,i].join(":");return{url:f,key:g,normalize:!1,formatData:D=>{const c=s(D);return c.results=s(c.results),c.page=i,c}}},addFullVideo(e,r){return{url:"/api/tv/api/v2/workspace/video",key:"tv:add:full:video",normalize:!1,type:d.POST,data:e,invalidationKeys:`tv:workspace:video:${r}`}},addAdFreeVideo(e,r){return{url:u.urlBuilder(`/api/tv/v4/programs/${e.id}/ad-free`,{customerId:e.customerId,userId:e.userId}),key:"tv:add:ad:free:video",normalize:!1,type:d.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 o=l.add(a,1,"day");return{url:u.urlBuilder("/api/tv/v4/user-requests",{userId:e,customerId:r,regionCode:t,from:l.convertUTCToLocal(a).toISOString(),to:l.convertUTCToLocal(o).toISOString()}),key:"tv:add:free:credits",normalize:!1,formatData:s}},createAdFreeRequest(e){return{url:u.urlBuilder("/api/tv/v4/user-requests/ad-free",{userId:e.userId,customerId:e.customerId}),key:"tv:create:add:free:request",normalize:!1,type:d.POST,data:{programId:e.programId,regionCode:e.regionCode},invalidationKeys:["tv:add:free:credits"]}},workspaceVideo(e,r,t){return{url:u.urlBuilder(`/api/tv/v4/workspace/programs/${e}`,{userId:r,customerId:t}),key:`tv:workspace:video:${e}`,formatData:s}},requestProgram(e){return{url:"/api/tv/v1/pay-tv/user-requests",key:"tv:request:program",type:d.POST,data:e}},requestProgramUk(e){return{url:"/api/tv/api/v1/user-requests/program",key:"tv:request:program:uk",type:d.POST,data:e}}};export{h as T,O as a};
2
+ //# sourceMappingURL=msdkwRcQ.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msdkwRcQ.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\nfunction toCamelCaseObject(item: HashObject): HashObject {\n return Object.entries(item).reduce((prev: HashObject, [ key, value ]) => {\n prev[key.charAt(0).toLowerCase() + key.slice(1)] = value;\n return prev;\n }, {});\n}\n\nfunction toCamelCaseArray(items: HashObject[]): HashObject[] {\n return items.map(toCamelCaseObject);\n}\n\nfunction toCamelCase(items: any | any[]): HashObject | HashObject[] {\n if (!items)\n return null;\n\n if (Array.isArray(items))\n return toCamelCaseArray(items);\n\n return toCamelCaseObject(items);\n}\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 formatData: toCamelCase\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 formatData: toCamelCase\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 formatData: toCamelCase\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 const lowerData = toCamelCase(data);\n return lowerData.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 formatData: toCamelCase\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 formatData: toCamelCase\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 formatData: toCamelCase\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 formatData: (data: any) => {\n const lowerData = toCamelCase(data) as HashObject;\n lowerData.region = toCamelCase(lowerData.region);\n return lowerData;\n }\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 const lowerData = toCamelCase(data) as HashObject;\n lowerData.results = toCamelCase(lowerData.results);\n lowerData.page = page;\n return lowerData;\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 formatData: toCamelCase\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 formatData: toCamelCase\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","toCamelCaseObject","item","prev","key","value","toCamelCaseArray","items","toCamelCase","TvRequests","region","UrlHelper","data","b","channel","url","regionCode","startsWith","id","lowerData","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,EC3CA,SAASI,EAAkBC,EAA8B,CACvD,OAAO,OAAO,QAAQA,CAAI,EAAE,OAAO,CAACC,EAAkB,CAAEC,EAAKC,CAAM,KACjEF,EAAKC,EAAI,OAAO,CAAC,EAAE,cAAgBA,EAAI,MAAM,CAAC,CAAC,EAAIC,EAC5CF,GACN,CAAA,CAAE,CACP,CAEA,SAASG,EAAiBC,EAAmC,CAC3D,OAAOA,EAAM,IAAIN,CAAiB,CACpC,CAEA,SAASO,EAAYD,EAA+C,CAClE,OAAKA,EAGD,MAAM,QAAQA,CAAK,EACdD,EAAiBC,CAAK,EAExBN,EAAkBM,CAAK,EALrB,IAMX,CAEO,MAAME,EAAa,CACxB,SAA0B,CACxB,MAAO,CACL,IAAK,yBACL,IAAK,aACL,UAAW,GACX,WAAYD,CAAA,CAEhB,EAEA,OAAOE,EAAgC,CACrC,MAAO,CACL,IAAK,0BAA0BA,CAAM,GACrC,IAAK,aAAaA,CAAM,GACxB,UAAW,GACX,WAAYF,CAAA,CAEhB,EAEA,UAAUE,EAAgC,CACxC,MAAO,CACL,IAAK,0BAA0BA,CAAM,aACrC,IAAK,aAAaA,CAAM,aACxB,UAAW,GACX,WAAYF,CAAA,CAEhB,EAEA,SAASE,EAAgC,CACvC,MAAO,CACL,IAAKC,EAAU,WAAW,0BAA2B,CAAE,OAAAD,EAAQ,EAC/D,IAAK,eAAeA,CAAM,GAC1B,UAAW,GACX,WAAaE,GACOJ,EAAYI,CAAI,EACjB,KAAK,CAAC,EAAQC,IAAY,EAAE,UAAYA,EAAE,SAAU,CACvE,CAEJ,EAEA,eAAgC,CAC9B,MAAO,CACL,IAAK,iCACL,IAAK,kBACL,UAAW,GACX,WAAYL,CAAA,CAEhB,EAEA,kBACEE,EACAI,EACA3B,EACAC,EACgB,CAChB,MAAM2B,EAAMJ,EAAU,WAAW,0BAA0BD,CAAM,qBAAsB,CACrF,QAAAI,EACA,UAAA3B,EACA,QAAAC,CAAA,CACD,EAEKgB,EAAM,CAAE,yBAA0BM,EAAQI,EAAS3B,EAAWC,CAAQ,EAAE,KAAK,GAAG,EAEtF,MAAO,CACL,IAAA2B,EACA,IAAAX,EACA,UAAW,GACX,WAAYI,CAAA,CAEhB,EAEA,iBACEQ,EACAC,EACA9B,EACAC,EACgB,CAChB,MAAM2B,EAAMJ,EAAU,WAAW,0BAA2B,CAC1D,WAAAK,EACA,WAAAC,EACA,UAAA9B,EACA,QAAAC,CAAA,CACD,EAEKgB,EAAM,CAAE,wBAAyBY,EAAYC,EAAY9B,EAAWC,CAAQ,EAAE,KAAK,GAAG,EAE5F,MAAO,CACL,IAAA2B,EACA,IAAAX,EACA,UAAW,GACX,WAAYI,CAAA,CAEhB,EAEA,QACEU,EACgB,CAChB,MAAO,CACL,IAAK,2BAA2BA,CAAE,GAClC,IAAK,eAAeA,CAAE,GACtB,UAAW,GACX,WAAaN,GAAc,CACzB,MAAMO,EAAYX,EAAYI,CAAI,EAClC,OAAAO,EAAU,OAASX,EAAYW,EAAU,MAAM,EACxCA,CACT,CAAA,CAEJ,EAEA,OACET,EACAU,EACAC,EACgB,CAChB,KAAM,CAAE,MAAAC,EAAO,cAAAhC,EAAe,GAAGiC,GAAYH,EACvCI,EAAOH,GAAa,EACpBI,EAASF,EAAQ,QAAU1C,EAAe,WAE1CkC,EAAMJ,EAAU,WAAW,wBAAyB,CACxD,OAAAD,EACA,MAAAY,EACA,OAAAG,EACA,GAAGvC,EAAQ,uBAAuBI,CAAa,EAC/C,GAAGiC,EACH,KAAAC,EACA,KAAM,EAAA,CACP,EAEKE,EAAa,OAAO,OAAO,CAAE,OAAAD,EAAQ,cAAAnC,EAAe,GAAGiC,CAAA,CAAS,EAAE,KAAK,GAAG,EAC1EnB,EAAM,CAAE,YAAakB,EAAOZ,EAAQgB,EAAYF,CAAK,EAAE,KAAK,GAAG,EAErE,MAAO,CACL,IAAAT,EACA,IAAAX,EACA,UAAW,GACX,WAAaQ,GAAc,CACzB,MAAMO,EAAYX,EAAYI,CAAI,EAClC,OAAAO,EAAU,QAAUX,EAAYW,EAAU,OAAO,EACjDA,EAAU,KAAOK,EACVL,CACT,CAAA,CAEJ,EAEA,aAAaP,EAA2BM,EAA4B,CAClE,MAAO,CACL,IAAK,iCACL,IAAK,oBACL,UAAW,GACX,KAAMS,EAAU,KAChB,KAAAf,EACA,iBAAkB,sBAAsBM,CAAE,EAAA,CAE9C,EAEA,eAAeN,EAA6BM,EAA4B,CACtE,MAAO,CACL,IAAKP,EAAU,WAAW,uBAAuBC,EAAK,EAAE,WAAY,CAAE,WAAYA,EAAK,WAAY,OAAQA,EAAK,OAAQ,EACxH,IAAK,uBACL,UAAW,GACX,KAAMe,EAAU,KAChB,iBAAkB,sBAAsBT,CAAE,EAAA,CAE9C,EAEA,cACEU,EACAC,EACAb,EACgB,CAEhB,MAAMc,MAAW,KACjBA,EAAK,SAAS,EAAG,EAAG,EAAG,CAAC,EACxBA,EAAK,WAAWA,EAAK,WAAA,EAAeA,EAAK,mBAAmB,EAE5D,MAAMC,EAAK1C,EAAW,IAAIyC,EAAM,EAAG,KAAK,EAUxC,MAAO,CACL,IATUnB,EAAU,WAAW,2BAA4B,CAC3D,OAAAiB,EACA,WAAAC,EACA,WAAAb,EACA,KAAM3B,EAAW,kBAAkByC,CAAI,EAAE,YAAA,EACzC,GAAIzC,EAAW,kBAAkB0C,CAAE,EAAE,YAAA,CAAY,CAClD,EAIC,IAAK,sBACL,UAAW,GACX,WAAYvB,CAAA,CAEhB,EAEA,oBAAoBI,EAAqC,CACvD,MAAO,CACL,IAAKD,EAAU,WAAW,mCAAoC,CAAE,OAAQC,EAAK,OAAQ,WAAYA,EAAK,UAAA,CAAY,EAClH,IAAK,6BACL,UAAW,GACX,KAAMe,EAAU,KAChB,KAAM,CACJ,UAAWf,EAAK,UAChB,WAAYA,EAAK,UAAA,EAEnB,iBAAkB,CAAC,qBAAqB,CAAA,CAE5C,EAEA,eAAeoB,EAAiBJ,EAAgBC,EAAoC,CAClF,MAAO,CACL,IAAKlB,EAAU,WAAW,iCAAiCqB,CAAO,GAAI,CAAE,OAAAJ,EAAQ,WAAAC,EAAY,EAC5F,IAAK,sBAAsBG,CAAO,GAClC,WAAYxB,CAAA,CAEhB,EAEA,eAAeI,EAA6B,CAC1C,MAAO,CACL,IAAK,kCACL,IAAK,qBACL,KAAMe,EAAU,KAChB,KAAAf,CAAA,CAEJ,EAEA,iBAAiBA,EAA+B,CAC9C,MAAO,CACL,IAAK,uCACL,IAAK,wBACL,KAAMe,EAAU,KAChB,KAAAf,CAAA,CAEJ,CACF"}
@@ -1,2 +1,2 @@
1
- import{j as t,aA as m}from"./app-Det8y4U1.js";import{t as i}from"./DWmgmt8-.chunk.js";const n="_programTimeBadge_2h19o_1",l="_small_2h19o_5",g="_hover_2h19o_8",a={programTimeBadge:n,small:l,hover:g};function c(e){const o=e.program.timeZone||e.program.region.timeZone,r=i(e.program.startTime,o),s=i(e.program.stopTime,o);return t.jsx("div",{className:`${a.programTimeBadge} ${e.small?`${a.small} align-items-end`:"align-items-center"} ${e.hover?a.hover:""} ${e.className||""} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`,children:t.jsxs("span",{children:[e.showDate&&`${m.format(r,"D MMM")} @ `,m.format(r,"hh:mma"),e.showEndTime&&` - ${m.format(s,"hh:mma")}`]})})}export{c as T};
2
- //# sourceMappingURL=OpOTepmF.chunk.js.map
1
+ import{j as t,aA as m}from"./app-C2md4v6O.js";import{t as i}from"./DQNTWWrq.chunk.js";const n="_programTimeBadge_2h19o_1",l="_small_2h19o_5",g="_hover_2h19o_8",a={programTimeBadge:n,small:l,hover:g};function c(e){const o=e.program.timeZone||e.program.region.timeZone,r=i(e.program.startTime,o),s=i(e.program.stopTime,o);return t.jsx("div",{className:`${a.programTimeBadge} ${e.small?`${a.small} align-items-end`:"align-items-center"} ${e.hover?a.hover:""} ${e.className||""} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`,children:t.jsxs("span",{children:[e.showDate&&`${m.format(r,"D MMM")} @ `,m.format(r,"hh:mma"),e.showEndTime&&` - ${m.format(s,"hh:mma")}`]})})}export{c as T};
2
+ //# sourceMappingURL=nXVR9Bqt.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpOTepmF.chunk.js","sources":["../../src/apps/tv/components/tv-program-time-badge/TvProgramTimeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-program-time-badge.module.scss';\n\ninterface TvProgramTimeBadgeProps {\n program: TvProgram;\n small?: boolean;\n showEndTime?: boolean;\n showDate?: boolean;\n hover?: boolean;\n className?: string;\n}\n\nexport function TvProgramTimeBadge(props: TvProgramTimeBadgeProps) {\n const timeZone = props.program.timeZone || props.program.region.timeZone;\n const startTime = toLocalTime(props.program.startTime, timeZone);\n const stopTime = toLocalTime(props.program.stopTime, timeZone);\n\n return (\n <div className={`${styles.programTimeBadge} ${props.small ? `${styles.small} align-items-end` : 'align-items-center'} ${props.hover ? styles.hover : ''} ${props.className || ''} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`}>\n <span>\n {props.showDate && `${DateHelper.format(startTime, 'D MMM')} @ `}\n {DateHelper.format(startTime, 'hh:mma')}\n {props.showEndTime && ` - ${DateHelper.format(stopTime, 'hh:mma')}`}\n </span>\n </div>\n );\n}"],"names":["TvProgramTimeBadge","props","timeZone","startTime","toLocalTime","stopTime","jsx","styles","jsxs","DateHelper"],"mappings":"uMAkBO,SAASA,EAAmBC,EAAgC,CACjE,MAAMC,EAAWD,EAAM,QAAQ,UAAYA,EAAM,QAAQ,OAAO,SAC1DE,EAAYC,EAAYH,EAAM,QAAQ,UAAWC,CAAQ,EACzDG,EAAWD,EAAYH,EAAM,QAAQ,SAAUC,CAAQ,EAE7D,OACEI,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,gBAAgB,IAAIN,EAAM,MAAQ,GAAGM,EAAO,KAAK,mBAAqB,oBAAoB,IAAIN,EAAM,MAAQM,EAAO,MAAQ,EAAE,IAAIN,EAAM,WAAa,EAAE,oEAC9K,SAAAO,EAAAA,KAAC,OAAA,CACE,SAAA,CAAAP,EAAM,UAAY,GAAGQ,EAAW,OAAON,EAAW,OAAO,CAAC,MAC1DM,EAAW,OAAON,EAAW,QAAQ,EACrCF,EAAM,aAAe,MAAMQ,EAAW,OAAOJ,EAAU,QAAQ,CAAC,EAAA,CAAA,CACnE,CAAA,CACF,CAEJ"}
1
+ {"version":3,"file":"nXVR9Bqt.chunk.js","sources":["../../src/apps/tv/components/tv-program-time-badge/TvProgramTimeBadge.tsx"],"sourcesContent":["import React from 'react';\n\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { TvProgram } from 'apps/tv/interfaces/models/TvProgram';\nimport { toLocalTime } from 'apps/tv/utils/toLocalTime';\n\nimport styles from './tv-program-time-badge.module.scss';\n\ninterface TvProgramTimeBadgeProps {\n program: TvProgram;\n small?: boolean;\n showEndTime?: boolean;\n showDate?: boolean;\n hover?: boolean;\n className?: string;\n}\n\nexport function TvProgramTimeBadge(props: TvProgramTimeBadgeProps) {\n const timeZone = props.program.timeZone || props.program.region.timeZone;\n const startTime = toLocalTime(props.program.startTime, timeZone);\n const stopTime = toLocalTime(props.program.stopTime, timeZone);\n\n return (\n <div className={`${styles.programTimeBadge} ${props.small ? `${styles.small} align-items-end` : 'align-items-center'} ${props.hover ? styles.hover : ''} ${props.className || ''} d-flex bg-white text-nowrap border border-dark rounded-pill px-2`}>\n <span>\n {props.showDate && `${DateHelper.format(startTime, 'D MMM')} @ `}\n {DateHelper.format(startTime, 'hh:mma')}\n {props.showEndTime && ` - ${DateHelper.format(stopTime, 'hh:mma')}`}\n </span>\n </div>\n );\n}"],"names":["TvProgramTimeBadge","props","timeZone","startTime","toLocalTime","stopTime","jsx","styles","jsxs","DateHelper"],"mappings":"uMAkBO,SAASA,EAAmBC,EAAgC,CACjE,MAAMC,EAAWD,EAAM,QAAQ,UAAYA,EAAM,QAAQ,OAAO,SAC1DE,EAAYC,EAAYH,EAAM,QAAQ,UAAWC,CAAQ,EACzDG,EAAWD,EAAYH,EAAM,QAAQ,SAAUC,CAAQ,EAE7D,OACEI,EAAAA,IAAC,MAAA,CAAI,UAAW,GAAGC,EAAO,gBAAgB,IAAIN,EAAM,MAAQ,GAAGM,EAAO,KAAK,mBAAqB,oBAAoB,IAAIN,EAAM,MAAQM,EAAO,MAAQ,EAAE,IAAIN,EAAM,WAAa,EAAE,oEAC9K,SAAAO,EAAAA,KAAC,OAAA,CACE,SAAA,CAAAP,EAAM,UAAY,GAAGQ,EAAW,OAAON,EAAW,OAAO,CAAC,MAC1DM,EAAW,OAAON,EAAW,QAAQ,EACrCF,EAAM,aAAe,MAAMQ,EAAW,OAAOJ,EAAU,QAAQ,CAAC,EAAA,CAAA,CACnE,CAAA,CACF,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{ai as m,a2 as c,l as n,L as p,j as e}from"./app-C2md4v6O.js";import{u as h,P as x,F as g}from"./Ch4JUcCU.chunk.js";import{L as l}from"./DWDiqXD7.chunk.js";import{u as d}from"./D4szUN7u.chunk.js";import{E as u}from"./DwIQTRkx.chunk.js";import{E as f}from"./DxQXGtZm.chunk.js";import{E as j}from"./CGuGkRe6.chunk.js";import{g as F}from"./DlvwqUyz.chunk.js";import"./CLn62x3p.chunk.js";import"./BX6q5kK6.chunk.js";import"./CbbLJMD7.chunk.js";import"./ccYLdwq0.chunk.js";import"./B_Fzcc5G.chunk.js";import"./B0940TpS.chunk.js";import"./BrRctFvx.chunk.js";import"./Cz5ywK2M.chunk.js";import"./lqnuKFoF.chunk.js";import"./sw2_FVPM.chunk.js";import"./DdcBDgpq.chunk.js";import"./BlDVEZsX.chunk.js";import"./B3i6vWFI.chunk.js";import"./BoHka3Ec.chunk.js";import"./pkzD5BEm.chunk.js";const E="exchange.exchange",L=p.encloseNamespace(E);function K(){const i=m(),r=c(j.exchange()),a=s=>l.childFolders(r.data.categoryTree.id,s),o=s=>i(a(s)),t=h(r.data&&a,o);return d(r),n({title:L("exchangeArchive")}),e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-3",children:[e.jsx(u,{}),e.jsx(f,{active:"categories"})]}),t!=null&&t.items?t.items.length?e.jsx("div",{className:"mx-n2",children:e.jsx(g,{folders:t.items,getAppLink:s=>F(s),expandFolders:!0,showHeading:!1})}):e.jsx(e.Fragment,{}):e.jsx("div",{className:"mt-3",children:e.jsx(x,{count:22})})]})}export{K as ExchangeView};
2
+ //# sourceMappingURL=o_RrBIf7.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bksx5ui9.chunk.js","sources":["../../src/apps/exchange/views/exchange/ExchangeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { getFolderAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.exchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const getRequest = (cursor: string) => LibraryRequests.childFolders(exchange.data.categoryTree.id, cursor);\n const fetchNext = (cursor: string) => fetch(getRequest(cursor));\n const libraryFolders = useFetchAll(exchange.data && getRequest, fetchNext);\n\n useHandleObjectError(exchange);\n\n useSetPageMetadata({ title: getPhrase('exchangeArchive') });\n\n return (\n <>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n \n {(() => {\n if (!libraryFolders?.items)\n return <div className='mt-3'><PartialFolderList count={22} /></div>;\n\n if (!libraryFolders.items.length)\n return <></>;\n\n return (\n <div className='mx-n2'>\n <FolderList\n folders={libraryFolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f)}\n expandFolders\n showHeading={false}\n />\n </div>\n );\n })()}\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeView","fetch","Flight.useGetFetch","exchange","Flight.useBasicFetch","ExchangeRequests","getRequest","cursor","LibraryRequests","fetchNext","libraryFolders","useFetchAll","useHandleObjectError","useSetPageMetadata","jsxs","Fragment","jsx","ExchangeSearchBar","ExchangeTabs","FolderList","f","getFolderAppLink","PartialFolderList"],"mappings":"8wBAkBA,MAAMA,EAAY,oBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4B,CAC1C,MAAMC,EAAQC,EAAO,EAEfC,EAAWC,EAA8BC,EAAiB,UAAU,EACpEC,EAAcC,GAAmBC,EAAgB,aAAaL,EAAS,KAAK,aAAa,GAAII,CAAM,EACnGE,EAAaF,GAAmBN,EAAMK,EAAWC,CAAM,CAAC,EACxDG,EAAiBC,EAAYR,EAAS,MAAQG,EAAYG,CAAS,EAEzE,OAAAG,EAAqBT,CAAQ,EAE7BU,EAAmB,CAAE,MAAOf,EAAU,iBAAiB,EAAG,EAGxDgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAGOR,GAAA,MAAAA,EAAgB,MAGhBA,EAAe,MAAM,OAIxBM,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAACG,EAAA,CACC,QAAST,EAAe,MACxB,WAAaU,GAAcC,EAAiBD,CAAC,EAC7C,cAAa,GACb,YAAa,EAAA,CAAA,EAEjB,EAVOJ,EAAAA,IAAAD,EAAAA,SAAA,EAAE,EAHFC,MAAC,OAAI,UAAU,OAAO,eAACM,EAAA,CAAkB,MAAO,GAAI,CAAA,CAAE,CAe9D,EACL,CAEJ"}
1
+ {"version":3,"file":"o_RrBIf7.chunk.js","sources":["../../src/apps/exchange/views/exchange/ExchangeView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { ExchangeSearchBar } from 'apps/exchange/components/exchange-search-bar/ExchangeSearchBar';\nimport { ExchangeTabs } from 'apps/exchange/components/exchange-tabs/ExchangeTabs';\nimport { ExchangeRequests } from 'apps/exchange/flight-requests/ExchangeRequests';\nimport { getFolderAppLink } from 'apps/exchange/utils/ExchangeUtils';\n\nconst namespace = 'exchange.exchange';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function ExchangeView(): JSX.Element {\n const fetch = Flight.useGetFetch();\n\n const exchange = Flight.useBasicFetch<Library>(ExchangeRequests.exchange());\n const getRequest = (cursor: string) => LibraryRequests.childFolders(exchange.data.categoryTree.id, cursor);\n const fetchNext = (cursor: string) => fetch(getRequest(cursor));\n const libraryFolders = useFetchAll(exchange.data && getRequest, fetchNext);\n\n useHandleObjectError(exchange);\n\n useSetPageMetadata({ title: getPhrase('exchangeArchive') });\n\n return (\n <>\n <div className='mb-3'>\n <ExchangeSearchBar />\n <ExchangeTabs active='categories' />\n </div>\n \n {(() => {\n if (!libraryFolders?.items)\n return <div className='mt-3'><PartialFolderList count={22} /></div>;\n\n if (!libraryFolders.items.length)\n return <></>;\n\n return (\n <div className='mx-n2'>\n <FolderList\n folders={libraryFolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(f)}\n expandFolders\n showHeading={false}\n />\n </div>\n );\n })()}\n </>\n );\n}"],"names":["namespace","getPhrase","LanguageService","ExchangeView","fetch","Flight.useGetFetch","exchange","Flight.useBasicFetch","ExchangeRequests","getRequest","cursor","LibraryRequests","fetchNext","libraryFolders","useFetchAll","useHandleObjectError","useSetPageMetadata","jsxs","Fragment","jsx","ExchangeSearchBar","ExchangeTabs","FolderList","f","getFolderAppLink","PartialFolderList"],"mappings":"8wBAkBA,MAAMA,EAAY,oBACZC,EAAYC,EAAgB,iBAAiBF,CAAS,EAErD,SAASG,GAA4B,CAC1C,MAAMC,EAAQC,EAAO,EAEfC,EAAWC,EAA8BC,EAAiB,UAAU,EACpEC,EAAcC,GAAmBC,EAAgB,aAAaL,EAAS,KAAK,aAAa,GAAII,CAAM,EACnGE,EAAaF,GAAmBN,EAAMK,EAAWC,CAAM,CAAC,EACxDG,EAAiBC,EAAYR,EAAS,MAAQG,EAAYG,CAAS,EAEzE,OAAAG,EAAqBT,CAAQ,EAE7BU,EAAmB,CAAE,MAAOf,EAAU,iBAAiB,EAAG,EAGxDgB,EAAAA,KAAAC,WAAA,CACE,SAAA,CAAAD,EAAAA,KAAC,MAAA,CAAI,UAAU,OACb,SAAA,CAAAE,EAAAA,IAACC,EAAA,EAAkB,EACnBD,EAAAA,IAACE,EAAA,CAAa,OAAO,YAAA,CAAa,CAAA,EACpC,EAGOR,GAAA,MAAAA,EAAgB,MAGhBA,EAAe,MAAM,OAIxBM,EAAAA,IAAC,MAAA,CAAI,UAAU,QACb,SAAAA,EAAAA,IAACG,EAAA,CACC,QAAST,EAAe,MACxB,WAAaU,GAAcC,EAAiBD,CAAC,EAC7C,cAAa,GACb,YAAa,EAAA,CAAA,EAEjB,EAVOJ,EAAAA,IAAAD,EAAAA,SAAA,EAAE,EAHFC,MAAC,OAAI,UAAU,OAAO,eAACM,EAAA,CAAkB,MAAO,GAAI,CAAA,CAAE,CAe9D,EACL,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{W as We,X as Pe,y as Ae}from"./app-Det8y4U1.js";var ee={},te={},U={exports:{}},q={exports:{}},Ne=q.exports,fe;function Ie(){return fe||(fe=1,(function(){var o,s,c,g,l,b;typeof performance<"u"&&performance!==null&&performance.now?q.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(q.exports=function(){return(o()-l)/1e6},s=process.hrtime,o=function(){var d;return d=s(),d[0]*1e9+d[1]},g=o(),b=process.uptime()*1e9,l=g-b):Date.now?(q.exports=function(){return Date.now()-c},c=Date.now()):(q.exports=function(){return new Date().getTime()-c},c=new Date().getTime())}).call(Ne)),q.exports}var ve;function Ue(){if(ve)return U.exports;ve=1;for(var o=Ie(),s=typeof window>"u"?globalThis:window,c=["moz","webkit"],g="AnimationFrame",l=s["request"+g],b=s["cancel"+g]||s["cancelRequest"+g],d=0;!l&&d<c.length;d++)l=s[c[d]+"Request"+g],b=s[c[d]+"Cancel"+g]||s[c[d]+"CancelRequest"+g];if(!l||!b){var S=0,m=0,a=[],u=1e3/60;l=function(h){if(a.length===0){var H=o(),y=Math.max(0,u-(H-S));S=y+H,setTimeout(function(){var A=a.slice(0);a.length=0;for(var F=0;F<A.length;F++)if(!A[F].cancelled)try{A[F].callback(S)}catch(X){setTimeout(function(){throw X},0)}},Math.round(y))}return a.push({handle:++m,callback:h,cancelled:!1}),m},b=function(h){for(var H=0;H<a.length;H++)a[H].handle===h&&(a[H].cancelled=!0)}}return U.exports=function(h){return l.call(s,h)},U.exports.cancel=function(){b.apply(s,arguments)},U.exports.polyfill=function(h){h||(h=s),h.requestAnimationFrame=l,h.cancelAnimationFrame=b},U.exports}var B={exports:{}},re,ge;function Be(){if(ge)return re;ge=1;var o=null,s=["Webkit","Moz","O","ms"];return re=function(g){o||(o=document.createElement("div"));var l=o.style;if(g in l)return g;for(var b=g.charAt(0).toUpperCase()+g.slice(1),d=s.length;d>=0;d--){var S=s[d]+b;if(S in l)return S}return!1},re}var ne,me;function $e(){if(me)return ne;me=1,ne=g;var o=/\s/,s=/(_|-|\.|:)/,c=/([a-z][A-Z]|[A-Z][a-z])/;function g(m){return o.test(m)?m.toLowerCase():s.test(m)?(b(m)||m).toLowerCase():c.test(m)?S(m).toLowerCase():m.toLowerCase()}var l=/[\W_]+(.|$)/g;function b(m){return m.replace(l,function(a,u){return u?" "+u:""})}var d=/(.)([A-Z]+)/g;function S(m){return m.replace(d,function(a,u,h){return u+" "+h.toLowerCase().split("").join(" ")})}return ne}var ie,pe;function Xe(){if(pe)return ie;pe=1;var o=$e();ie=s;function s(c){return o(c).replace(/[\W_]+(.|$)/g,function(g,l){return l?" "+l:""}).trim()}return ie}var ae,Se;function Ye(){if(Se)return ae;Se=1;var o=Xe();ae=s;function s(c){return o(c).replace(/\s(\w)/g,function(g,l){return l.toUpperCase()})}return ae}var oe,Te;function Ge(){if(Te)return oe;Te=1;var o={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};return oe=function(s,c){return typeof c=="number"&&!o[s]?c+"px":c},oe}var ye;function Ve(){if(ye)return B.exports;ye=1;var o=Be(),s=Ye(),c={float:"cssFloat"},g=Ge();function l(m,a,u){var h=c[a];if(typeof h>"u"&&(h=d(a)),h){if(u===void 0)return m.style[h];m.style[h]=g(h,u)}}function b(m,a){for(var u in a)a.hasOwnProperty(u)&&l(m,u,a[u])}function d(m){var a=s(m),u=o(a);return c[a]=c[m]=c[u]=u,u}function S(){arguments.length===2?typeof arguments[1]=="string"?arguments[0].style.cssText=arguments[1]:b(arguments[0],arguments[1]):l(arguments[0],arguments[1],arguments[2])}return B.exports=S,B.exports.set=S,B.exports.get=function(m,a){return Array.isArray(a)?a.reduce(function(u,h){return u[h]=l(m,h||""),u},{}):l(m,a||"")},B.exports}var le={},be;function je(){return be||(be=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){return typeof c=="string"}})(le)),le}var ue={},He;function Ze(){return He||(He=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=b;var s=Ve(),c=g(s);function g(d){return d&&d.__esModule?d:{default:d}}var l=!1;function b(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(d&&l!==!1)return l;if(typeof document<"u"){var S=document.createElement("div");(0,c.default)(S,{width:100,height:100,position:"absolute",top:-9999,overflow:"scroll",MsOverflowStyle:"scrollbar"}),document.body.appendChild(S),l=S.offsetWidth-S.clientWidth,document.body.removeChild(S)}else l=0;return l||0}})(ue)),ue}var se={},we;function Je(){return we||(we=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(){return!1}})(se)),se}var ce={},ke;function Ke(){return ke||(ke=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){var g=c.clientWidth,l=getComputedStyle(c),b=l.paddingLeft,d=l.paddingRight;return g-parseFloat(b)-parseFloat(d)}})(ce)),ce}var de={},De;function Qe(){return De||(De=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){var g=c.clientHeight,l=getComputedStyle(c),b=l.paddingTop,d=l.paddingBottom;return g-parseFloat(b)-parseFloat(d)}})(de)),de}var D={},_e;function et(){return _e||(_e=1,Object.defineProperty(D,"__esModule",{value:!0}),D.containerStyleDefault={position:"relative",overflow:"hidden",width:"100%",height:"100%"},D.containerStyleAutoHeight={height:"auto"},D.viewStyleDefault={position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"scroll",WebkitOverflowScrolling:"touch"},D.viewStyleAutoHeight={position:"relative",top:void 0,left:void 0,right:void 0,bottom:void 0},D.viewStyleUniversalInitial={overflow:"hidden",marginRight:0,marginBottom:0},D.trackHorizontalStyleDefault={position:"absolute",height:6},D.trackVerticalStyleDefault={position:"absolute",width:6},D.thumbHorizontalStyleDefault={position:"relative",display:"block",height:"100%"},D.thumbVerticalStyleDefault={position:"relative",display:"block",width:"100%"},D.disableSelectStyle={userSelect:"none"},D.disableSelectStyleReset={userSelect:""}),D}var O={},Me;function tt(){if(Me)return O;Me=1,Object.defineProperty(O,"__esModule",{value:!0});var o=Object.assign||function(u){for(var h=1;h<arguments.length;h++){var H=arguments[h];for(var y in H)Object.prototype.hasOwnProperty.call(H,y)&&(u[y]=H[y])}return u};O.renderViewDefault=b,O.renderTrackHorizontalDefault=d,O.renderTrackVerticalDefault=S,O.renderThumbHorizontalDefault=m,O.renderThumbVerticalDefault=a;var s=We(),c=g(s);function g(u){return u&&u.__esModule?u:{default:u}}function l(u,h){var H={};for(var y in u)h.indexOf(y)>=0||Object.prototype.hasOwnProperty.call(u,y)&&(H[y]=u[y]);return H}function b(u){return c.default.createElement("div",u)}function d(u){var h=u.style,H=l(u,["style"]),y=o({},h,{right:2,bottom:2,left:2,borderRadius:3});return c.default.createElement("div",o({style:y},H))}function S(u){var h=u.style,H=l(u,["style"]),y=o({},h,{right:2,bottom:2,top:2,borderRadius:3});return c.default.createElement("div",o({style:y},H))}function m(u){var h=u.style,H=l(u,["style"]),y=o({},h,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return c.default.createElement("div",o({style:y},H))}function a(u){var h=u.style,H=l(u,["style"]),y=o({},h,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return c.default.createElement("div",o({style:y},H))}return O}var ze;function rt(){return ze||(ze=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0});var s=Object.assign||function(T){for(var v=1;v<arguments.length;v++){var n=arguments[v];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(T[t]=n[t])}return T},c=(function(){function T(v,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(v,r.key,r)}}return function(v,n,t){return n&&T(v.prototype,n),t&&T(v,t),v}})(),g=Ue(),l=V(g),b=Ve(),d=V(b),S=We(),m=Pe(),a=V(m),u=je(),h=V(u),H=Ze(),y=V(H),A=Je(),F=V(A),X=Ke(),Y=V(X),Ee=Qe(),G=V(Ee),_=et(),N=tt();function V(T){return T&&T.__esModule?T:{default:T}}function Re(T,v){var n={};for(var t in T)v.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(T,t)&&(n[t]=T[t]);return n}function Ce(T,v){if(!(T instanceof v))throw new TypeError("Cannot call a class as a function")}function xe(T,v){if(!T)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v&&(typeof v=="object"||typeof v=="function")?v:T}function Oe(T,v){if(typeof v!="function"&&v!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof v);T.prototype=Object.create(v&&v.prototype,{constructor:{value:T,enumerable:!1,writable:!0,configurable:!0}}),v&&(Object.setPrototypeOf?Object.setPrototypeOf(T,v):T.__proto__=v)}var j=(function(T){Oe(v,T);function v(n){var t;Ce(this,v);for(var r=arguments.length,i=Array(r>1?r-1:0),f=1;f<r;f++)i[f-1]=arguments[f];var e=xe(this,(t=v.__proto__||Object.getPrototypeOf(v)).call.apply(t,[this,n].concat(i)));return e.getScrollLeft=e.getScrollLeft.bind(e),e.getScrollTop=e.getScrollTop.bind(e),e.getScrollWidth=e.getScrollWidth.bind(e),e.getScrollHeight=e.getScrollHeight.bind(e),e.getClientWidth=e.getClientWidth.bind(e),e.getClientHeight=e.getClientHeight.bind(e),e.getValues=e.getValues.bind(e),e.getThumbHorizontalWidth=e.getThumbHorizontalWidth.bind(e),e.getThumbVerticalHeight=e.getThumbVerticalHeight.bind(e),e.getScrollLeftForOffset=e.getScrollLeftForOffset.bind(e),e.getScrollTopForOffset=e.getScrollTopForOffset.bind(e),e.scrollLeft=e.scrollLeft.bind(e),e.scrollTop=e.scrollTop.bind(e),e.scrollToLeft=e.scrollToLeft.bind(e),e.scrollToTop=e.scrollToTop.bind(e),e.scrollToRight=e.scrollToRight.bind(e),e.scrollToBottom=e.scrollToBottom.bind(e),e.handleTrackMouseEnter=e.handleTrackMouseEnter.bind(e),e.handleTrackMouseLeave=e.handleTrackMouseLeave.bind(e),e.handleHorizontalTrackMouseDown=e.handleHorizontalTrackMouseDown.bind(e),e.handleVerticalTrackMouseDown=e.handleVerticalTrackMouseDown.bind(e),e.handleHorizontalThumbMouseDown=e.handleHorizontalThumbMouseDown.bind(e),e.handleVerticalThumbMouseDown=e.handleVerticalThumbMouseDown.bind(e),e.handleWindowResize=e.handleWindowResize.bind(e),e.handleScroll=e.handleScroll.bind(e),e.handleDrag=e.handleDrag.bind(e),e.handleDragEnd=e.handleDragEnd.bind(e),e.state={didMountUniversal:!1},e}return c(v,[{key:"componentDidMount",value:function(){this.addListeners(),this.update(),this.componentDidMountUniversal()}},{key:"componentDidMountUniversal",value:function(){var t=this.props.universal;t&&this.setState({didMountUniversal:!0})}},{key:"componentDidUpdate",value:function(){this.update()}},{key:"componentWillUnmount",value:function(){this.removeListeners(),(0,g.cancel)(this.requestFrame),clearTimeout(this.hideTracksTimeout),clearInterval(this.detectScrollingInterval)}},{key:"getScrollLeft",value:function(){return this.view?this.view.scrollLeft:0}},{key:"getScrollTop",value:function(){return this.view?this.view.scrollTop:0}},{key:"getScrollWidth",value:function(){return this.view?this.view.scrollWidth:0}},{key:"getScrollHeight",value:function(){return this.view?this.view.scrollHeight:0}},{key:"getClientWidth",value:function(){return this.view?this.view.clientWidth:0}},{key:"getClientHeight",value:function(){return this.view?this.view.clientHeight:0}},{key:"getValues",value:function(){var t=this.view||{},r=t.scrollLeft,i=r===void 0?0:r,f=t.scrollTop,e=f===void 0?0:f,p=t.scrollWidth,w=p===void 0?0:p,k=t.scrollHeight,E=k===void 0?0:k,L=t.clientWidth,R=L===void 0?0:L,M=t.clientHeight,W=M===void 0?0:M;return{left:i/(w-R)||0,top:e/(E-W)||0,scrollLeft:i,scrollTop:e,scrollWidth:w,scrollHeight:E,clientWidth:R,clientHeight:W}}},{key:"getThumbHorizontalWidth",value:function(){var t=this.props,r=t.thumbSize,i=t.thumbMinSize,f=this.view,e=f.scrollWidth,p=f.clientWidth,w=(0,Y.default)(this.trackHorizontal),k=Math.ceil(p/e*w);return w<=k?0:r||Math.max(k,i)}},{key:"getThumbVerticalHeight",value:function(){var t=this.props,r=t.thumbSize,i=t.thumbMinSize,f=this.view,e=f.scrollHeight,p=f.clientHeight,w=(0,G.default)(this.trackVertical),k=Math.ceil(p/e*w);return w<=k?0:r||Math.max(k,i)}},{key:"getScrollLeftForOffset",value:function(t){var r=this.view,i=r.scrollWidth,f=r.clientWidth,e=(0,Y.default)(this.trackHorizontal),p=this.getThumbHorizontalWidth();return t/(e-p)*(i-f)}},{key:"getScrollTopForOffset",value:function(t){var r=this.view,i=r.scrollHeight,f=r.clientHeight,e=(0,G.default)(this.trackVertical),p=this.getThumbVerticalHeight();return t/(e-p)*(i-f)}},{key:"scrollLeft",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.view&&(this.view.scrollLeft=t)}},{key:"scrollTop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.view&&(this.view.scrollTop=t)}},{key:"scrollToLeft",value:function(){this.view&&(this.view.scrollLeft=0)}},{key:"scrollToTop",value:function(){this.view&&(this.view.scrollTop=0)}},{key:"scrollToRight",value:function(){this.view&&(this.view.scrollLeft=this.view.scrollWidth)}},{key:"scrollToBottom",value:function(){this.view&&(this.view.scrollTop=this.view.scrollHeight)}},{key:"addListeners",value:function(){if(!(typeof document>"u"||!this.view)){var t=this.view,r=this.trackHorizontal,i=this.trackVertical,f=this.thumbHorizontal,e=this.thumbVertical;t.addEventListener("scroll",this.handleScroll),(0,y.default)()&&(r.addEventListener("mouseenter",this.handleTrackMouseEnter),r.addEventListener("mouseleave",this.handleTrackMouseLeave),r.addEventListener("mousedown",this.handleHorizontalTrackMouseDown),i.addEventListener("mouseenter",this.handleTrackMouseEnter),i.addEventListener("mouseleave",this.handleTrackMouseLeave),i.addEventListener("mousedown",this.handleVerticalTrackMouseDown),f.addEventListener("mousedown",this.handleHorizontalThumbMouseDown),e.addEventListener("mousedown",this.handleVerticalThumbMouseDown),window.addEventListener("resize",this.handleWindowResize))}}},{key:"removeListeners",value:function(){if(!(typeof document>"u"||!this.view)){var t=this.view,r=this.trackHorizontal,i=this.trackVertical,f=this.thumbHorizontal,e=this.thumbVertical;t.removeEventListener("scroll",this.handleScroll),(0,y.default)()&&(r.removeEventListener("mouseenter",this.handleTrackMouseEnter),r.removeEventListener("mouseleave",this.handleTrackMouseLeave),r.removeEventListener("mousedown",this.handleHorizontalTrackMouseDown),i.removeEventListener("mouseenter",this.handleTrackMouseEnter),i.removeEventListener("mouseleave",this.handleTrackMouseLeave),i.removeEventListener("mousedown",this.handleVerticalTrackMouseDown),f.removeEventListener("mousedown",this.handleHorizontalThumbMouseDown),e.removeEventListener("mousedown",this.handleVerticalThumbMouseDown),window.removeEventListener("resize",this.handleWindowResize),this.teardownDragging())}}},{key:"handleScroll",value:function(t){var r=this,i=this.props,f=i.onScroll,e=i.onScrollFrame;f&&f(t),this.update(function(p){var w=p.scrollLeft,k=p.scrollTop;r.viewScrollLeft=w,r.viewScrollTop=k,e&&e(p)}),this.detectScrolling()}},{key:"handleScrollStart",value:function(){var t=this.props.onScrollStart;t&&t(),this.handleScrollStartAutoHide()}},{key:"handleScrollStartAutoHide",value:function(){var t=this.props.autoHide;t&&this.showTracks()}},{key:"handleScrollStop",value:function(){var t=this.props.onScrollStop;t&&t(),this.handleScrollStopAutoHide()}},{key:"handleScrollStopAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"handleWindowResize",value:function(){(0,y.default)(!1),this.forceUpdate()}},{key:"handleHorizontalTrackMouseDown",value:function(t){t.preventDefault();var r=t.target,i=t.clientX,f=r.getBoundingClientRect(),e=f.left,p=this.getThumbHorizontalWidth(),w=Math.abs(e-i)-p/2;this.view.scrollLeft=this.getScrollLeftForOffset(w)}},{key:"handleVerticalTrackMouseDown",value:function(t){t.preventDefault();var r=t.target,i=t.clientY,f=r.getBoundingClientRect(),e=f.top,p=this.getThumbVerticalHeight(),w=Math.abs(e-i)-p/2;this.view.scrollTop=this.getScrollTopForOffset(w)}},{key:"handleHorizontalThumbMouseDown",value:function(t){t.preventDefault(),this.handleDragStart(t);var r=t.target,i=t.clientX,f=r.offsetWidth,e=r.getBoundingClientRect(),p=e.left;this.prevPageX=f-(i-p)}},{key:"handleVerticalThumbMouseDown",value:function(t){t.preventDefault(),this.handleDragStart(t);var r=t.target,i=t.clientY,f=r.offsetHeight,e=r.getBoundingClientRect(),p=e.top;this.prevPageY=f-(i-p)}},{key:"setupDragging",value:function(){(0,d.default)(document.body,_.disableSelectStyle),document.addEventListener("mousemove",this.handleDrag),document.addEventListener("mouseup",this.handleDragEnd),document.onselectstart=F.default}},{key:"teardownDragging",value:function(){(0,d.default)(document.body,_.disableSelectStyleReset),document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.handleDragEnd),document.onselectstart=void 0}},{key:"handleDragStart",value:function(t){this.dragging=!0,t.stopImmediatePropagation(),this.setupDragging()}},{key:"handleDrag",value:function(t){if(this.prevPageX){var r=t.clientX,i=this.trackHorizontal.getBoundingClientRect(),f=i.left,e=this.getThumbHorizontalWidth(),p=e-this.prevPageX,w=-f+r-p;this.view.scrollLeft=this.getScrollLeftForOffset(w)}if(this.prevPageY){var k=t.clientY,E=this.trackVertical.getBoundingClientRect(),L=E.top,R=this.getThumbVerticalHeight(),M=R-this.prevPageY,W=-L+k-M;this.view.scrollTop=this.getScrollTopForOffset(W)}return!1}},{key:"handleDragEnd",value:function(){this.dragging=!1,this.prevPageX=this.prevPageY=0,this.teardownDragging(),this.handleDragEndAutoHide()}},{key:"handleDragEndAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"handleTrackMouseEnter",value:function(){this.trackMouseOver=!0,this.handleTrackMouseEnterAutoHide()}},{key:"handleTrackMouseEnterAutoHide",value:function(){var t=this.props.autoHide;t&&this.showTracks()}},{key:"handleTrackMouseLeave",value:function(){this.trackMouseOver=!1,this.handleTrackMouseLeaveAutoHide()}},{key:"handleTrackMouseLeaveAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"showTracks",value:function(){clearTimeout(this.hideTracksTimeout),(0,d.default)(this.trackHorizontal,{opacity:1}),(0,d.default)(this.trackVertical,{opacity:1})}},{key:"hideTracks",value:function(){var t=this;if(!this.dragging&&!this.scrolling&&!this.trackMouseOver){var r=this.props.autoHideTimeout;clearTimeout(this.hideTracksTimeout),this.hideTracksTimeout=setTimeout(function(){(0,d.default)(t.trackHorizontal,{opacity:0}),(0,d.default)(t.trackVertical,{opacity:0})},r)}}},{key:"detectScrolling",value:function(){var t=this;this.scrolling||(this.scrolling=!0,this.handleScrollStart(),this.detectScrollingInterval=setInterval(function(){t.lastViewScrollLeft===t.viewScrollLeft&&t.lastViewScrollTop===t.viewScrollTop&&(clearInterval(t.detectScrollingInterval),t.scrolling=!1,t.handleScrollStop()),t.lastViewScrollLeft=t.viewScrollLeft,t.lastViewScrollTop=t.viewScrollTop},100))}},{key:"raf",value:function(t){var r=this;this.requestFrame&&l.default.cancel(this.requestFrame),this.requestFrame=(0,l.default)(function(){r.requestFrame=void 0,t()})}},{key:"update",value:function(t){var r=this;this.raf(function(){return r._update(t)})}},{key:"_update",value:function(t){var r=this.props,i=r.onUpdate,f=r.hideTracksWhenNotNeeded,e=this.getValues();if((0,y.default)()){var p=e.scrollLeft,w=e.clientWidth,k=e.scrollWidth,E=(0,Y.default)(this.trackHorizontal),L=this.getThumbHorizontalWidth(),R=p/(k-w)*(E-L),M={width:L,transform:"translateX("+R+"px)"},W=e.scrollTop,C=e.clientHeight,x=e.scrollHeight,Z=(0,G.default)(this.trackVertical),$=this.getThumbVerticalHeight(),J=W/(x-C)*(Z-$),P={height:$,transform:"translateY("+J+"px)"};if(f){var K={visibility:k>w?"visible":"hidden"},Q={visibility:x>C?"visible":"hidden"};(0,d.default)(this.trackHorizontal,K),(0,d.default)(this.trackVertical,Q)}(0,d.default)(this.thumbHorizontal,M),(0,d.default)(this.thumbVertical,P)}i&&i(e),typeof t=="function"&&t(e)}},{key:"render",value:function(){var t=this,r=(0,y.default)(),i=this.props;i.onScroll,i.onScrollFrame,i.onScrollStart,i.onScrollStop,i.onUpdate;var f=i.renderView,e=i.renderTrackHorizontal,p=i.renderTrackVertical,w=i.renderThumbHorizontal,k=i.renderThumbVertical,E=i.tagName;i.hideTracksWhenNotNeeded;var L=i.autoHide;i.autoHideTimeout;var R=i.autoHideDuration;i.thumbSize,i.thumbMinSize;var M=i.universal,W=i.autoHeight,C=i.autoHeightMin,x=i.autoHeightMax,Z=i.style,$=i.children,J=Re(i,["onScroll","onScrollFrame","onScrollStart","onScrollStop","onUpdate","renderView","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","tagName","hideTracksWhenNotNeeded","autoHide","autoHideTimeout","autoHideDuration","thumbSize","thumbMinSize","universal","autoHeight","autoHeightMin","autoHeightMax","style","children"]),P=this.state.didMountUniversal,K=s({},_.containerStyleDefault,W&&s({},_.containerStyleAutoHeight,{minHeight:C,maxHeight:x}),Z),Q=s({},_.viewStyleDefault,{marginRight:r?-r:0,marginBottom:r?-r:0},W&&s({},_.viewStyleAutoHeight,{minHeight:(0,h.default)(C)?"calc("+C+" + "+r+"px)":C+r,maxHeight:(0,h.default)(x)?"calc("+x+" + "+r+"px)":x+r}),W&&M&&!P&&{minHeight:C,maxHeight:x},M&&!P&&_.viewStyleUniversalInitial),he={transition:"opacity "+R+"ms",opacity:0},qe=s({},_.trackHorizontalStyleDefault,L&&he,(!r||M&&!P)&&{display:"none"}),Fe=s({},_.trackVerticalStyleDefault,L&&he,(!r||M&&!P)&&{display:"none"});return(0,S.createElement)(E,s({},J,{style:K,ref:function(z){t.container=z}}),[(0,S.cloneElement)(f({style:Q}),{key:"view",ref:function(z){t.view=z}},$),(0,S.cloneElement)(e({style:qe}),{key:"trackHorizontal",ref:function(z){t.trackHorizontal=z}},(0,S.cloneElement)(w({style:_.thumbHorizontalStyleDefault}),{ref:function(z){t.thumbHorizontal=z}})),(0,S.cloneElement)(p({style:Fe}),{key:"trackVertical",ref:function(z){t.trackVertical=z}},(0,S.cloneElement)(k({style:_.thumbVerticalStyleDefault}),{ref:function(z){t.thumbVertical=z}}))])}}]),v})(S.Component);o.default=j,j.propTypes={onScroll:a.default.func,onScrollFrame:a.default.func,onScrollStart:a.default.func,onScrollStop:a.default.func,onUpdate:a.default.func,renderView:a.default.func,renderTrackHorizontal:a.default.func,renderTrackVertical:a.default.func,renderThumbHorizontal:a.default.func,renderThumbVertical:a.default.func,tagName:a.default.string,thumbSize:a.default.number,thumbMinSize:a.default.number,hideTracksWhenNotNeeded:a.default.bool,autoHide:a.default.bool,autoHideTimeout:a.default.number,autoHideDuration:a.default.number,autoHeight:a.default.bool,autoHeightMin:a.default.oneOfType([a.default.number,a.default.string]),autoHeightMax:a.default.oneOfType([a.default.number,a.default.string]),universal:a.default.bool,style:a.default.object,children:a.default.node},j.defaultProps={renderView:N.renderViewDefault,renderTrackHorizontal:N.renderTrackHorizontalDefault,renderTrackVertical:N.renderTrackVerticalDefault,renderThumbHorizontal:N.renderThumbHorizontalDefault,renderThumbVertical:N.renderThumbVerticalDefault,tagName:"div",thumbMinSize:30,hideTracksWhenNotNeeded:!1,autoHide:!1,autoHideTimeout:1e3,autoHideDuration:200,autoHeight:!1,autoHeightMin:0,autoHeightMax:200,universal:!1}})(te)),te}var Le;function nt(){return Le||(Le=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.Scrollbars=void 0;var s=rt(),c=g(s);function g(l){return l&&l.__esModule?l:{default:l}}o.default=c.default,o.Scrollbars=c.default})(ee)),ee}var it=nt();const ot=Ae(it);export{ot as S,it as l};
2
- //# sourceMappingURL=C6bEPV55.chunk.js.map
1
+ import{W as We,X as Pe,y as Ae}from"./app-C2md4v6O.js";var ee={},te={},U={exports:{}},q={exports:{}},Ne=q.exports,fe;function Ie(){return fe||(fe=1,(function(){var o,s,c,g,l,b;typeof performance<"u"&&performance!==null&&performance.now?q.exports=function(){return performance.now()}:typeof process<"u"&&process!==null&&process.hrtime?(q.exports=function(){return(o()-l)/1e6},s=process.hrtime,o=function(){var d;return d=s(),d[0]*1e9+d[1]},g=o(),b=process.uptime()*1e9,l=g-b):Date.now?(q.exports=function(){return Date.now()-c},c=Date.now()):(q.exports=function(){return new Date().getTime()-c},c=new Date().getTime())}).call(Ne)),q.exports}var ve;function Ue(){if(ve)return U.exports;ve=1;for(var o=Ie(),s=typeof window>"u"?globalThis:window,c=["moz","webkit"],g="AnimationFrame",l=s["request"+g],b=s["cancel"+g]||s["cancelRequest"+g],d=0;!l&&d<c.length;d++)l=s[c[d]+"Request"+g],b=s[c[d]+"Cancel"+g]||s[c[d]+"CancelRequest"+g];if(!l||!b){var S=0,m=0,a=[],u=1e3/60;l=function(h){if(a.length===0){var H=o(),y=Math.max(0,u-(H-S));S=y+H,setTimeout(function(){var A=a.slice(0);a.length=0;for(var F=0;F<A.length;F++)if(!A[F].cancelled)try{A[F].callback(S)}catch(X){setTimeout(function(){throw X},0)}},Math.round(y))}return a.push({handle:++m,callback:h,cancelled:!1}),m},b=function(h){for(var H=0;H<a.length;H++)a[H].handle===h&&(a[H].cancelled=!0)}}return U.exports=function(h){return l.call(s,h)},U.exports.cancel=function(){b.apply(s,arguments)},U.exports.polyfill=function(h){h||(h=s),h.requestAnimationFrame=l,h.cancelAnimationFrame=b},U.exports}var B={exports:{}},re,ge;function Be(){if(ge)return re;ge=1;var o=null,s=["Webkit","Moz","O","ms"];return re=function(g){o||(o=document.createElement("div"));var l=o.style;if(g in l)return g;for(var b=g.charAt(0).toUpperCase()+g.slice(1),d=s.length;d>=0;d--){var S=s[d]+b;if(S in l)return S}return!1},re}var ne,me;function $e(){if(me)return ne;me=1,ne=g;var o=/\s/,s=/(_|-|\.|:)/,c=/([a-z][A-Z]|[A-Z][a-z])/;function g(m){return o.test(m)?m.toLowerCase():s.test(m)?(b(m)||m).toLowerCase():c.test(m)?S(m).toLowerCase():m.toLowerCase()}var l=/[\W_]+(.|$)/g;function b(m){return m.replace(l,function(a,u){return u?" "+u:""})}var d=/(.)([A-Z]+)/g;function S(m){return m.replace(d,function(a,u,h){return u+" "+h.toLowerCase().split("").join(" ")})}return ne}var ie,pe;function Xe(){if(pe)return ie;pe=1;var o=$e();ie=s;function s(c){return o(c).replace(/[\W_]+(.|$)/g,function(g,l){return l?" "+l:""}).trim()}return ie}var ae,Se;function Ye(){if(Se)return ae;Se=1;var o=Xe();ae=s;function s(c){return o(c).replace(/\s(\w)/g,function(g,l){return l.toUpperCase()})}return ae}var oe,Te;function Ge(){if(Te)return oe;Te=1;var o={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};return oe=function(s,c){return typeof c=="number"&&!o[s]?c+"px":c},oe}var ye;function Ve(){if(ye)return B.exports;ye=1;var o=Be(),s=Ye(),c={float:"cssFloat"},g=Ge();function l(m,a,u){var h=c[a];if(typeof h>"u"&&(h=d(a)),h){if(u===void 0)return m.style[h];m.style[h]=g(h,u)}}function b(m,a){for(var u in a)a.hasOwnProperty(u)&&l(m,u,a[u])}function d(m){var a=s(m),u=o(a);return c[a]=c[m]=c[u]=u,u}function S(){arguments.length===2?typeof arguments[1]=="string"?arguments[0].style.cssText=arguments[1]:b(arguments[0],arguments[1]):l(arguments[0],arguments[1],arguments[2])}return B.exports=S,B.exports.set=S,B.exports.get=function(m,a){return Array.isArray(a)?a.reduce(function(u,h){return u[h]=l(m,h||""),u},{}):l(m,a||"")},B.exports}var le={},be;function je(){return be||(be=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){return typeof c=="string"}})(le)),le}var ue={},He;function Ze(){return He||(He=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=b;var s=Ve(),c=g(s);function g(d){return d&&d.__esModule?d:{default:d}}var l=!1;function b(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;if(d&&l!==!1)return l;if(typeof document<"u"){var S=document.createElement("div");(0,c.default)(S,{width:100,height:100,position:"absolute",top:-9999,overflow:"scroll",MsOverflowStyle:"scrollbar"}),document.body.appendChild(S),l=S.offsetWidth-S.clientWidth,document.body.removeChild(S)}else l=0;return l||0}})(ue)),ue}var se={},we;function Je(){return we||(we=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(){return!1}})(se)),se}var ce={},ke;function Ke(){return ke||(ke=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){var g=c.clientWidth,l=getComputedStyle(c),b=l.paddingLeft,d=l.paddingRight;return g-parseFloat(b)-parseFloat(d)}})(ce)),ce}var de={},De;function Qe(){return De||(De=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.default=s;function s(c){var g=c.clientHeight,l=getComputedStyle(c),b=l.paddingTop,d=l.paddingBottom;return g-parseFloat(b)-parseFloat(d)}})(de)),de}var D={},_e;function et(){return _e||(_e=1,Object.defineProperty(D,"__esModule",{value:!0}),D.containerStyleDefault={position:"relative",overflow:"hidden",width:"100%",height:"100%"},D.containerStyleAutoHeight={height:"auto"},D.viewStyleDefault={position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"scroll",WebkitOverflowScrolling:"touch"},D.viewStyleAutoHeight={position:"relative",top:void 0,left:void 0,right:void 0,bottom:void 0},D.viewStyleUniversalInitial={overflow:"hidden",marginRight:0,marginBottom:0},D.trackHorizontalStyleDefault={position:"absolute",height:6},D.trackVerticalStyleDefault={position:"absolute",width:6},D.thumbHorizontalStyleDefault={position:"relative",display:"block",height:"100%"},D.thumbVerticalStyleDefault={position:"relative",display:"block",width:"100%"},D.disableSelectStyle={userSelect:"none"},D.disableSelectStyleReset={userSelect:""}),D}var O={},Me;function tt(){if(Me)return O;Me=1,Object.defineProperty(O,"__esModule",{value:!0});var o=Object.assign||function(u){for(var h=1;h<arguments.length;h++){var H=arguments[h];for(var y in H)Object.prototype.hasOwnProperty.call(H,y)&&(u[y]=H[y])}return u};O.renderViewDefault=b,O.renderTrackHorizontalDefault=d,O.renderTrackVerticalDefault=S,O.renderThumbHorizontalDefault=m,O.renderThumbVerticalDefault=a;var s=We(),c=g(s);function g(u){return u&&u.__esModule?u:{default:u}}function l(u,h){var H={};for(var y in u)h.indexOf(y)>=0||Object.prototype.hasOwnProperty.call(u,y)&&(H[y]=u[y]);return H}function b(u){return c.default.createElement("div",u)}function d(u){var h=u.style,H=l(u,["style"]),y=o({},h,{right:2,bottom:2,left:2,borderRadius:3});return c.default.createElement("div",o({style:y},H))}function S(u){var h=u.style,H=l(u,["style"]),y=o({},h,{right:2,bottom:2,top:2,borderRadius:3});return c.default.createElement("div",o({style:y},H))}function m(u){var h=u.style,H=l(u,["style"]),y=o({},h,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return c.default.createElement("div",o({style:y},H))}function a(u){var h=u.style,H=l(u,["style"]),y=o({},h,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return c.default.createElement("div",o({style:y},H))}return O}var ze;function rt(){return ze||(ze=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0});var s=Object.assign||function(T){for(var v=1;v<arguments.length;v++){var n=arguments[v];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(T[t]=n[t])}return T},c=(function(){function T(v,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(v,r.key,r)}}return function(v,n,t){return n&&T(v.prototype,n),t&&T(v,t),v}})(),g=Ue(),l=V(g),b=Ve(),d=V(b),S=We(),m=Pe(),a=V(m),u=je(),h=V(u),H=Ze(),y=V(H),A=Je(),F=V(A),X=Ke(),Y=V(X),Ee=Qe(),G=V(Ee),_=et(),N=tt();function V(T){return T&&T.__esModule?T:{default:T}}function Re(T,v){var n={};for(var t in T)v.indexOf(t)>=0||Object.prototype.hasOwnProperty.call(T,t)&&(n[t]=T[t]);return n}function Ce(T,v){if(!(T instanceof v))throw new TypeError("Cannot call a class as a function")}function xe(T,v){if(!T)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return v&&(typeof v=="object"||typeof v=="function")?v:T}function Oe(T,v){if(typeof v!="function"&&v!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof v);T.prototype=Object.create(v&&v.prototype,{constructor:{value:T,enumerable:!1,writable:!0,configurable:!0}}),v&&(Object.setPrototypeOf?Object.setPrototypeOf(T,v):T.__proto__=v)}var j=(function(T){Oe(v,T);function v(n){var t;Ce(this,v);for(var r=arguments.length,i=Array(r>1?r-1:0),f=1;f<r;f++)i[f-1]=arguments[f];var e=xe(this,(t=v.__proto__||Object.getPrototypeOf(v)).call.apply(t,[this,n].concat(i)));return e.getScrollLeft=e.getScrollLeft.bind(e),e.getScrollTop=e.getScrollTop.bind(e),e.getScrollWidth=e.getScrollWidth.bind(e),e.getScrollHeight=e.getScrollHeight.bind(e),e.getClientWidth=e.getClientWidth.bind(e),e.getClientHeight=e.getClientHeight.bind(e),e.getValues=e.getValues.bind(e),e.getThumbHorizontalWidth=e.getThumbHorizontalWidth.bind(e),e.getThumbVerticalHeight=e.getThumbVerticalHeight.bind(e),e.getScrollLeftForOffset=e.getScrollLeftForOffset.bind(e),e.getScrollTopForOffset=e.getScrollTopForOffset.bind(e),e.scrollLeft=e.scrollLeft.bind(e),e.scrollTop=e.scrollTop.bind(e),e.scrollToLeft=e.scrollToLeft.bind(e),e.scrollToTop=e.scrollToTop.bind(e),e.scrollToRight=e.scrollToRight.bind(e),e.scrollToBottom=e.scrollToBottom.bind(e),e.handleTrackMouseEnter=e.handleTrackMouseEnter.bind(e),e.handleTrackMouseLeave=e.handleTrackMouseLeave.bind(e),e.handleHorizontalTrackMouseDown=e.handleHorizontalTrackMouseDown.bind(e),e.handleVerticalTrackMouseDown=e.handleVerticalTrackMouseDown.bind(e),e.handleHorizontalThumbMouseDown=e.handleHorizontalThumbMouseDown.bind(e),e.handleVerticalThumbMouseDown=e.handleVerticalThumbMouseDown.bind(e),e.handleWindowResize=e.handleWindowResize.bind(e),e.handleScroll=e.handleScroll.bind(e),e.handleDrag=e.handleDrag.bind(e),e.handleDragEnd=e.handleDragEnd.bind(e),e.state={didMountUniversal:!1},e}return c(v,[{key:"componentDidMount",value:function(){this.addListeners(),this.update(),this.componentDidMountUniversal()}},{key:"componentDidMountUniversal",value:function(){var t=this.props.universal;t&&this.setState({didMountUniversal:!0})}},{key:"componentDidUpdate",value:function(){this.update()}},{key:"componentWillUnmount",value:function(){this.removeListeners(),(0,g.cancel)(this.requestFrame),clearTimeout(this.hideTracksTimeout),clearInterval(this.detectScrollingInterval)}},{key:"getScrollLeft",value:function(){return this.view?this.view.scrollLeft:0}},{key:"getScrollTop",value:function(){return this.view?this.view.scrollTop:0}},{key:"getScrollWidth",value:function(){return this.view?this.view.scrollWidth:0}},{key:"getScrollHeight",value:function(){return this.view?this.view.scrollHeight:0}},{key:"getClientWidth",value:function(){return this.view?this.view.clientWidth:0}},{key:"getClientHeight",value:function(){return this.view?this.view.clientHeight:0}},{key:"getValues",value:function(){var t=this.view||{},r=t.scrollLeft,i=r===void 0?0:r,f=t.scrollTop,e=f===void 0?0:f,p=t.scrollWidth,w=p===void 0?0:p,k=t.scrollHeight,E=k===void 0?0:k,L=t.clientWidth,R=L===void 0?0:L,M=t.clientHeight,W=M===void 0?0:M;return{left:i/(w-R)||0,top:e/(E-W)||0,scrollLeft:i,scrollTop:e,scrollWidth:w,scrollHeight:E,clientWidth:R,clientHeight:W}}},{key:"getThumbHorizontalWidth",value:function(){var t=this.props,r=t.thumbSize,i=t.thumbMinSize,f=this.view,e=f.scrollWidth,p=f.clientWidth,w=(0,Y.default)(this.trackHorizontal),k=Math.ceil(p/e*w);return w<=k?0:r||Math.max(k,i)}},{key:"getThumbVerticalHeight",value:function(){var t=this.props,r=t.thumbSize,i=t.thumbMinSize,f=this.view,e=f.scrollHeight,p=f.clientHeight,w=(0,G.default)(this.trackVertical),k=Math.ceil(p/e*w);return w<=k?0:r||Math.max(k,i)}},{key:"getScrollLeftForOffset",value:function(t){var r=this.view,i=r.scrollWidth,f=r.clientWidth,e=(0,Y.default)(this.trackHorizontal),p=this.getThumbHorizontalWidth();return t/(e-p)*(i-f)}},{key:"getScrollTopForOffset",value:function(t){var r=this.view,i=r.scrollHeight,f=r.clientHeight,e=(0,G.default)(this.trackVertical),p=this.getThumbVerticalHeight();return t/(e-p)*(i-f)}},{key:"scrollLeft",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.view&&(this.view.scrollLeft=t)}},{key:"scrollTop",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;this.view&&(this.view.scrollTop=t)}},{key:"scrollToLeft",value:function(){this.view&&(this.view.scrollLeft=0)}},{key:"scrollToTop",value:function(){this.view&&(this.view.scrollTop=0)}},{key:"scrollToRight",value:function(){this.view&&(this.view.scrollLeft=this.view.scrollWidth)}},{key:"scrollToBottom",value:function(){this.view&&(this.view.scrollTop=this.view.scrollHeight)}},{key:"addListeners",value:function(){if(!(typeof document>"u"||!this.view)){var t=this.view,r=this.trackHorizontal,i=this.trackVertical,f=this.thumbHorizontal,e=this.thumbVertical;t.addEventListener("scroll",this.handleScroll),(0,y.default)()&&(r.addEventListener("mouseenter",this.handleTrackMouseEnter),r.addEventListener("mouseleave",this.handleTrackMouseLeave),r.addEventListener("mousedown",this.handleHorizontalTrackMouseDown),i.addEventListener("mouseenter",this.handleTrackMouseEnter),i.addEventListener("mouseleave",this.handleTrackMouseLeave),i.addEventListener("mousedown",this.handleVerticalTrackMouseDown),f.addEventListener("mousedown",this.handleHorizontalThumbMouseDown),e.addEventListener("mousedown",this.handleVerticalThumbMouseDown),window.addEventListener("resize",this.handleWindowResize))}}},{key:"removeListeners",value:function(){if(!(typeof document>"u"||!this.view)){var t=this.view,r=this.trackHorizontal,i=this.trackVertical,f=this.thumbHorizontal,e=this.thumbVertical;t.removeEventListener("scroll",this.handleScroll),(0,y.default)()&&(r.removeEventListener("mouseenter",this.handleTrackMouseEnter),r.removeEventListener("mouseleave",this.handleTrackMouseLeave),r.removeEventListener("mousedown",this.handleHorizontalTrackMouseDown),i.removeEventListener("mouseenter",this.handleTrackMouseEnter),i.removeEventListener("mouseleave",this.handleTrackMouseLeave),i.removeEventListener("mousedown",this.handleVerticalTrackMouseDown),f.removeEventListener("mousedown",this.handleHorizontalThumbMouseDown),e.removeEventListener("mousedown",this.handleVerticalThumbMouseDown),window.removeEventListener("resize",this.handleWindowResize),this.teardownDragging())}}},{key:"handleScroll",value:function(t){var r=this,i=this.props,f=i.onScroll,e=i.onScrollFrame;f&&f(t),this.update(function(p){var w=p.scrollLeft,k=p.scrollTop;r.viewScrollLeft=w,r.viewScrollTop=k,e&&e(p)}),this.detectScrolling()}},{key:"handleScrollStart",value:function(){var t=this.props.onScrollStart;t&&t(),this.handleScrollStartAutoHide()}},{key:"handleScrollStartAutoHide",value:function(){var t=this.props.autoHide;t&&this.showTracks()}},{key:"handleScrollStop",value:function(){var t=this.props.onScrollStop;t&&t(),this.handleScrollStopAutoHide()}},{key:"handleScrollStopAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"handleWindowResize",value:function(){(0,y.default)(!1),this.forceUpdate()}},{key:"handleHorizontalTrackMouseDown",value:function(t){t.preventDefault();var r=t.target,i=t.clientX,f=r.getBoundingClientRect(),e=f.left,p=this.getThumbHorizontalWidth(),w=Math.abs(e-i)-p/2;this.view.scrollLeft=this.getScrollLeftForOffset(w)}},{key:"handleVerticalTrackMouseDown",value:function(t){t.preventDefault();var r=t.target,i=t.clientY,f=r.getBoundingClientRect(),e=f.top,p=this.getThumbVerticalHeight(),w=Math.abs(e-i)-p/2;this.view.scrollTop=this.getScrollTopForOffset(w)}},{key:"handleHorizontalThumbMouseDown",value:function(t){t.preventDefault(),this.handleDragStart(t);var r=t.target,i=t.clientX,f=r.offsetWidth,e=r.getBoundingClientRect(),p=e.left;this.prevPageX=f-(i-p)}},{key:"handleVerticalThumbMouseDown",value:function(t){t.preventDefault(),this.handleDragStart(t);var r=t.target,i=t.clientY,f=r.offsetHeight,e=r.getBoundingClientRect(),p=e.top;this.prevPageY=f-(i-p)}},{key:"setupDragging",value:function(){(0,d.default)(document.body,_.disableSelectStyle),document.addEventListener("mousemove",this.handleDrag),document.addEventListener("mouseup",this.handleDragEnd),document.onselectstart=F.default}},{key:"teardownDragging",value:function(){(0,d.default)(document.body,_.disableSelectStyleReset),document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.handleDragEnd),document.onselectstart=void 0}},{key:"handleDragStart",value:function(t){this.dragging=!0,t.stopImmediatePropagation(),this.setupDragging()}},{key:"handleDrag",value:function(t){if(this.prevPageX){var r=t.clientX,i=this.trackHorizontal.getBoundingClientRect(),f=i.left,e=this.getThumbHorizontalWidth(),p=e-this.prevPageX,w=-f+r-p;this.view.scrollLeft=this.getScrollLeftForOffset(w)}if(this.prevPageY){var k=t.clientY,E=this.trackVertical.getBoundingClientRect(),L=E.top,R=this.getThumbVerticalHeight(),M=R-this.prevPageY,W=-L+k-M;this.view.scrollTop=this.getScrollTopForOffset(W)}return!1}},{key:"handleDragEnd",value:function(){this.dragging=!1,this.prevPageX=this.prevPageY=0,this.teardownDragging(),this.handleDragEndAutoHide()}},{key:"handleDragEndAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"handleTrackMouseEnter",value:function(){this.trackMouseOver=!0,this.handleTrackMouseEnterAutoHide()}},{key:"handleTrackMouseEnterAutoHide",value:function(){var t=this.props.autoHide;t&&this.showTracks()}},{key:"handleTrackMouseLeave",value:function(){this.trackMouseOver=!1,this.handleTrackMouseLeaveAutoHide()}},{key:"handleTrackMouseLeaveAutoHide",value:function(){var t=this.props.autoHide;t&&this.hideTracks()}},{key:"showTracks",value:function(){clearTimeout(this.hideTracksTimeout),(0,d.default)(this.trackHorizontal,{opacity:1}),(0,d.default)(this.trackVertical,{opacity:1})}},{key:"hideTracks",value:function(){var t=this;if(!this.dragging&&!this.scrolling&&!this.trackMouseOver){var r=this.props.autoHideTimeout;clearTimeout(this.hideTracksTimeout),this.hideTracksTimeout=setTimeout(function(){(0,d.default)(t.trackHorizontal,{opacity:0}),(0,d.default)(t.trackVertical,{opacity:0})},r)}}},{key:"detectScrolling",value:function(){var t=this;this.scrolling||(this.scrolling=!0,this.handleScrollStart(),this.detectScrollingInterval=setInterval(function(){t.lastViewScrollLeft===t.viewScrollLeft&&t.lastViewScrollTop===t.viewScrollTop&&(clearInterval(t.detectScrollingInterval),t.scrolling=!1,t.handleScrollStop()),t.lastViewScrollLeft=t.viewScrollLeft,t.lastViewScrollTop=t.viewScrollTop},100))}},{key:"raf",value:function(t){var r=this;this.requestFrame&&l.default.cancel(this.requestFrame),this.requestFrame=(0,l.default)(function(){r.requestFrame=void 0,t()})}},{key:"update",value:function(t){var r=this;this.raf(function(){return r._update(t)})}},{key:"_update",value:function(t){var r=this.props,i=r.onUpdate,f=r.hideTracksWhenNotNeeded,e=this.getValues();if((0,y.default)()){var p=e.scrollLeft,w=e.clientWidth,k=e.scrollWidth,E=(0,Y.default)(this.trackHorizontal),L=this.getThumbHorizontalWidth(),R=p/(k-w)*(E-L),M={width:L,transform:"translateX("+R+"px)"},W=e.scrollTop,C=e.clientHeight,x=e.scrollHeight,Z=(0,G.default)(this.trackVertical),$=this.getThumbVerticalHeight(),J=W/(x-C)*(Z-$),P={height:$,transform:"translateY("+J+"px)"};if(f){var K={visibility:k>w?"visible":"hidden"},Q={visibility:x>C?"visible":"hidden"};(0,d.default)(this.trackHorizontal,K),(0,d.default)(this.trackVertical,Q)}(0,d.default)(this.thumbHorizontal,M),(0,d.default)(this.thumbVertical,P)}i&&i(e),typeof t=="function"&&t(e)}},{key:"render",value:function(){var t=this,r=(0,y.default)(),i=this.props;i.onScroll,i.onScrollFrame,i.onScrollStart,i.onScrollStop,i.onUpdate;var f=i.renderView,e=i.renderTrackHorizontal,p=i.renderTrackVertical,w=i.renderThumbHorizontal,k=i.renderThumbVertical,E=i.tagName;i.hideTracksWhenNotNeeded;var L=i.autoHide;i.autoHideTimeout;var R=i.autoHideDuration;i.thumbSize,i.thumbMinSize;var M=i.universal,W=i.autoHeight,C=i.autoHeightMin,x=i.autoHeightMax,Z=i.style,$=i.children,J=Re(i,["onScroll","onScrollFrame","onScrollStart","onScrollStop","onUpdate","renderView","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","tagName","hideTracksWhenNotNeeded","autoHide","autoHideTimeout","autoHideDuration","thumbSize","thumbMinSize","universal","autoHeight","autoHeightMin","autoHeightMax","style","children"]),P=this.state.didMountUniversal,K=s({},_.containerStyleDefault,W&&s({},_.containerStyleAutoHeight,{minHeight:C,maxHeight:x}),Z),Q=s({},_.viewStyleDefault,{marginRight:r?-r:0,marginBottom:r?-r:0},W&&s({},_.viewStyleAutoHeight,{minHeight:(0,h.default)(C)?"calc("+C+" + "+r+"px)":C+r,maxHeight:(0,h.default)(x)?"calc("+x+" + "+r+"px)":x+r}),W&&M&&!P&&{minHeight:C,maxHeight:x},M&&!P&&_.viewStyleUniversalInitial),he={transition:"opacity "+R+"ms",opacity:0},qe=s({},_.trackHorizontalStyleDefault,L&&he,(!r||M&&!P)&&{display:"none"}),Fe=s({},_.trackVerticalStyleDefault,L&&he,(!r||M&&!P)&&{display:"none"});return(0,S.createElement)(E,s({},J,{style:K,ref:function(z){t.container=z}}),[(0,S.cloneElement)(f({style:Q}),{key:"view",ref:function(z){t.view=z}},$),(0,S.cloneElement)(e({style:qe}),{key:"trackHorizontal",ref:function(z){t.trackHorizontal=z}},(0,S.cloneElement)(w({style:_.thumbHorizontalStyleDefault}),{ref:function(z){t.thumbHorizontal=z}})),(0,S.cloneElement)(p({style:Fe}),{key:"trackVertical",ref:function(z){t.trackVertical=z}},(0,S.cloneElement)(k({style:_.thumbVerticalStyleDefault}),{ref:function(z){t.thumbVertical=z}}))])}}]),v})(S.Component);o.default=j,j.propTypes={onScroll:a.default.func,onScrollFrame:a.default.func,onScrollStart:a.default.func,onScrollStop:a.default.func,onUpdate:a.default.func,renderView:a.default.func,renderTrackHorizontal:a.default.func,renderTrackVertical:a.default.func,renderThumbHorizontal:a.default.func,renderThumbVertical:a.default.func,tagName:a.default.string,thumbSize:a.default.number,thumbMinSize:a.default.number,hideTracksWhenNotNeeded:a.default.bool,autoHide:a.default.bool,autoHideTimeout:a.default.number,autoHideDuration:a.default.number,autoHeight:a.default.bool,autoHeightMin:a.default.oneOfType([a.default.number,a.default.string]),autoHeightMax:a.default.oneOfType([a.default.number,a.default.string]),universal:a.default.bool,style:a.default.object,children:a.default.node},j.defaultProps={renderView:N.renderViewDefault,renderTrackHorizontal:N.renderTrackHorizontalDefault,renderTrackVertical:N.renderTrackVerticalDefault,renderThumbHorizontal:N.renderThumbHorizontalDefault,renderThumbVertical:N.renderThumbVerticalDefault,tagName:"div",thumbMinSize:30,hideTracksWhenNotNeeded:!1,autoHide:!1,autoHideTimeout:1e3,autoHideDuration:200,autoHeight:!1,autoHeightMin:0,autoHeightMax:200,universal:!1}})(te)),te}var Le;function nt(){return Le||(Le=1,(function(o){Object.defineProperty(o,"__esModule",{value:!0}),o.Scrollbars=void 0;var s=rt(),c=g(s);function g(l){return l&&l.__esModule?l:{default:l}}o.default=c.default,o.Scrollbars=c.default})(ee)),ee}var it=nt();const ot=Ae(it);export{ot as S,it as l};
2
+ //# sourceMappingURL=pMgyVPKQ.chunk.js.map