@clickview/lite 0.50.1-rc.0 → 0.50.1-rc.1

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 (151) hide show
  1. package/dist/bundles.json +2 -2
  2. package/dist/css/{1313-lite-b05099b818.chunk.css → 1313-lite-6b1a20b3fe.chunk.css} +1 -1
  3. package/dist/css/{1402-lite-9489903efd.chunk.css → 1402-lite-8a07733b96.chunk.css} +1 -1
  4. package/dist/css/{3588-lite-f083d46330.chunk.css → 1407-lite-be6668ef3a.chunk.css} +1 -1
  5. package/dist/css/{5725-lite-789978250c.chunk.css → 1539-lite-a5772fefdb.chunk.css} +1 -1
  6. package/dist/css/{5769-lite-16efb24b77.chunk.css → 1567-lite-2ab4d6f863.chunk.css} +1 -1
  7. package/dist/css/{1602-lite-90df7cca5c.chunk.css → 1602-lite-8fb6cea449.chunk.css} +1 -1
  8. package/dist/css/{9818-lite-dca6b9e86d.chunk.css → 1850-lite-e9e8c03964.chunk.css} +1 -1
  9. package/dist/css/{2446-lite-6b11bdfdc1.chunk.css → 2446-lite-dfc41ecbea.chunk.css} +1 -1
  10. package/dist/css/{9211-lite-f00eb0266e.chunk.css → 2507-lite-9516182bdb.chunk.css} +1 -1
  11. package/dist/css/{2724-lite-24da60896e.chunk.css → 2724-lite-669b5b8120.chunk.css} +1 -1
  12. package/dist/css/{3070-lite-c0909f46f3.chunk.css → 3070-lite-6af4bd0c76.chunk.css} +1 -1
  13. package/dist/css/{3397-lite-dfab7385b6.chunk.css → 3397-lite-5b25e3a686.chunk.css} +1 -1
  14. package/dist/css/{3403-lite-4b92798a0c.chunk.css → 3403-lite-89bcc16133.chunk.css} +1 -1
  15. package/dist/css/{458-lite-c8a3139b8b.chunk.css → 3515-lite-66473d08ed.chunk.css} +1 -1
  16. package/dist/css/{1407-lite-f083d46330.chunk.css → 3588-lite-be6668ef3a.chunk.css} +1 -1
  17. package/dist/css/{3895-lite-b05099b818.chunk.css → 3895-lite-6b1a20b3fe.chunk.css} +1 -1
  18. package/dist/css/{4151-lite-fcc0fc8753.chunk.css → 4151-lite-9cbe9bba57.chunk.css} +1 -1
  19. package/dist/css/{3515-lite-c8a3139b8b.chunk.css → 458-lite-66473d08ed.chunk.css} +1 -1
  20. package/dist/css/{5114-lite-38330c6187.chunk.css → 5114-lite-06a1ac179b.chunk.css} +1 -1
  21. package/dist/css/{5242-lite-58cdcd1ec4.chunk.css → 5242-lite-3e960b685e.chunk.css} +1 -1
  22. package/dist/css/{5364-lite-93bfe767eb.chunk.css → 5364-lite-e8c416fe79.chunk.css} +1 -1
  23. package/dist/css/{1539-lite-789978250c.chunk.css → 5725-lite-a5772fefdb.chunk.css} +1 -1
  24. package/dist/css/{6759-lite-16efb24b77.chunk.css → 5769-lite-2ab4d6f863.chunk.css} +1 -1
  25. package/dist/css/{5803-lite-d1315afce2.chunk.css → 5803-lite-625e484692.chunk.css} +1 -1
  26. package/dist/css/{5810-lite-ba174cfe3d.chunk.css → 5810-lite-1224500e4d.chunk.css} +1 -1
  27. package/dist/css/{6181-lite-7558375a74.chunk.css → 6181-lite-ca9f6aeba1.chunk.css} +1 -1
  28. package/dist/css/{6189-lite-4c33c1b5c4.chunk.css → 6189-lite-20e4d47423.chunk.css} +1 -1
  29. package/dist/css/{6309-lite-a23dc59ecd.chunk.css → 6309-lite-bd0968a2c8.chunk.css} +1 -1
  30. package/dist/css/{6531-lite-9431296610.chunk.css → 6531-lite-1f6f3c392c.chunk.css} +1 -1
  31. package/dist/css/{1567-lite-16efb24b77.chunk.css → 6759-lite-2ab4d6f863.chunk.css} +1 -1
  32. package/dist/css/{6803-lite-16efb24b77.chunk.css → 6803-lite-2ab4d6f863.chunk.css} +1 -1
  33. package/dist/css/{6850-lite-769c93cb9e.chunk.css → 6850-lite-c1a8731a93.chunk.css} +1 -1
  34. package/dist/css/{7533-lite-d0ae59ec54.chunk.css → 7533-lite-206fce5dbd.chunk.css} +1 -1
  35. package/dist/css/{7777-lite-8067dea624.chunk.css → 7777-lite-48d916f95c.chunk.css} +1 -1
  36. package/dist/css/{8218-lite-fe8c54917b.chunk.css → 8218-lite-f54139cf27.chunk.css} +1 -1
  37. package/dist/css/{8316-lite-9083a6565c.chunk.css → 8316-lite-6036f465f0.chunk.css} +1 -1
  38. package/dist/css/{8354-lite-bc431d9d01.chunk.css → 8354-lite-8228cb401d.chunk.css} +1 -1
  39. package/dist/css/{8987-lite-95b3d79328.chunk.css → 8987-lite-6cd15b48d2.chunk.css} +1 -1
  40. package/dist/css/{9068-lite-c0341005e4.chunk.css → 9068-lite-c3a9ace963.chunk.css} +1 -1
  41. package/dist/css/{2507-lite-f00eb0266e.chunk.css → 9211-lite-9516182bdb.chunk.css} +1 -1
  42. package/dist/css/{9329-lite-a259b19412.chunk.css → 9329-lite-5f15379e31.chunk.css} +1 -1
  43. package/dist/css/{9417-lite-9083a6565c.chunk.css → 9417-lite-6036f465f0.chunk.css} +1 -1
  44. package/dist/css/{1850-lite-dca6b9e86d.chunk.css → 9818-lite-e9e8c03964.chunk.css} +1 -1
  45. package/dist/css/{lite-app-28b7b96628.css → lite-app-212404ee3a.css} +1 -1
  46. package/dist/scripts/{1313-455608bc46-lite.chunk.js → 1313-5a7170fb69-lite.chunk.js} +1 -1
  47. package/dist/scripts/{1313-455608bc46-lite.chunk.js.map → 1313-5a7170fb69-lite.chunk.js.map} +1 -1
  48. package/dist/scripts/{1402-d40dc88741-lite.chunk.js → 1402-39cb29d725-lite.chunk.js} +1 -1
  49. package/dist/scripts/{1402-d40dc88741-lite.chunk.js.map → 1402-39cb29d725-lite.chunk.js.map} +1 -1
  50. package/dist/scripts/{1407-3592ec24f2-lite.chunk.js → 1407-3bab3f00f6-lite.chunk.js} +1 -1
  51. package/dist/scripts/{1407-3592ec24f2-lite.chunk.js.map → 1407-3bab3f00f6-lite.chunk.js.map} +1 -1
  52. package/dist/scripts/{1567-edcff759b1-lite.chunk.js → 1567-b3141bc14f-lite.chunk.js} +1 -1
  53. package/dist/scripts/{1567-edcff759b1-lite.chunk.js.map → 1567-b3141bc14f-lite.chunk.js.map} +1 -1
  54. package/dist/scripts/{1602-173a4f272a-lite.chunk.js → 1602-dfe6928d65-lite.chunk.js} +1 -1
  55. package/dist/scripts/{1602-173a4f272a-lite.chunk.js.map → 1602-dfe6928d65-lite.chunk.js.map} +1 -1
  56. package/dist/scripts/{2446-acc94130ed-lite.chunk.js → 2446-eaa1d2ee7d-lite.chunk.js} +2 -2
  57. package/dist/scripts/{2446-acc94130ed-lite.chunk.js.map → 2446-eaa1d2ee7d-lite.chunk.js.map} +1 -1
  58. package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js → 2507-fc744cab62-lite.chunk.js} +1 -1
  59. package/dist/scripts/{2507-bb4e17b1b3-lite.chunk.js.map → 2507-fc744cab62-lite.chunk.js.map} +1 -1
  60. package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js → 2724-060fdde41c-lite.chunk.js} +1 -1
  61. package/dist/scripts/{2724-ee3a51e0c9-lite.chunk.js.map → 2724-060fdde41c-lite.chunk.js.map} +1 -1
  62. package/dist/scripts/{3070-fb8eb47716-lite.chunk.js → 3070-b148205227-lite.chunk.js} +1 -1
  63. package/dist/scripts/{3070-fb8eb47716-lite.chunk.js.map → 3070-b148205227-lite.chunk.js.map} +1 -1
  64. package/dist/scripts/{3397-bb32e2287f-lite.chunk.js → 3397-cd6acb96c4-lite.chunk.js} +1 -1
  65. package/dist/scripts/{3397-bb32e2287f-lite.chunk.js.map → 3397-cd6acb96c4-lite.chunk.js.map} +1 -1
  66. package/dist/scripts/{3403-12c460d3f6-lite.chunk.js → 3403-d42b7125ae-lite.chunk.js} +1 -1
  67. package/dist/scripts/{3403-12c460d3f6-lite.chunk.js.map → 3403-d42b7125ae-lite.chunk.js.map} +1 -1
  68. package/dist/scripts/{3515-4de2fd7070-lite.chunk.js → 3515-0d5feefbe3-lite.chunk.js} +1 -1
  69. package/dist/scripts/{3515-4de2fd7070-lite.chunk.js.map → 3515-0d5feefbe3-lite.chunk.js.map} +1 -1
  70. package/dist/scripts/{3588-62e61bc526-lite.chunk.js → 3588-1c1c264291-lite.chunk.js} +2 -2
  71. package/dist/scripts/{3588-62e61bc526-lite.chunk.js.map → 3588-1c1c264291-lite.chunk.js.map} +1 -1
  72. package/dist/scripts/{3895-a54621a8c4-lite.chunk.js → 3895-cbeb003a0a-lite.chunk.js} +1 -1
  73. package/dist/scripts/{3895-a54621a8c4-lite.chunk.js.map → 3895-cbeb003a0a-lite.chunk.js.map} +1 -1
  74. package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js → 4151-bb1e8aafcb-lite.chunk.js} +1 -1
  75. package/dist/scripts/{4151-ad0c6f107f-lite.chunk.js.map → 4151-bb1e8aafcb-lite.chunk.js.map} +1 -1
  76. package/dist/scripts/{458-35c635a2ce-lite.chunk.js → 458-e3aaac093b-lite.chunk.js} +1 -1
  77. package/dist/scripts/{458-35c635a2ce-lite.chunk.js.map → 458-e3aaac093b-lite.chunk.js.map} +1 -1
  78. package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js → 5114-15c4180b16-lite.chunk.js} +1 -1
  79. package/dist/scripts/{5114-fcfd260e0b-lite.chunk.js.map → 5114-15c4180b16-lite.chunk.js.map} +1 -1
  80. package/dist/scripts/{5242-2d752ff85e-lite.chunk.js → 5242-e2f40bdd0e-lite.chunk.js} +1 -1
  81. package/dist/scripts/{5242-2d752ff85e-lite.chunk.js.map → 5242-e2f40bdd0e-lite.chunk.js.map} +1 -1
  82. package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js → 5364-fe4a00711f-lite.chunk.js} +1 -1
  83. package/dist/scripts/{5364-b081f5e1ca-lite.chunk.js.map → 5364-fe4a00711f-lite.chunk.js.map} +1 -1
  84. package/dist/scripts/{5725-6792ca3e92-lite.chunk.js → 5725-1592727a8f-lite.chunk.js} +1 -1
  85. package/dist/scripts/{5725-6792ca3e92-lite.chunk.js.map → 5725-1592727a8f-lite.chunk.js.map} +1 -1
  86. package/dist/scripts/{5769-34ad224f5f-lite.chunk.js → 5769-e9f596e2b2-lite.chunk.js} +1 -1
  87. package/dist/scripts/{5769-34ad224f5f-lite.chunk.js.map → 5769-e9f596e2b2-lite.chunk.js.map} +1 -1
  88. package/dist/scripts/{5803-0005a9eb66-lite.chunk.js → 5803-7db6af5411-lite.chunk.js} +1 -1
  89. package/dist/scripts/{5803-0005a9eb66-lite.chunk.js.map → 5803-7db6af5411-lite.chunk.js.map} +1 -1
  90. package/dist/scripts/{5810-a652483b8e-lite.chunk.js → 5810-c81d69aea8-lite.chunk.js} +2 -2
  91. package/dist/scripts/{5810-a652483b8e-lite.chunk.js.map → 5810-c81d69aea8-lite.chunk.js.map} +1 -1
  92. package/dist/scripts/{6102-f1851eca08-lite.chunk.js → 6102-38e3abf2fa-lite.chunk.js} +3 -3
  93. package/dist/scripts/{6102-f1851eca08-lite.chunk.js.map → 6102-38e3abf2fa-lite.chunk.js.map} +1 -1
  94. package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js → 6181-55d2689d74-lite.chunk.js} +1 -1
  95. package/dist/scripts/{6181-7a4fc8e1e1-lite.chunk.js.map → 6181-55d2689d74-lite.chunk.js.map} +1 -1
  96. package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js → 6189-b45080fab7-lite.chunk.js} +1 -1
  97. package/dist/scripts/{6189-ce9f0eeb31-lite.chunk.js.map → 6189-b45080fab7-lite.chunk.js.map} +1 -1
  98. package/dist/scripts/{6309-dd3a8e7f21-lite.chunk.js → 6309-36ea0c9f2c-lite.chunk.js} +2 -2
  99. package/dist/scripts/{6309-dd3a8e7f21-lite.chunk.js.map → 6309-36ea0c9f2c-lite.chunk.js.map} +1 -1
  100. package/dist/scripts/{6415-9d8b88c713-lite.chunk.js → 6415-5ac1a71471-lite.chunk.js} +1 -1
  101. package/dist/scripts/{6415-9d8b88c713-lite.chunk.js.map → 6415-5ac1a71471-lite.chunk.js.map} +1 -1
  102. package/dist/scripts/{6531-597262a181-lite.chunk.js → 6531-1325be9fb1-lite.chunk.js} +1 -1
  103. package/dist/scripts/{6531-597262a181-lite.chunk.js.map → 6531-1325be9fb1-lite.chunk.js.map} +1 -1
  104. package/dist/scripts/{6759-3f36472a49-lite.chunk.js → 6759-a7e1119553-lite.chunk.js} +1 -1
  105. package/dist/scripts/{6759-3f36472a49-lite.chunk.js.map → 6759-a7e1119553-lite.chunk.js.map} +1 -1
  106. package/dist/scripts/{6803-2275c83d96-lite.chunk.js → 6803-222bfeea55-lite.chunk.js} +1 -1
  107. package/dist/scripts/{6803-2275c83d96-lite.chunk.js.map → 6803-222bfeea55-lite.chunk.js.map} +1 -1
  108. package/dist/scripts/6850-16bec85d3c-lite.chunk.js +3 -0
  109. package/dist/scripts/6850-16bec85d3c-lite.chunk.js.map +1 -0
  110. package/dist/scripts/{6948-84a5f8d76f-lite.chunk.js → 6948-23ec6a6370-lite.chunk.js} +2 -2
  111. package/dist/scripts/6948-23ec6a6370-lite.chunk.js.map +1 -0
  112. package/dist/scripts/{7533-e079b2af18-lite.chunk.js → 7533-9edee544c6-lite.chunk.js} +1 -1
  113. package/dist/scripts/{7533-e079b2af18-lite.chunk.js.map → 7533-9edee544c6-lite.chunk.js.map} +1 -1
  114. package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js → 7777-1c3490134e-lite.chunk.js} +1 -1
  115. package/dist/scripts/{7777-f0937ef1f5-lite.chunk.js.map → 7777-1c3490134e-lite.chunk.js.map} +1 -1
  116. package/dist/scripts/{8218-f3b81c7287-lite.chunk.js → 8218-088530bdf7-lite.chunk.js} +1 -1
  117. package/dist/scripts/{8218-f3b81c7287-lite.chunk.js.map → 8218-088530bdf7-lite.chunk.js.map} +1 -1
  118. package/dist/scripts/8316-ba6bae1f29-lite.chunk.js +2 -0
  119. package/dist/scripts/8316-ba6bae1f29-lite.chunk.js.map +1 -0
  120. package/dist/scripts/{8354-e30261b594-lite.chunk.js → 8354-d07c3bef5a-lite.chunk.js} +1 -1
  121. package/dist/scripts/{8354-e30261b594-lite.chunk.js.map → 8354-d07c3bef5a-lite.chunk.js.map} +1 -1
  122. package/dist/scripts/{8987-32190552fa-lite.chunk.js → 8987-c0c2790aab-lite.chunk.js} +1 -1
  123. package/dist/scripts/{8987-32190552fa-lite.chunk.js.map → 8987-c0c2790aab-lite.chunk.js.map} +1 -1
  124. package/dist/scripts/{9068-562c30f718-lite.chunk.js → 9068-554aa0d22b-lite.chunk.js} +1 -1
  125. package/dist/scripts/{9068-562c30f718-lite.chunk.js.map → 9068-554aa0d22b-lite.chunk.js.map} +1 -1
  126. package/dist/scripts/{9211-d4c7016679-lite.chunk.js → 9211-0381d3e715-lite.chunk.js} +1 -1
  127. package/dist/scripts/{9211-d4c7016679-lite.chunk.js.map → 9211-0381d3e715-lite.chunk.js.map} +1 -1
  128. package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js → 9329-798d826fc4-lite.chunk.js} +1 -1
  129. package/dist/scripts/{9329-5cf6baab9d-lite.chunk.js.map → 9329-798d826fc4-lite.chunk.js.map} +1 -1
  130. package/dist/scripts/9417-aa8d198d40-lite.chunk.js +2 -0
  131. package/dist/scripts/9417-aa8d198d40-lite.chunk.js.map +1 -0
  132. package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js → 9818-a2fa140139-lite.chunk.js} +1 -1
  133. package/dist/scripts/{9818-f63bdbbac4-lite.chunk.js.map → 9818-a2fa140139-lite.chunk.js.map} +1 -1
  134. package/dist/scripts/bundle-bb2e18c8ca.min.js +3 -0
  135. package/dist/scripts/{bundle-d20cb66d1a.min.js.map → bundle-bb2e18c8ca.min.js.map} +1 -1
  136. package/package.json +1 -1
  137. package/dist/scripts/6850-8770bfeefb-lite.chunk.js +0 -3
  138. package/dist/scripts/6850-8770bfeefb-lite.chunk.js.map +0 -1
  139. package/dist/scripts/6948-84a5f8d76f-lite.chunk.js.map +0 -1
  140. package/dist/scripts/8316-dad1824a5f-lite.chunk.js +0 -2
  141. package/dist/scripts/8316-dad1824a5f-lite.chunk.js.map +0 -1
  142. package/dist/scripts/9417-70c6489c67-lite.chunk.js +0 -2
  143. package/dist/scripts/9417-70c6489c67-lite.chunk.js.map +0 -1
  144. package/dist/scripts/bundle-d20cb66d1a.min.js +0 -3
  145. /package/dist/scripts/{2446-acc94130ed-lite.chunk.js.LICENSE.txt → 2446-eaa1d2ee7d-lite.chunk.js.LICENSE.txt} +0 -0
  146. /package/dist/scripts/{3588-62e61bc526-lite.chunk.js.LICENSE.txt → 3588-1c1c264291-lite.chunk.js.LICENSE.txt} +0 -0
  147. /package/dist/scripts/{5810-a652483b8e-lite.chunk.js.LICENSE.txt → 5810-c81d69aea8-lite.chunk.js.LICENSE.txt} +0 -0
  148. /package/dist/scripts/{6102-f1851eca08-lite.chunk.js.LICENSE.txt → 6102-38e3abf2fa-lite.chunk.js.LICENSE.txt} +0 -0
  149. /package/dist/scripts/{6309-dd3a8e7f21-lite.chunk.js.LICENSE.txt → 6309-36ea0c9f2c-lite.chunk.js.LICENSE.txt} +0 -0
  150. /package/dist/scripts/{6850-8770bfeefb-lite.chunk.js.LICENSE.txt → 6850-16bec85d3c-lite.chunk.js.LICENSE.txt} +0 -0
  151. /package/dist/scripts/{bundle-d20cb66d1a.min.js.LICENSE.txt → bundle-bb2e18c8ca.min.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5364],{49935:(e,t,a)=>{a.d(t,{Oo:()=>u,b2:()=>m});var n=a(32735),r=a(36848),i=a(86764),o=a(3747),l=a(5859),c=a(35223),s=a(83914),d=function(e){var t=e.breadcrumb,a=t.name,i=t.appLink,o=t.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?n.createElement("strong",null,a):n.createElement(r.F,{appLink:i},l&&n.createElement(s.x,{svgName:c.vn.ChevronLeft,size:s.S.Small}),n.createElement("span",{className:l?"ms-2":""},a)))},u=function(e){var t=e.breadcrumbs,a=(0,o.a)(i.r.XS),r=null==t?void 0:t.length;return!r||a&&r<2?n.createElement(n.Fragment,null):a?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(d,{breadcrumb:t[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(d,{key:t,breadcrumb:e})}))))},m=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,o.a)(i.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},17087:(e,t,a)=>{a.d(t,{T:()=>l});var n=a(20354),r=a(98064);function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function l(e){var t,a,o=e.folderId,l=e.firstItem,c=e.lastItem,s=e.getAppLink,d=n.a.useBasicFetch(r.D.folderParentTree(o));if(!(null===(a=null===(t=d.data)||void 0===t?void 0:t.children)||void 0===a?void 0:a.length))return[];for(var u=d.data.children.map((function(e){return{node:e,path:[e]}})),m=[],p=function(){var e=u.pop(),t=e.node,a=e.path;t.data.id.toString()===o.toString()&&(m=a.map((function(e){return{name:e.data.name,appLink:s(e)}}))),t.children&&u.push.apply(u,i(t.children.map((function(e){return{node:e,path:[].concat(i(a),[e])}}))))};u.length;)p();return l&&m.unshift(l),c&&m.push(c),m[m.length-1].active=!0,m}},5859:(e,t,a)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,{u:()=>i});var r={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign(Object.assign({},r),t);return(e=Array(a.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*a.maxWidth),a.minWidth),"px")}}))}}},29181:(e,t,a)=>{a.r(t),a.d(t,{MyVideosFolderView:()=>J});var n=a(32735),r=a(81886),i=a(20354),o=a(28400),l=a(65858),c=a(43500),s=a(83657),d=a(49935),u=a(73518),m=a(83834),p=a(65403),v=a(10874),f=a(37395),g=a(4201),h=a(83345),y=a(74696),E=a(30254),b=a(13231),k=a(51365),A=a(1666),S=a(98064),V=a(31949),I=a(299),L=a(91286),F=a(22902),M=a(37802),O=a(35223),w=a(35949),D=a(14070),N=a(97291),_=a(51855),C=a(27638),x=a(44110),B=a(10741),P=a(22490),T=a(98860),Y=a(12617),R=a(45967),G=a(23481),j=a(17087),W=G.T.encloseNamespace("myVideos.hooks"),H=a(65202),X=a(74796),U=a(82431),$=a(18097),Q=a(14305),Z=a(61970);const q={uploadingList:"BrRqF"};var z="default.myVideosFolders";function J(e){var t,a,G,J,K,ee,te=i.a.useGetFetch(),ae=(0,C.u)(l.LZ.VideoThumbnail),ne=ae.setFavourite,re=ae.canFavourite,ie=(0,x.i)(),oe=(0,R.q)().handleDragEnd,le=(0,g.of)().focusSearchBar,ce=(0,_.G)().isPlugin,se=i.a.useBasicFetch(S.D.folder(e.id)),de=(0,T.P)(e.id),ue=i.a.useBasicFetch(V.N.currentUser()),me=i.a.useBasicFetch((null===(t=ue.data)||void 0===t?void 0:t.isAuthenticated)&&A.h.yearGroups(ue.data.customerId)),pe=i.a.useBasicFetch((null===(a=ue.data)||void 0===a?void 0:a.isAuthenticated)&&V.N.workspace());(0,L.v)(se);var ve,fe=(ve=e.id,(0,j.T)({folderId:ve,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.data.id,o.m.slugify(e.data.name)]}},firstItem:{name:W("myVideos"),appLink:{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS}}})),ge=(0,X.f)(),he=(0,M.r)(null),ye=he.myVideosFolders,Ee=he.isLoadingSettings;n.useEffect((function(){Ee||ye||r.Q.C$.trigger({application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS},{replace:!0})}),[ye,Ee]);var be=(0,Z.y)(),ke=(0,Z.W)(null===(G=pe.data)||void 0===G?void 0:G.id,e.id),Ae=(0,F.T)().hasPermissions,Se=function(t,a){return Y.E.videos(e.id,t,a)},Ve=i.a.useBasicFetch(Se(e.cursor,e.typeFilter));(0,L.v)(Ve);var Ie=(0,H.J)({onRemove:function(e,t){return te(Se(e,t))},categoryId:+e.id}),Le=Ie.uploadingVideos,Fe=Ie.onClickAlternate,Me=Ie.onClickDelete,Oe=Ie.processingIds,we=null===(K=null===(J=Ve.data)||void 0===J?void 0:J.data)||void 0===K?void 0:K.filter((function(e){return!Oe[e.id]})),De=(0,I.X)(we);return se.data?n.createElement(k.M.Provider,{value:be},n.createElement("div",{className:"px-3"},n.createElement("div",{className:"d-flex justify-content-between align-items-start"},n.createElement("h1",{className:"h2 mb-0"},se.data.name),n.createElement("div",{className:"d-sm-flex d-none ms-2"},n.createElement(v.h,{svgName:O.vn.Search,appLink:{application:N.O.SEARCH,action:D.e.Search.HOME,params:{source:c.fi.MyVideos}},className:"btn btn-outline-dark me-2",onClick:le,analyticsData:{},analyticsOptions:{entity:l.py.SearchResults,location:l.LZ.MyVideos,actionType:l.Vw.Click,descriptor:l.Bk.MyVideos}},n.createElement(h.x,{namespace:z,phrase:"searchMyVideos"})),n.createElement(s.e,{actions:ge("page",se.data),actionsDropdownClassName:"btn btn-outline-dark"}))),n.createElement("div",{className:"mt-3"},n.createElement(d.Oo,{breadcrumbs:fe})),n.createElement("hr",null),!(null==de?void 0:de.hasCompleted)&&n.createElement(p.i,null),n.createElement(u.p,{handleDragEnd:oe,dragOverlayComponent:w.U,source:se.data},!!(null===(ee=null==de?void 0:de.items)||void 0===ee?void 0:ee.length)&&n.createElement("div",{className:"mx-n2"},n.createElement(m.$,{folders:de.items,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(e.name)]}},expandFolders:!1,getFolderActions:function(e){return ge("folder",e)},drag:!0,drop:!0})),n.createElement(E.X,{allowBulkAction:!0,allowFilter:!0,isVideosLoading:!Ve.data,checkboxHelper:De,getVideosBulkAction:ke,locationContext:l.LZ.MyVideos,typeFilter:e.typeFilter,getAppLink:function(){var t;return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(null===(t=se.data)||void 0===t?void 0:t.name)]}}}),!!(null==Le?void 0:Le.length)&&n.createElement("div",{className:"position-relative ".concat(q.uploadingList)},Le.map((function(e){return n.createElement($.X,{item:e,onClickAlternate:Fe,onClickDelete:Me,key:e.id,allowBulkAction:!0})}))),function(){var t,a,r,i;return Ve.data?(null===(a=null===(t=Ve.data)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)?n.createElement(n.Fragment,null,n.createElement(b.E4,{videos:we,yearGroups:me.data,getVideoAppLink:P.W.getAppLink,getSubTextAppLink:function(e){return U.j.getSeriesAppLink(e.series)},setFavourite:ne,canFavourite:re,presentationAudiences:ie.data,canRemovePrivateVideos:!0,allowBulkAction:!0,hasPermissions:Ae,getVideosBulkAction:ke,typeFilter:e.typeFilter,checkboxHelper:De,drag:!0,getPreviewQuestionsAppLink:function(e){return B.j.getPreviewQuestionsAppLink(e)},isPlugin:ce,getClassroomGuideAppLink:P.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:P.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:P.W.getResourceGuidanceAppLink}),!!(null===(i=null===(r=Ve.data)||void 0===r?void 0:r.pagination)||void 0===i?void 0:i.cursors)&&n.createElement(f.t,{appLink:{action:D.e.MyVideos.MY_VIDEOS_FOLDER,application:N.O.MY_VIDEOS,args:[e.id,o.m.slugify(se.data.name)],params:{cursor:e.cursor,previous:e.previous,type:e.typeFilter}},cursors:{next:Ve.data.pagination.cursors.next,previous:e.cursor},buttonVariant:"outline-dark",className:"py-2 float-end",scrollTop:!0,prevHack:!0})):n.createElement(Q.K,null):n.createElement(y.S,{allowBulkActions:!0})}()))):n.createElement(n.Fragment,null)}}}]);
2
- //# sourceMappingURL=5364-b081f5e1ca-lite.chunk.js.map
2
+ //# sourceMappingURL=5364-fe4a00711f-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5364-b081f5e1ca-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useGetFolderBreadCrumbs.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/my-videos-folders.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/MyVideosFolderView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(LibraryRequests.folderParentTree(folderId));\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetFolderBreadcrumbs(folderId: string): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ object.data.id, TextHelper.slugify(object.data.name) ]\n }),\n firstItem: {\n name: getPhrase('myVideos'),\n appLink: {\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }\n }\n });\n}","// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"BrRqF\"};","import React from 'react';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, Folder, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, CurrentUser, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useGetFolderBreadcrumbs } from 'apps/my-videos/hooks/useGetFolderBreadCrumbs';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport { MyVideosEmptyState } from '../my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from '../my-videos/MyVideosViewUtils';\n\nimport styles from './my-videos-folders.scss';\n\nconst namespace = 'default.myVideosFolders';\n\ninterface MyVideosFolderViewProps {\n id: string;\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosFolderView(props: MyVideosFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const audiences = usePresentationAudiences();\n const { handleDragEnd } = useDragDropMove();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.id));\n const subfolders = useFetchAllChildFolders(props.id);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n\n\n useHandleObjectError(folder);\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.id);\n const getFolderActions = useGetFolderActions();\n\n // TODO: Remove this redirect when we release my videos with folders.\n const { myVideosFolders, isLoadingSettings } = useSettings(null);\n React.useEffect(() => {\n if (isLoadingSettings || myVideosFolders)\n return;\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }, { replace: true });\n }, [ myVideosFolders, isLoadingSettings ]);\n\n const getVideoItemActions = useMyVideosViewActions();\n const getVideosBulkActions = useMyVideosViewBulkActions(workspace.data?.id, props.id);\n const { hasPermissions } = usePermissions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(props.id, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return fetch(getMyVideosRequest(cursor, typeFilter));\n };\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext, categoryId: +props.id });\n\n const omittedVideos = videos.data?.data?.filter(v => !processingIds[v.id]);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n application: AppChannels.MY_VIDEOS,\n args: [ props.id, TextHelper.slugify(folder.data.name) ],\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n\n if (!folder.data)\n return <></>;\n\n return (\n <VideoActionsContext.Provider value={getVideoItemActions}>\n <div className='px-3'>\n <div className='d-flex justify-content-between align-items-start'>\n <h1 className='h2 mb-0'>{folder.data.name}</h1>\n <div className='d-sm-flex d-none ms-2'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <ActionsComponent\n actions={getFolderActions('page', folder.data)}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n </div>\n <div className='mt-3'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n <hr />\n {!subfolders?.hasCompleted && <PartialFolderList />}\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={folder.data}\n >\n {!!subfolders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n isVideosLoading={!videos.data}\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosBulkActions}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ props.id, TextHelper.slugify(folder.data?.name) ]\n })}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!videos.data)\n return <PartialVideoList allowBulkActions />;\n\n if (!videos.data?.data?.length)\n return <MyVideosEmptyState />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n hasPermissions={hasPermissions}\n getVideosBulkAction={getVideosBulkActions}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n drag\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","data","children","searchStack","c","node","path","pop","id","toString","object","push","unshift","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","getPhrase","LanguageService","MyVideosFolderView","props","fetch","useLiteFavourites","u","setFavourite","canFavourite","audiences","usePresentationAudiences","handleDragEnd","useDragDropMove","focusSearchBar","isPlugin","usePluginHelper","folder","LibraryRequests","subfolders","currentUser","UserRequests","yearGroups","isAuthenticated","CustomerRequests","customerId","workspace","application","action","args","TextHelper","useSettings","myVideosFolders","isLoadingSettings","replace","getVideoItemActions","getVideosBulkActions","hasPermissions","usePermissions","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","videos","useUploadItems","onRemove","categoryId","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","filter","v","CheckboxHelper","useBulkCheckboxManager","VideoActionsContext","value","IconButton","params","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","Text","namespace","phrase","Actions","actions","actionsDropdownClassName","hasCompleted","PartialFolderList","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","items","FolderList","folders","f","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","isVideosLoading","checkboxHelper","getVideosBulkAction","locationContext","uploadingVideo","UploadingItem","item","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","previous","type","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5364-fe4a00711f-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useGetFolderBreadCrumbs.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/my-videos-folders.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/MyVideosFolderView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(LibraryRequests.folderParentTree(folderId));\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetFolderBreadcrumbs(folderId: string): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ object.data.id, TextHelper.slugify(object.data.name) ]\n }),\n firstItem: {\n name: getPhrase('myVideos'),\n appLink: {\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }\n }\n });\n}","// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"BrRqF\"};","import React from 'react';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, Folder, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, CurrentUser, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useGetFolderBreadcrumbs } from 'apps/my-videos/hooks/useGetFolderBreadCrumbs';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport { MyVideosEmptyState } from '../my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from '../my-videos/MyVideosViewUtils';\n\nimport styles from './my-videos-folders.scss';\n\nconst namespace = 'default.myVideosFolders';\n\ninterface MyVideosFolderViewProps {\n id: string;\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosFolderView(props: MyVideosFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const audiences = usePresentationAudiences();\n const { handleDragEnd } = useDragDropMove();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.id));\n const subfolders = useFetchAllChildFolders(props.id);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n\n\n useHandleObjectError(folder);\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.id);\n const getFolderActions = useGetFolderActions();\n\n // TODO: Remove this redirect when we release my videos with folders.\n const { myVideosFolders, isLoadingSettings } = useSettings(null);\n React.useEffect(() => {\n if (isLoadingSettings || myVideosFolders)\n return;\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }, { replace: true });\n }, [ myVideosFolders, isLoadingSettings ]);\n\n const getVideoItemActions = useMyVideosViewActions();\n const getVideosBulkActions = useMyVideosViewBulkActions(workspace.data?.id, props.id);\n const { hasPermissions } = usePermissions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(props.id, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return fetch(getMyVideosRequest(cursor, typeFilter));\n };\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext, categoryId: +props.id });\n\n const omittedVideos = videos.data?.data?.filter(v => !processingIds[v.id]);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n application: AppChannels.MY_VIDEOS,\n args: [ props.id, TextHelper.slugify(folder.data.name) ],\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n\n if (!folder.data)\n return <></>;\n\n return (\n <VideoActionsContext.Provider value={getVideoItemActions}>\n <div className='px-3'>\n <div className='d-flex justify-content-between align-items-start'>\n <h1 className='h2 mb-0'>{folder.data.name}</h1>\n <div className='d-sm-flex d-none ms-2'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <ActionsComponent\n actions={getFolderActions('page', folder.data)}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n </div>\n <div className='mt-3'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n <hr />\n {!subfolders?.hasCompleted && <PartialFolderList />}\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={folder.data}\n >\n {!!subfolders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n isVideosLoading={!videos.data}\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosBulkActions}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ props.id, TextHelper.slugify(folder.data?.name) ]\n })}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!videos.data)\n return <PartialVideoList allowBulkActions />;\n\n if (!videos.data?.data?.length)\n return <MyVideosEmptyState />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n hasPermissions={hasPermissions}\n getVideosBulkAction={getVideosBulkActions}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n drag\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","data","children","searchStack","c","node","path","pop","id","toString","object","push","unshift","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","getPhrase","LanguageService","MyVideosFolderView","props","fetch","useLiteFavourites","u","setFavourite","canFavourite","audiences","usePresentationAudiences","handleDragEnd","useDragDropMove","focusSearchBar","isPlugin","usePluginHelper","folder","LibraryRequests","subfolders","currentUser","UserRequests","yearGroups","isAuthenticated","CustomerRequests","customerId","workspace","application","action","args","TextHelper","useSettings","myVideosFolders","isLoadingSettings","replace","getVideoItemActions","getVideosBulkActions","hasPermissions","usePermissions","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","videos","useUploadItems","onRemove","categoryId","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","filter","v","CheckboxHelper","useBulkCheckboxManager","VideoActionsContext","value","IconButton","params","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","Text","namespace","phrase","Actions","actions","actionsDropdownClassName","hasCompleted","PartialFolderList","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","items","FolderList","folders","f","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","isVideosLoading","checkboxHelper","getVideosBulkAction","locationContext","uploadingVideo","UploadingItem","item","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","previous","type","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5725,1539],{67537:(e,i,t)=>{t.r(i),t.d(i,{SharedPlaylistView:()=>n});var r=t(32735),a=t(20354),c=t(31949),s=t(6263),l=t(82431);function n(e){var i=a.a.useBasicFetch(c.N.currentUser());return r.createElement(s.PlaylistView,{key:e.objectId,shareId:e.shareId,playlistId:e.objectId,getSeriesAppLink:function(e){var t;if(null===(t=i.data)||void 0===t?void 0:t.isAuthenticated)return l.j.getSeriesAppLink(e)}})}}}]);
2
- //# sourceMappingURL=5725-6792ca3e92-lite.chunk.js.map
2
+ //# sourceMappingURL=5725-1592727a8f-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5725-6792ca3e92-lite.chunk.js","mappings":"2NAWM,SAAUA,EAAmBC,GACjC,IAAMC,EAAc,kBAAkC,mBAStD,OACE,gBAAC,EAAAC,aAAY,CACXC,IAAKH,EAAMI,SACXC,QAASL,EAAMK,QACfC,WAAYN,EAAMI,SAClBG,iBAZqB,SAACC,G,MACxB,GAAqB,QAAhB,EAAAP,EAAYQ,YAAI,eAAEC,gBAGvB,OAAO,qBAAqCF,EAC9C,GAUF,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-playlist/SharedPlaylistView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Series } from 'libs/shared/interfaces';\n\nimport { PlaylistView } from 'apps/playlists/views/playlist/PlaylistView';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedPlaylistView(props: ShareLinkViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const getSeriesAppLink = (series: Series) => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n return SeriesAppLinkHelper.getSeriesAppLink(series);\n };\n\n return (\n <PlaylistView\n key={props.objectId}\n shareId={props.shareId}\n playlistId={props.objectId}\n getSeriesAppLink={getSeriesAppLink}\n />\n );\n}"],"names":["SharedPlaylistView","props","currentUser","PlaylistView","key","objectId","shareId","playlistId","getSeriesAppLink","series","data","isAuthenticated"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5725-1592727a8f-lite.chunk.js","mappings":"2NAWM,SAAUA,EAAmBC,GACjC,IAAMC,EAAc,kBAAkC,mBAStD,OACE,gBAAC,EAAAC,aAAY,CACXC,IAAKH,EAAMI,SACXC,QAASL,EAAMK,QACfC,WAAYN,EAAMI,SAClBG,iBAZqB,SAACC,G,MACxB,GAAqB,QAAhB,EAAAP,EAAYQ,YAAI,eAAEC,gBAGvB,OAAO,qBAAqCF,EAC9C,GAUF,C","sources":["file:///app/packages/projects/lite/src/apps/share/views/shared-playlist/SharedPlaylistView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser, Series } from 'libs/shared/interfaces';\n\nimport { PlaylistView } from 'apps/playlists/views/playlist/PlaylistView';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { ShareLinkViewProps } from 'apps/share/interfaces/ShareLinkViewProps';\n\nexport function SharedPlaylistView(props: ShareLinkViewProps): JSX.Element {\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n const getSeriesAppLink = (series: Series) => {\n if (!currentUser.data?.isAuthenticated)\n return;\n\n return SeriesAppLinkHelper.getSeriesAppLink(series);\n };\n\n return (\n <PlaylistView\n key={props.objectId}\n shareId={props.shareId}\n playlistId={props.objectId}\n getSeriesAppLink={getSeriesAppLink}\n />\n );\n}"],"names":["SharedPlaylistView","props","currentUser","PlaylistView","key","objectId","shareId","playlistId","getSeriesAppLink","series","data","isAuthenticated"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5769],{49935:(e,a,t)=>{t.d(a,{Oo:()=>u,b2:()=>d});var n=t(32735),i=t(36848),r=t(86764),c=t(3747),l=t(5859),s=t(35223),o=t(83914),m=function(e){var a=e.breadcrumb,t=a.name,r=a.appLink,c=a.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?n.createElement("strong",null,t):n.createElement(i.F,{appLink:r},l&&n.createElement(o.x,{svgName:s.vn.ChevronLeft,size:o.S.Small}),n.createElement("span",{className:l?"ms-2":""},t)))},u=function(e){var a=e.breadcrumbs,t=(0,c.a)(r.r.XS),i=null==a?void 0:a.length;return!i||t&&i<2?n.createElement(n.Fragment,null):t?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(m,{breadcrumb:a[i-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},a.map((function(e,a){return n.createElement(m,{key:a,breadcrumb:e})}))))},d=n.memo((function(e){var a=e.numItems,t=void 0===a?3:a;return(0,c.a)(r.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:t}).map((function(e,a){var t=e.width;return n.createElement("li",{key:a,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:t},dangerouslySetInnerHTML:{__html:"&nbsp"}}))}))))}))},74696:(e,a,t)=>{t.d(a,{S:()=>o});var n=t(32735),i=t(68050),r=t(69111),c=t(9977),l=t(79967);const s={partialOptions:"Gufgq",partialName:"SicQQ",partialDescription:"dPGMq",partialThumbnail:"vZrnb",partialDragHandle:"iq73R"};function o(e){return n.createElement("div",{className:"mx-2"},Array(e.numVideos).fill(null).map((function(a,t){return n.createElement("div",{className:"d-flex",key:t},e.allowBulkActions&&n.createElement("div",{className:"form-check pe-3 pe-sm-2 mx-0 mx-md-2"}),n.createElement(m,Object.assign({},e)))})))}function m(e){var a=(0,l.k)(),t="sm"===c.O.getSize(a,"md"),o=e.withReordering&&!a.xs;return n.createElement(i.Z,{className:"".concat(t?"":"py-2"," flex-grow-1")},n.createElement(r.Z,Object.assign({},c.O.getThumbnailColumns(),{className:"flex-column align-items-flex-start ".concat(t?"pb-2 pe-1":"mb-1 pe-3 pe-md-2")}),n.createElement(i.Z,null,!!o&&n.createElement("div",{className:"d-flex align-items-center justify-content-center col-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialDragHandle)})),n.createElement(r.Z,{xs:c.O.getThumbnailColSize(o)},n.createElement("div",{className:"partial-loading-background ".concat(t?"rounded":"rounded-3"," ").concat(s.partialThumbnail)})))),n.createElement(r.Z,Object.assign({},c.O.getDetailsColumns(),{className:t?"pb-2":"px-2"}),n.createElement("div",{className:"partial-loading-background mb-1 ".concat(s.partialName)}),n.createElement("div",{className:"partial-loading-background ".concat(s.partialDescription)})))}o.defaultProps={numVideos:15}},5859:(e,a,t)=>{function n(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=Array(a);t<a;t++)n[t]=e[t];return n}t.d(a,{u:()=>r});var i={numItems:5,minWidth:50,maxWidth:100},r={getPartialLoadingItems:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign(Object.assign({},i),a);return(e=Array(t.numItems),function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,a){if(e){if("string"==typeof e)return n(e,a);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?n(e,a):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*t.maxWidth),t.minWidth),"px")}}))}}},44110:(e,a,t)=>{t.d(a,{i:()=>c});var n=t(20354),i=t(89454),r=t(86698),c=function(){var e=(0,r.y)({redirectOnError:!0}),a=e.activePresentation,t=e.getFallbackPresentation,c=a||t();return n.a.useBasicFetch(!!c&&i.O.presentationAudiences(c.id))}},35014:(e,a,t)=>{t.d(a,{I:()=>s});var n=t(16714),i=t(12754),r=t(22902),c=t(15311),l=t(11387);function s(){var e=(0,r.T)(),a=e.hasPermissions,t=e.hasLocalPermissions,s=(0,(0,c.r)().hasProduct)(i.x.Primary);return{canViewGlance:a(n.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:s&&a(n.C.ViewVideoInteractives),canViewClips:s&&a(n.C.ViewVideoClips),canViewCurriculumLinks:a(n.C.ViewCurriculums),canUseActions:t(n.E.UseVideoActions),canViewPublicLayout:!t(n.E.WatchVideos)&&l.C.hasRegionPrefix(),canViewResourceItems:t(n.E.ViewVideoResourceItems),canNavigate:s}}},28891:(e,a,t)=>{t.r(a),t.d(a,{ClipInteractivesView:()=>S});var n=t(32735),i=t(81886),r=t(23481),c=t(20354),l=t(28400),s=t(65858),o=t(49935),m=t(13231),u=t(51365),d=t(183),p=t(43012),v=t(39151),g=t(1666),b=t(20768),f=t(31949),h=t(22902),E=t(14070),k=t(97291),I=t(51855),y=t(10671),w=t(27638),C=t(44110),V=t(35014),N=t(10741),L=t(22490),A=t(98620),O=t(82431),x=t(16747),P=r.T.encloseNamespace("shared.videoMedia");function S(e){var a,t,r,S,j=e.clipId,F=(0,w.u)(s.LZ.VideoThumbnail),G=F.setFavourite,T=F.canFavourite,W=(0,I.G)().isPlugin,_=(0,y._)({location:y.i.VideoItem}),B=(0,V.I)(),R=c.a.useBasicFetch(f.N.currentUser()),M=c.a.useBasicFetch(R.data.isAuthenticated&&g.h.yearGroups(R.data.customerId)),D=c.a.useBasicFetch(B.canViewClips&&p.e.clip(j)),Z=c.a.useBasicFetch(B.canViewInteractives&&b.b.videoInteractives(j)),H=null==Z?void 0:Z.data,Q=(null==H?void 0:H.length)||0,U=c.a.useBasicFetch(v.L.config()),Y="".concat(P("interactivesHeading")," (").concat(Q||"",")"),q=(0,C.i)(),z=(0,h.T)().hasPermissions,X=[{name:null===(a=D.data)||void 0===a?void 0:a.name,appLink:Object.assign(Object.assign({},A.Y.playClip),{args:[j,l.m.slugify(null===(t=D.data)||void 0===t?void 0:t.name)]})},{name:Y,appLink:{application:k.O.CLIPS,action:E.e.Clips.CLIP_INTERACTIVES,args:[j,l.m.slugify(null===(r=D.data)||void 0===r?void 0:r.name)]},active:!0}];return n.useEffect((function(){B.canViewInteractives||function(){var e;i.Q.C$.trigger(Object.assign(Object.assign({},A.Y.playClip),{args:[j,l.m.slugify(null===(e=D.data)||void 0===e?void 0:e.name)]}),{replace:!0})}()}),[B.canViewInteractives]),D.data&&(null==H?void 0:H.length)&&U.hasCompleted?n.createElement(u.M.Provider,{value:_},n.createElement("div",{className:"px-3"},n.createElement("h1",{className:"h2 mb-2"},Y),n.createElement("div",{className:"mb-2"},n.createElement(o.Oo,{breadcrumbs:X})),n.createElement(m.E4,{videos:H,yearGroups:M.data,getVideoAppLink:function(a,t){return L.W.getAppLink(a,Object.assign(Object.assign({},t),{context:d.Q.Widget,contextId:e.clipId}))},hasPermissions:z,getSubTextAppLink:function(e){return O.j.getSeriesAppLink(e.series)},setFavourite:G,canFavourite:T,presentationAudiences:q.data,getPreviewQuestionsAppLink:function(e){return N.j.getPreviewQuestionsAppLink(e)},imageCdnUrl:null===(S=U.data)||void 0===S?void 0:S.imageCdnUrl,isPlugin:W,getClassroomGuideAppLink:L.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:L.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:L.W.getResourceGuidanceAppLink}))):n.createElement(x.l,null)}},98620:(e,a,t)=>{t.d(a,{Y:()=>r});var n=t(14070),i=t(97291),r={playVideo:{application:i.O.VIDEOS,action:n.e.Videos.PLAY_VIDEO},playClip:{application:i.O.CLIPS,action:n.e.Clips.PLAY_CLIP}}},16747:(e,a,t)=>{t.d(a,{l:()=>l});var n=t(32735),i=t(49935),r=t(74696);const c={partialHeading:"okxfx"};function l(){return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"partial-loading-background mb-2 ".concat(c.partialHeading)}),n.createElement("div",{className:"mb-2"},n.createElement(i.b2,null)),n.createElement(r.S,null))}}}]);
2
- //# sourceMappingURL=5769-34ad224f5f-lite.chunk.js.map
2
+ //# sourceMappingURL=5769-e9f596e2b2-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5769-34ad224f5f-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/projects/lite/src/shared/views/video-media/ClipInteractivesView.tsx","file:///app/packages/projects/lite/src/shared/views/video-media/VideoMediaAppLinks.ts","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/partial-video-media-view.scss","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/PartialVideoMediaView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { PartialVideoMediaView } from './partial-loading/PartialVideoMediaView';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipInteractivesViewProps {\n clipId: string;\n}\n\nexport function ClipInteractivesView(props: ClipInteractivesViewProps): JSX.Element {\n const { clipId } = props;\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const clip = Flight.useBasicFetch<Clip>(featureAccess.canViewClips && ClipRequests.clip(clipId));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(clipId)\n );\n const content = interactives?.data;\n const count = content?.length || 0;\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = `${getPhrase('interactivesHeading')} (${count || ''})`;\n\n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const breadcrumbs: Breadcrumb[] = [{\n name: clip.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.CLIP_INTERACTIVES,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewInteractives) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewInteractives]);\n\n if (!clip.data || !content?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={content}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.clipId\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const VideoMediaAppLinks = {\n playVideo: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO\n },\n playClip: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"okxfx\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-video-media-view.scss';\n\nexport function PartialVideoMediaView(): JSX.Element {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='mb-2'>\n <PartialBreadcrumbs/>\n </div>\n <PartialVideoList />\n </div>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","PartialVideoList","props","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","getPhrase","ClipInteractivesView","clipId","u","setFavourite","canFavourite","isPlugin","videoActions","location","featureAccess","currentUser","yearGroups","data","isAuthenticated","customerId","clip","interactives","content","count","config","title","audiences","args","application","action","replace","redirectToPlaypage","hasCompleted","value","videos","getVideoAppLink","video","context","contextId","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","VideoMediaAppLinks","playVideo","playClip","PartialVideoMediaView"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5769-e9f596e2b2-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/video-list/partial-loading/partial-video-list.scss","file:///app/packages/libs/shared/src/components/video-list/partial-loading/PartialVideoList.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/projects/lite/src/shared/views/video-media/ClipInteractivesView.tsx","file:///app/packages/projects/lite/src/shared/views/video-media/VideoMediaAppLinks.ts","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/partial-video-media-view.scss","file:///app/packages/projects/lite/src/shared/views/video-media/partial-loading/PartialVideoMediaView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: '&nbsp' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"partialOptions\":\"Gufgq\",\"partialName\":\"SicQQ\",\"partialDescription\":\"dPGMq\",\"partialThumbnail\":\"vZrnb\",\"partialDragHandle\":\"iq73R\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\n\nimport { VideoListHelper } from 'libs/shared/components/video-list/VideoListHelper';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport styles from './partial-video-list.scss';\n\ninterface PartialVideoListProps {\n withReordering?: boolean;\n numVideos?: number;\n allowBulkActions?: boolean;\n}\n\nPartialVideoList.defaultProps = {\n numVideos: 15\n};\n\nexport function PartialVideoList(props: PartialVideoListProps): JSX.Element {\n return (\n <div className='mx-2'>\n {Array(props.numVideos).fill(null).map((_, i) => (\n <div className='d-flex' key={i}>\n {props.allowBulkActions && <div className='form-check pe-3 pe-sm-2 mx-0 mx-md-2' />}\n <PartialVideoItem {...props} />\n </div>\n ))}\n </div>\n );\n}\n\nexport function PartialVideoItem(props: PartialVideoListProps): JSX.Element {\n const breakpoints = useBreakpoints();\n\n const size = VideoListHelper.getSize(breakpoints, 'md');\n const isSmall = size === 'sm';\n\n const withDragHandle = props.withReordering && !breakpoints.xs;\n\n return (\n <Row className={`${isSmall ? '' : 'py-2'} flex-grow-1`}>\n <Col {...VideoListHelper.getThumbnailColumns()} className={`flex-column align-items-flex-start ${isSmall ? `pb-2 pe-1` : 'mb-1 pe-3 pe-md-2'}`}>\n <Row>\n {!!withDragHandle && (\n <div className='d-flex align-items-center justify-content-center col-2'>\n <div className={`partial-loading-background ${styles.partialDragHandle}`} />\n </div>\n )}\n <Col xs={VideoListHelper.getThumbnailColSize(withDragHandle)}>\n <div className={`partial-loading-background ${isSmall ? 'rounded' : 'rounded-3'} ${styles.partialThumbnail}`} />\n </Col>\n </Row>\n </Col>\n <Col {...VideoListHelper.getDetailsColumns()} className={isSmall ? 'pb-2' : 'px-2'}>\n <div className={`partial-loading-background mb-1 ${styles.partialName}`} />\n <div className={`partial-loading-background ${styles.partialDescription}`} />\n </Col>\n </Row>\n );\n}\n\n","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { RelatedVideosContext } from 'libs/shared/enums/RelatedVideosContext';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { VideoMediaAppLinks } from 'shared/views/video-media/VideoMediaAppLinks';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { PartialVideoMediaView } from './partial-loading/PartialVideoMediaView';\n\nconst namespace = 'shared.videoMedia';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClipInteractivesViewProps {\n clipId: string;\n}\n\nexport function ClipInteractivesView(props: ClipInteractivesViewProps): JSX.Element {\n const { clipId } = props;\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { isPlugin } = usePluginHelper();\n \n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const featureAccess = useVideoFeatureAccess();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const clip = Flight.useBasicFetch<Clip>(featureAccess.canViewClips && ClipRequests.clip(clipId));\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(\n featureAccess.canViewInteractives && InteractiveRequests.videoInteractives(clipId)\n );\n const content = interactives?.data;\n const count = content?.length || 0;\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n\n const title = `${getPhrase('interactivesHeading')} (${count || ''})`;\n\n const audiences = usePresentationAudiences();\n const { hasPermissions } = usePermissions();\n\n const breadcrumbs: Breadcrumb[] = [{\n name: clip.data?.name,\n appLink: {\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }\n }, {\n name: title,\n appLink: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.CLIP_INTERACTIVES,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n },\n active: true\n }];\n\n function redirectToPlaypage(): void {\n Core.AppLinkHelper.trigger({\n ...VideoMediaAppLinks.playClip,\n args: [ clipId, TextHelper.slugify(clip.data?.name) ]\n }, { replace: true });\n }\n\n React.useEffect(() => {\n if (!featureAccess.canViewInteractives) {\n redirectToPlaypage();\n }\n }, [featureAccess.canViewInteractives]);\n\n if (!clip.data || !content?.length || !config.hasCompleted)\n return <PartialVideoMediaView />;\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n <h1 className='h2 mb-2'>{title}</h1>\n \n <div className='mb-2'>\n <Breadcrumbs breadcrumbs={breadcrumbs}/>\n </div>\n\n <VideoList\n videos={content}\n yearGroups={yearGroups.data}\n getVideoAppLink={(video, opts) => VideoAppLinkHelper.getAppLink(video, {\n ...opts,\n context: RelatedVideosContext.Widget,\n contextId: props.clipId\n })}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n </div>\n </VideoActionsContext.Provider>\n );\n}","\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport const VideoMediaAppLinks = {\n playVideo: {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO\n },\n playClip: {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"okxfx\"};","import React from 'react';\n\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './partial-video-media-view.scss';\n\nexport function PartialVideoMediaView(): JSX.Element {\n return (\n <div className='px-3'>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n <div className='mb-2'>\n <PartialBreadcrumbs/>\n </div>\n <PartialVideoList />\n </div>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","PartialVideoList","props","Array","numVideos","fill","_","i","allowBulkActions","PartialVideoItem","breakpoints","useBreakpoints","isSmall","VideoListHelper","withDragHandle","withReordering","xs","Row","Col","defaultProps","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Math","max","floor","random","usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","getPhrase","ClipInteractivesView","clipId","u","setFavourite","canFavourite","isPlugin","videoActions","location","featureAccess","currentUser","yearGroups","data","isAuthenticated","customerId","clip","interactives","content","count","config","title","audiences","args","application","action","replace","redirectToPlaypage","hasCompleted","value","videos","getVideoAppLink","video","context","contextId","getSubTextAppLink","series","presentationAudiences","getPreviewQuestionsAppLink","interactive","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","VideoMediaAppLinks","playVideo","playClip","PartialVideoMediaView"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5803],{44110:(e,i,t)=>{t.d(i,{i:()=>o});var n=t(20354),a=t(89454),c=t(86698),o=function(){var e=(0,c.y)({redirectOnError:!0}),i=e.activePresentation,t=e.getFallbackPresentation,o=i||t();return n.a.useBasicFetch(!!o&&a.O.presentationAudiences(o.id))}},35014:(e,i,t)=>{t.d(i,{I:()=>r});var n=t(16714),a=t(12754),c=t(22902),o=t(15311),s=t(11387);function r(){var e=(0,c.T)(),i=e.hasPermissions,t=e.hasLocalPermissions,r=(0,(0,o.r)().hasProduct)(a.x.Primary);return{canViewGlance:i(n.C.ViewVideoGlance),canViewResources:!0,canViewInteractives:r&&i(n.C.ViewVideoInteractives),canViewClips:r&&i(n.C.ViewVideoClips),canViewCurriculumLinks:i(n.C.ViewCurriculums),canUseActions:t(n.E.UseVideoActions),canViewPublicLayout:!t(n.E.WatchVideos)&&s.C.hasRegionPrefix(),canViewResourceItems:t(n.E.ViewVideoResourceItems),canNavigate:r}}},19894:(e,i,t)=>{t.r(i),t.d(i,{VideoGuidanceInteractivesView:()=>R});var n=t(32735),a=t(81886),c=t(20354),o=t(28400),s=t(49985),r=t(74254),l=t(42648),d=t(23481),p=t(9111),u=t(13876),v=t(65858),m=t(89118),g=t(51685),C=t(94696),k=t(70872),V=t(15469),P=t(54610),L=t(68626),w=t(80143);function y(e){var i,t,a,c=(0,w.n)(null===(i=e.interactive.subjectPresentationAudiences)||void 0===i?void 0:i.data,e.presentationAudiences);return n.createElement("div",{className:"row gx-0 py-2"},n.createElement("div",{className:"col-4"},n.createElement(m.u,{video:e.interactive,appLink:e.getInteractiveAppLink(e.interactive),onClick:e.onClickAppLink,audience:c,imageOptions:{size:P.h2.Medium},textPosition:L.z.Independent,type:"static",subTextType:"none",imageCdnUrl:e.imageCdnUrl,analyticsOptions:{entity:v.py.Interactive,actionType:v.Vw.Click,location:v.LZ.InteractivesGuidancePopup,descriptor:v._S.Thumbnail},isPlugin:e.isPlugin})),n.createElement("div",{className:"col-8 ps-2"},n.createElement(k.u,{video:e.interactive,appLink:e.getInteractiveAppLink(e.interactive),onClickAppLink:e.onClickAppLink,yearGroups:e.yearGroups,analyticsOptions:{entity:v.py.Interactive,actionType:v.Vw.Click,location:v.LZ.InteractivesGuidancePopup,descriptor:v._S.Title}}),e.canViewInteractives?n.createElement("div",{className:"pt-sm-1 pt-md-0"},n.createElement(V.r,{timepoints:null===(t=e.interactive._timepoints)||void 0===t?void 0:t.value,appLink:e.getInteractiveAppLink(e.interactive),previewAppLink:null===(a=e.getPreviewQuestionsAppLink)||void 0===a?void 0:a.call(e,e.interactive),onClickAppLink:e.onClickAppLink,totalToDisplay:3})):n.createElement(g.g,{video:e.interactive}),n.createElement(C.B,{video:e.interactive,yearGroups:e.yearGroups})))}var h="shared.videoGuidanceInteractivesPopup",A=350;function I(e){var i,t;return n.createElement(p.G,{closePopup:e.onClickClose,showLoadingSpinner:e.isLoading,title:e.isLoading?"":d.T.getPhrase(h,"interactives",{count:null===(t=null===(i=e.video.interactives)||void 0===i?void 0:i.data)||void 0===t?void 0:t.length}),size:"lg"},!e.isLoading&&n.createElement(n.Fragment,null,n.createElement(l.ZP,{autoHeight:!0,autoHeightMax:A,autoHeightMin:A},n.createElement("ul",{className:"list-unstyled"},e.interactives.map((function(i){return n.createElement("li",{key:i.id},n.createElement(y,{interactive:i,getInteractiveAppLink:e.getInteractiveAppLink,getPreviewQuestionsAppLink:e.getPreviewQuestionsAppLink,presentationAudiences:e.presentationAudiences,imageCdnUrl:e.imageCdnUrl,yearGroups:e.yearGroups,canViewInteractives:e.canViewInteractives,onClickAppLink:e.closePopup,isPlugin:e.isPlugin}))})))),n.createElement(u.u,null,n.createElement(u.u.Cancel,{onClick:e.onClickClose,text:d.T.getPhrase(h,"close")}),n.createElement(u.u.Submit,{text:d.T.getPhrase(h,"viewVideo"),variant:"dark",onClick:e.onClickViewVideo}))))}var E=t(4594),G=t(43012),f=t(39151),T=t(1666),U=t(20768),b=t(31949),O=t(1575),_=t(31908),x=t(14070),F=t(97291),B=t(51855),N=t(44110),Q=t(35014),M=t(10741),S=t(22490);function R(e){var i,t,l=(0,B.G)().isPlugin,d=c.a.useBasicFetch(b.N.currentUser()),p=c.a.useBasicFetch(f.L.config()),u=c.a.useBasicFetch(e.type===E.E.Video?O.R.video(e.id):G.e.clip(e.id)),v=c.a.useBasicFetch(U.b.videoInteractives(e.id)),m=(0,N.i)(),g=c.a.useBasicFetch((null===(i=d.data)||void 0===i?void 0:i.isAuthenticated)&&T.h.yearGroups(d.data.customerId)),C=(0,Q.I)();return n.createElement(I,{isLoading:function(){var e;return!(u.hasCompleted&&v.hasCompleted&&m.hasCompleted&&p.hasCompleted&&(g.hasCompleted||!(null===(e=d.data)||void 0===e?void 0:e.isAuthenticated)))}(),video:u.data,interactives:v.data,onClickClose:function(){s.k.logUserAction({id:u.data.id,name:u.data.name},{entity:_.M.isVideo(u.data)?r.py.Video:r.py.Clip,location:r.LZ.ClassroomGuidancePopup,actionType:r.Vw.Click,descriptor:r.od.Close}),e.closePopup()},onClickViewVideo:function(){if(s.k.logUserAction({id:u.data.id,name:u.data.name},{entity:_.M.isVideo(u.data)?r.py.Video:r.py.Clip,location:r.LZ.ClassroomGuidancePopup,actionType:r.Vw.Click,descriptor:r.od.ViewVideo}),_.M.isVideo(u.data))return a.Q.C$.trigger({application:F.O.VIDEOS,action:x.e.Videos.PLAY_VIDEO,args:[u.data.id,o.m.slugify(u.data.name)]}),void e.closePopup();a.Q.C$.trigger({application:F.O.CLIPS,action:x.e.Clips.PLAY_CLIP,args:[u.data.id,o.m.slugify(u.data.name)]}),e.closePopup()},getInteractiveAppLink:S.W.getAppLink,getPreviewQuestionsAppLink:M.j.getPreviewQuestionsAppLink,presentationAudiences:m.data,yearGroups:g.data,imageCdnUrl:null===(t=p.data)||void 0===t?void 0:t.imageCdnUrl,canViewInteractives:C.canViewInteractives,closePopup:e.closePopup,isPlugin:l})}}}]);
2
- //# sourceMappingURL=5803-0005a9eb66-lite.chunk.js.map
2
+ //# sourceMappingURL=5803-7db6af5411-lite.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scripts/5803-0005a9eb66-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/video-guidance/interactives/item/VideoGuidanceInteractiveItem.tsx","file:///app/packages/libs/shared/src/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-interactives/VideoGuidanceInteractivesView.tsx"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemDescription } from 'libs/shared/components/video-list/components/video-item-description/VideoItemDescription';\nimport { VideoItemRestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { InteractiveItemQuestions } from 'libs/shared/components/video-list/interactive-item/InteractiveItemQuestions';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { InteractiveMetadata, PresentationAudience, YearGroup } from 'libs/shared/interfaces';\n\ninterface VideoGuidanceInteractiveItemProps {\n interactive: InteractiveMetadata;\n presentationAudiences: PresentationAudience[];\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n onClickAppLink: () => void;\n}\n\nexport function VideoGuidanceInteractiveItem(props: VideoGuidanceInteractiveItemProps): JSX.Element {\n const mergedAudience = useMergeAudiences(\n props.interactive.subjectPresentationAudiences?.data,\n props.presentationAudiences\n );\n\n return (\n <div className='row gx-0 py-2'>\n <div className='col-4'>\n <VideoThumbnail\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClick={props.onClickAppLink}\n audience={mergedAudience}\n imageOptions={{ size: ImageSize.Medium }}\n textPosition={ThumbnailTextPosition.Independent}\n type='static'\n subTextType='none'\n imageCdnUrl={props.imageCdnUrl}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Thumbnail\n }}\n isPlugin={props.isPlugin}\n />\n </div>\n\n <div className='col-8 ps-2'>\n <VideoItemTitle\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n yearGroups={props.yearGroups}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Title\n }}\n />\n\n {props.canViewInteractives ? (\n <div className='pt-sm-1 pt-md-0'>\n <InteractiveItemQuestions\n timepoints={props.interactive._timepoints?.value}\n appLink={props.getInteractiveAppLink(props.interactive)}\n previewAppLink={props.getPreviewQuestionsAppLink?.(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n totalToDisplay={3}\n />\n </div>\n ) : (\n <VideoItemDescription video={props.interactive} />\n )}\n\n <VideoItemRestrictionBadge video={props.interactive} yearGroups={props.yearGroups}/>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { InteractiveMetadata, PopupViewProps, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { VideoGuidanceInteractiveItem } from '../item/VideoGuidanceInteractiveItem';\n\nconst namespace = 'shared.videoGuidanceInteractivesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceInteractivesPopupProps extends PopupViewProps {\n isLoading: boolean;\n video: Video;\n interactives: InteractiveMetadata[];\n onClickClose: () => void;\n onClickViewVideo: () => void;\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n presentationAudiences: PresentationAudience[];\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n}\n\nexport function VideoGuidanceInteractivesPopup(props: VideoGuidanceInteractivesPopupProps): JSX.Element {\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'interactives', { count: props.video.interactives?.data?.length })\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeight autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT}>\n <ul className='list-unstyled'>\n {props.interactives.map(interactive => {\n return (\n <li key={interactive.id}>\n <VideoGuidanceInteractiveItem\n interactive={interactive}\n getInteractiveAppLink={props.getInteractiveAppLink}\n getPreviewQuestionsAppLink={props.getPreviewQuestionsAppLink}\n presentationAudiences={props.presentationAudiences}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n canViewInteractives={props.canViewInteractives}\n onClickAppLink={props.closePopup}\n isPlugin={props.isPlugin}\n />\n </li>\n );\n })}\n </ul>\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { VideoGuidanceInteractivesPopup } from 'libs/shared/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, PopupViewProps, Video, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\ninterface VideoGuidanceInteractivesViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\nexport function VideoGuidanceInteractivesView(props: VideoGuidanceInteractivesViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const presentationAudiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const featureAccess = useVideoFeatureAccess();\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n function isLoading(): boolean {\n return (\n !video.hasCompleted ||\n !interactives.hasCompleted ||\n !presentationAudiences.hasCompleted ||\n !config.hasCompleted ||\n (!yearGroups.hasCompleted && !!currentUser.data?.isAuthenticated)\n );\n }\n\n return (\n <VideoGuidanceInteractivesPopup\n isLoading={isLoading()}\n video={video.data}\n interactives={interactives.data}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n getInteractiveAppLink={VideoAppLinkHelper.getAppLink}\n getPreviewQuestionsAppLink={InteractiveHelpers.getPreviewQuestionsAppLink}\n presentationAudiences={presentationAudiences.data}\n yearGroups={yearGroups.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n canViewInteractives={featureAccess.canViewInteractives}\n closePopup={props.closePopup}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","VideoGuidanceInteractiveItem","props","mergedAudience","interactive","subjectPresentationAudiences","data","presentationAudiences","className","VideoThumbnail","video","appLink","getInteractiveAppLink","onClick","onClickAppLink","audience","imageOptions","size","textPosition","ThumbnailTextPosition","type","subTextType","imageCdnUrl","analyticsOptions","entity","actionType","location","descriptor","isPlugin","VideoItemTitle","yearGroups","InteractiveItemQuestions","timepoints","_timepoints","value","previewAppLink","getPreviewQuestionsAppLink","totalToDisplay","VideoItemDescription","VideoItemRestrictionBadge","namespace","MIN_MAX_HEIGHT","VideoGuidanceInteractivesPopup","Popup","closePopup","onClickClose","showLoadingSpinner","isLoading","title","LanguageService","count","interactives","length","autoHeight","autoHeightMax","autoHeightMin","map","key","PopupButtons","text","variant","onClickViewVideo","VideoGuidanceInteractivesView","usePluginHelper","currentUser","UserRequests","config","ConfigRequests","MasterType","VideoRequests","ClipRequests","InteractiveRequests","isAuthenticated","CustomerRequests","customerId","featureAccess","hasCompleted","AnalyticsHelper","name","VideoHelper","application","action","args","TextHelper","VideoAppLinkHelper","InteractiveHelper"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/5803-7db6af5411-lite.chunk.js","mappings":"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","sources":["file:///app/packages/projects/lite/src/shared/hooks/usePresentationAudiences.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoFeatureAccess.ts","file:///app/packages/libs/shared/src/components/video-guidance/interactives/item/VideoGuidanceInteractiveItem.tsx","file:///app/packages/libs/shared/src/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup.tsx","file:///app/packages/projects/lite/src/shared/views/video-guidance-interactives/VideoGuidanceInteractivesView.tsx"],"sourcesContent":["import { Flight } from 'libs/common/react/index';\n\nimport { AudienceRequests } from 'libs/shared/flight-requests/AudienceRequests';\nimport { PresentationAudience } from 'libs/shared/interfaces';\n\nimport { usePresentation } from 'shared/hooks/usePresentation';\n\nexport const usePresentationAudiences = () => {\n const { activePresentation, getFallbackPresentation } = usePresentation({ redirectOnError: true });\n\n const presentation = activePresentation || getFallbackPresentation();\n\n const audiences = Flight.useBasicFetch<PresentationAudience[]>(\n !!presentation &&\n AudienceRequests.presentationAudiences(presentation.id)\n );\n\n return audiences;\n};","import { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ProductId } from 'libs/shared/enums/ProductId';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useProducts } from 'libs/shared/hooks/UseProducts';\n\nimport { LiteRouteHelper } from 'shared/utils/LiteRouteHelper';\n\nexport interface VideoFeaturesHash {\n canViewGlance: boolean;\n canViewResources: boolean;\n canViewInteractives: boolean;\n canViewClips: boolean;\n canUseActions: boolean;\n canViewPublicLayout: boolean;\n canNavigate: boolean;\n canViewCurriculumLinks: boolean;\n canViewResourceItems: boolean;\n}\n\nexport function useVideoFeatureAccess() {\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasProduct } = useProducts();\n\n const hasNP = hasProduct(ProductId.Primary);\n\n function showPublicLayout(): boolean {\n /**\n * Authenticated users should never see the placeholder\n */\n if (hasLocalPermissions(LocalPermissionName.WatchVideos))\n return false;\n\n /**\n * Accessing a play page unathenticated will have different contextual behabviours:\n * - For a share page, the user should see the video and never the placeholder\n * - For a public browsing page (ie. using a route-prefix) they should see the placeholder\n */\n return LiteRouteHelper.hasRegionPrefix();\n }\n\n return {\n canViewGlance: hasPermissions(PermissionName.ViewVideoGlance),\n canViewResources: true,\n canViewInteractives: hasNP && hasPermissions(PermissionName.ViewVideoInteractives),\n canViewClips: hasNP && hasPermissions(PermissionName.ViewVideoClips),\n canViewCurriculumLinks: hasPermissions(PermissionName.ViewCurriculums),\n canUseActions: hasLocalPermissions(LocalPermissionName.UseVideoActions),\n canViewPublicLayout: showPublicLayout(),\n canViewResourceItems: hasLocalPermissions(LocalPermissionName.ViewVideoResourceItems),\n canNavigate: hasNP\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemDescription } from 'libs/shared/components/video-list/components/video-item-description/VideoItemDescription';\nimport { VideoItemRestrictionBadge } from 'libs/shared/components/video-list/components/video-item-restriction-badge/VideoItemRestrictionBadge';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { InteractiveItemQuestions } from 'libs/shared/components/video-list/interactive-item/InteractiveItemQuestions';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { useMergeAudiences } from 'libs/shared/hooks/UseMergeAudiences';\nimport { InteractiveMetadata, PresentationAudience, YearGroup } from 'libs/shared/interfaces';\n\ninterface VideoGuidanceInteractiveItemProps {\n interactive: InteractiveMetadata;\n presentationAudiences: PresentationAudience[];\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n onClickAppLink: () => void;\n}\n\nexport function VideoGuidanceInteractiveItem(props: VideoGuidanceInteractiveItemProps): JSX.Element {\n const mergedAudience = useMergeAudiences(\n props.interactive.subjectPresentationAudiences?.data,\n props.presentationAudiences\n );\n\n return (\n <div className='row gx-0 py-2'>\n <div className='col-4'>\n <VideoThumbnail\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClick={props.onClickAppLink}\n audience={mergedAudience}\n imageOptions={{ size: ImageSize.Medium }}\n textPosition={ThumbnailTextPosition.Independent}\n type='static'\n subTextType='none'\n imageCdnUrl={props.imageCdnUrl}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Thumbnail\n }}\n isPlugin={props.isPlugin}\n />\n </div>\n\n <div className='col-8 ps-2'>\n <VideoItemTitle\n video={props.interactive}\n appLink={props.getInteractiveAppLink(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n yearGroups={props.yearGroups}\n analyticsOptions={{\n entity: EntityType.Interactive,\n actionType: UserAction.Click,\n location: LocationContext.InteractivesGuidancePopup,\n descriptor: ClickDescriptor.Title\n }}\n />\n\n {props.canViewInteractives ? (\n <div className='pt-sm-1 pt-md-0'>\n <InteractiveItemQuestions\n timepoints={props.interactive._timepoints?.value}\n appLink={props.getInteractiveAppLink(props.interactive)}\n previewAppLink={props.getPreviewQuestionsAppLink?.(props.interactive)}\n onClickAppLink={props.onClickAppLink}\n totalToDisplay={3}\n />\n </div>\n ) : (\n <VideoItemDescription video={props.interactive} />\n )}\n\n <VideoItemRestrictionBadge video={props.interactive} yearGroups={props.yearGroups}/>\n </div>\n </div>\n );\n}","import React from 'react';\nimport Scrollbars from 'react-custom-scrollbars-2';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { InteractiveMetadata, PopupViewProps, PresentationAudience, Video, YearGroup } from 'libs/shared/interfaces';\n\nimport { VideoGuidanceInteractiveItem } from '../item/VideoGuidanceInteractiveItem';\n\nconst namespace = 'shared.videoGuidanceInteractivesPopup';\n\nconst MIN_MAX_HEIGHT = 350;\n\ninterface VideoGuidanceInteractivesPopupProps extends PopupViewProps {\n isLoading: boolean;\n video: Video;\n interactives: InteractiveMetadata[];\n onClickClose: () => void;\n onClickViewVideo: () => void;\n getInteractiveAppLink: (interactive: InteractiveMetadata) => Core.AppLink;\n getPreviewQuestionsAppLink?: (interactive: InteractiveMetadata) => Core.AppLink;\n presentationAudiences: PresentationAudience[];\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n canViewInteractives: boolean;\n isPlugin: boolean;\n}\n\nexport function VideoGuidanceInteractivesPopup(props: VideoGuidanceInteractivesPopupProps): JSX.Element {\n return (\n <Popup\n closePopup={props.onClickClose}\n showLoadingSpinner={props.isLoading}\n title={props.isLoading\n ? ''\n : LanguageService.getPhrase(namespace, 'interactives', { count: props.video.interactives?.data?.length })\n }\n size='lg'\n >\n {!props.isLoading && (\n <>\n <Scrollbars autoHeight autoHeightMax={MIN_MAX_HEIGHT} autoHeightMin={MIN_MAX_HEIGHT}>\n <ul className='list-unstyled'>\n {props.interactives.map(interactive => {\n return (\n <li key={interactive.id}>\n <VideoGuidanceInteractiveItem\n interactive={interactive}\n getInteractiveAppLink={props.getInteractiveAppLink}\n getPreviewQuestionsAppLink={props.getPreviewQuestionsAppLink}\n presentationAudiences={props.presentationAudiences}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n canViewInteractives={props.canViewInteractives}\n onClickAppLink={props.closePopup}\n isPlugin={props.isPlugin}\n />\n </li>\n );\n })}\n </ul>\n </Scrollbars>\n\n <PopupButtons>\n <PopupButtons.Cancel\n onClick={props.onClickClose}\n text={LanguageService.getPhrase(namespace, 'close')}\n />\n <PopupButtons.Submit\n text={LanguageService.getPhrase(namespace, 'viewVideo')}\n variant='dark'\n onClick={props.onClickViewVideo}\n />\n </PopupButtons>\n </>\n )}\n </Popup>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, VideoGuidanceDescriptor } from 'libs/analytics/interfaces/AnalyticsTypes';\n\nimport { VideoGuidanceInteractivesPopup } from 'libs/shared/components/video-guidance/interactives/popup/VideoGuidanceInteractivesPopup';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InteractiveRequests } from 'libs/shared/flight-requests/InteractiveRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { Clip, Config, CurrentUser, InteractiveMetadata, PopupViewProps, Video, YearGroup } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoFeatureAccess } from 'shared/hooks/useVideoFeatureAccess';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\ninterface VideoGuidanceInteractivesViewProps extends PopupViewProps {\n id: string;\n type: MasterType;\n}\n\nexport function VideoGuidanceInteractivesView(props: VideoGuidanceInteractivesViewProps): JSX.Element {\n function getRequest(): Flight.Request {\n return props.type === MasterType.Video\n ? VideoRequests.video(props.id)\n : ClipRequests.clip(props.id);\n }\n\n const { isPlugin } = usePluginHelper();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const video = Flight.useBasicFetch<Clip | Video>(getRequest());\n const interactives = Flight.useBasicFetch<InteractiveMetadata[]>(InteractiveRequests.videoInteractives(props.id));\n const presentationAudiences = usePresentationAudiences();\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const featureAccess = useVideoFeatureAccess();\n\n function onClickClose(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.Close\n });\n\n props.closePopup();\n }\n\n function onClickViewVideo(): void {\n AnalyticsHelper.logUserAction({\n id: video.data.id,\n name: video.data.name\n }, {\n entity: VideoHelper.isVideo(video.data)\n ? EntityType.Video\n : EntityType.Clip,\n location: LocationContext.ClassroomGuidancePopup,\n actionType: UserAction.Click,\n descriptor: VideoGuidanceDescriptor.ViewVideo\n });\n\n if (VideoHelper.isVideo(video.data)) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n\n return;\n }\n\n Core.AppLinkHelper.trigger({\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ video.data.id, TextHelper.slugify(video.data.name) ]\n });\n\n props.closePopup();\n }\n\n function isLoading(): boolean {\n return (\n !video.hasCompleted ||\n !interactives.hasCompleted ||\n !presentationAudiences.hasCompleted ||\n !config.hasCompleted ||\n (!yearGroups.hasCompleted && !!currentUser.data?.isAuthenticated)\n );\n }\n\n return (\n <VideoGuidanceInteractivesPopup\n isLoading={isLoading()}\n video={video.data}\n interactives={interactives.data}\n onClickClose={onClickClose}\n onClickViewVideo={onClickViewVideo}\n getInteractiveAppLink={VideoAppLinkHelper.getAppLink}\n getPreviewQuestionsAppLink={InteractiveHelpers.getPreviewQuestionsAppLink}\n presentationAudiences={presentationAudiences.data}\n yearGroups={yearGroups.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n canViewInteractives={featureAccess.canViewInteractives}\n closePopup={props.closePopup}\n isPlugin={isPlugin}\n />\n );\n}"],"names":["usePresentationAudiences","redirectOnError","activePresentation","getFallbackPresentation","presentation","id","useVideoFeatureAccess","hasPermissions","hasLocalPermissions","hasNP","hasProduct","canViewGlance","canViewResources","canViewInteractives","canViewClips","canViewCurriculumLinks","canUseActions","canViewPublicLayout","canViewResourceItems","canNavigate","VideoGuidanceInteractiveItem","props","mergedAudience","interactive","subjectPresentationAudiences","data","presentationAudiences","className","VideoThumbnail","video","appLink","getInteractiveAppLink","onClick","onClickAppLink","audience","imageOptions","size","textPosition","ThumbnailTextPosition","type","subTextType","imageCdnUrl","analyticsOptions","entity","actionType","location","descriptor","isPlugin","VideoItemTitle","yearGroups","InteractiveItemQuestions","timepoints","_timepoints","value","previewAppLink","getPreviewQuestionsAppLink","totalToDisplay","VideoItemDescription","VideoItemRestrictionBadge","namespace","MIN_MAX_HEIGHT","VideoGuidanceInteractivesPopup","Popup","closePopup","onClickClose","showLoadingSpinner","isLoading","title","LanguageService","count","interactives","length","autoHeight","autoHeightMax","autoHeightMin","map","key","PopupButtons","text","variant","onClickViewVideo","VideoGuidanceInteractivesView","usePluginHelper","currentUser","UserRequests","config","ConfigRequests","MasterType","VideoRequests","ClipRequests","InteractiveRequests","isAuthenticated","CustomerRequests","customerId","featureAccess","hasCompleted","AnalyticsHelper","name","VideoHelper","application","action","args","TextHelper","VideoAppLinkHelper","InteractiveHelper"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
- /*! For license information please see 5810-a652483b8e-lite.chunk.js.LICENSE.txt */
1
+ /*! For license information please see 5810-c81d69aea8-lite.chunk.js.LICENSE.txt */
2
2
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[5810],{69624:(e,t,n)=>{n.d(t,{F:()=>d});var r=n(97395),o=n(86664),a=n(93824);function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function c(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=i(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==i(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l={Marketing:{au:"https://www.clickvieweducation.com/en-au",us:"https://www.clickvieweducation.com",nz:"https://www.clickview.co.nz",uk:"https://www.clickview.co.uk"},Support:{au:"https://www.clickviewsupport.com/hc/en-au",uk:"https://www.clickviewsupport.com/hc/en-au#gb",nz:"https://www.clickviewsupport.com/hc/en-au#nz",us:"https://www.clickviewsupport.com/hc/en-au#us"}},s=c(c(c(c({},a.C.AU,"/contact-us/sales"),a.C.US,"/contact-us/sales"),a.C.NZ,"/contact-us/"),a.C.UK,"/contact-us/trial"),u=c(c(c(c({},a.C.AU,"/resources/free-student-resources"),a.C.US,"/resources/free-student-resources"),a.C.NZ,"/free-student-resources/"),a.C.UK,"/free-student-resources/"),d={getMarketingUrlForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode);return l.Marketing[t]||l.Marketing.us},getMarketingSalesContactForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode),n=d.getMarketingUrlForGeoLocation(e),r=s[t];return"".concat(n).concat(r)},getFreeResourcesForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode),n=this.getMarketingUrlForGeoLocation({countryCode:t}),r=u[t];return"".concat(n).concat(r)},getTermsAndConditionsLink:function(){return this.getMarketingUrlForGeoLocation(a.C.US)+"/terms-and-conditions/"},getPrivacyPolicyLink:function(){return this.getMarketingUrlForGeoLocation(a.C.US)+"/privacy-policy/"},getSupportUrlForGeoLocation:function(e){var t=o.I.getCountryCode(null==e?void 0:e.countryCode);return l.Support[t]||l.Support.us},getLoginLink:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.email,n=e.customerId,o={redirectUrl:window.location.pathname+window.location.search};return t&&(o.email=t),n&&(o.customerId=n),r._.urlBuilder("/login",o)}}},97481:(e,t,n)=>{n.d(t,{d:()=>l});var r=n(32735),o=n(11607),a=n(83345);const i={emptyState:"k5mEG"};var c="shared.typeaheadErrorState";function l(e){return r.createElement("div",{className:"d-flex flex-column align-items-center text-center",onClick:function(e){e.stopPropagation()}},r.createElement("img",{alt:"",role:"presentation",src:e.imageUrl,className:"pb-2 ".concat(i.emptyState)}),r.createElement("h2",{className:"h6"},r.createElement(a.x,{namespace:c,phrase:"error"})),r.createElement(o.L,{onClick:function(t){t.stopPropagation(),e.onClickTryAgain()},className:"btn btn-link info-link p-0"},r.createElement(a.x,{namespace:c,phrase:"tryAgain"})))}},99705:(e,t,n)=>{var r,o;n.d(t,{b:()=>o}),function(e){e.AddToPlaylist="115005679748",e.EditSsoAccounts="8202508040345",e.LibraryEditor="360001974533",e.VideoAccess="360000153947",e.AddFromOnline="360011718234",e.UploadToLibraryEditor="360012069334",e.PBTErrorCodes="360012421153",e.ManuelReview="360020004534",e.LibraryReview="360000163788"}(r||(r={})),function(e){e.Integrations="4407268725529",e.Classrooms="4405362551833",e.MakeInteractive="4405370510873",e.EditSsoAccounts="8202605666073",e.UploadToLibraryEditor="10672936659865",e.AddFromLite="10671345281561",e.ManageSsoYearGroups="14691130889241",e.ContentReview="18525199576601",e.ContentPermissions="14692125209497",e.AccessSettings="22110291468057",e.ContentGuidelines="24133696186009",e.FoxtelFaq="24133519542169",e.ViviIntegration="23826297956377",e.AppleTvIntegration="25832373739929",e.RssFeed="32567445635097"}(o||(o={}))},12617:(e,t,n)=>{n.d(t,{E:()=>s});var r=n(99940),o=n(97395),a=n(62803),i=n(5960),c=n(4594),l=n(78417),s={videos:function(e,t,n){var r=a.v.VIDEO_COLLECTION,s=a.v.CLIP_COLLECTION,u=a.v.INTERACTIVE,d="videos[".concat(r,"]{libraries.typeid:").concat(c.E.WorkspaceCollection,"}"),m="clips[".concat(s,"]{status:").concat(i.X.Published,"}"),p="interactives[".concat(u,"]{status:[").concat(i.X.Published,",").concat(i.X.Draft,"]}"),v=[];(null==n?void 0:n.length)?(n.includes("video")&&v.push(d),n.includes("clip")&&v.push(m),n.includes("interactive")&&v.push(p)):v.push(d,m,p);var h={query:"(".concat(v.join("|"),"){orderbydesc:timestamp}"),permissionFilterOption:l.r.StripMetadata};return t&&(h.cursor=t),{url:o._.urlBuilder("{gateway}/v1/objects/".concat(e,"/members"),h),key:"my:videos:".concat(e,":").concat(t).concat(n?":".concat(Array.isArray(n)?n.join(":"):n):"")}},workspaceWithCategories:function(){return{url:o._.urlBuilder("/api/domain/v2/me/libraries",{type:["workspace"],maxCategoryDepth:6}),key:"workspace:folders",normalize:!1}},exchangeWithCategories:function(){return{url:o._.urlBuilder("/api/domain/v2/me/libraries",{type:["exchange"],maxCategoryDepth:5}),key:"exchange:folders",normalize:!1}},addFolder:function(e){var t="/api/domain/v2/collections/".concat(e.collectionId,"/categories");return e.parentCategoryId&&(t=o._.urlBuilder(t,{parentCategoryId:e.parentCategoryId})),{url:t,key:"add:folder",type:r.k.POST,data:{name:e.name},invalidationKeys:["workspace","folder"]}},deleteFolder:function(e){return{url:"{gateway}/v1/objects/".concat(e),key:"delete:folder",type:r.k.DELETE,invalidationKeys:["workspace","folder"]}},moveFolder:function(e){return{url:"/api/domain/v2/objects/move",key:"move:folder",type:r.k.POST,data:{assocType:"has",newCollectionId:e.newFolderId,oldCollectionId:e.oldFolderId,objectIds:[e.moveFolderId]},invalidationKeys:["workspace","folder"]}},updateFolder:function(e,t){return{url:"{gateway}/v1/objects/".concat(e),key:"rename:folder",type:r.k.PUT,data:{name:t},invalidationKeys:["workspace","folder"]}},videoFolders:function(e,t){return{url:"/api/domain/v2/objects/".concat(e,"/categories?query=libraries{id:").concat(t,"}"),key:"video:folders:".concat(e)}},moveVideo:function(e){var t={newCollectionId:e.newFolderId,oldCollectionId:e.oldFolderId,objectIds:e.videoId};return{url:"/api/domain/v3/objects/move",key:"move:folder:".concat(t.objectIds.join(",")),type:r.k.POST,data:t,invalidationKeys:["video"]}},addToExchange:function(e){return{url:"{gateway}/v1/users/me/videos/exchange",key:"add:to:exchange",type:r.k.POST,data:e}}}},54485:(e,t,n)=>{n.d(t,{b:()=>c});var r=n(32735),o=n(23481),a=n(11462),i=o.T.encloseNamespace("myVideos.hooks");function c(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return r.useMemo((function(){return(null==e?void 0:e.length)?{children:e.map((function(e){return Object.assign(Object.assign({},e),{data:Object.assign(Object.assign({},e.data),{name:t?i("myVideos"):e.data.name})})})).map(a.d.convertNestedObjectToTree)}:null}),[e])}},81720:(e,t,n)=>{n.r(t),n.d(t,{AddToExchangeView:()=>ie});var r=n(32735),o=n(81886),a=n(23481),i=n(20354),c=n(49985),l=n(65858),s=n(82644),u=n(9111),d=n(1575),m=n(69883),p=n(31908),v=n(14070),h=n(97291),f=n(24965),g=n(12617),y=n(54485),b=n(92802),w=n(5173),E=n(110),C=n(69624),k=n(38365),S=n(13876),N=n(83345),x=n(42648),L=n(55367);const T={selectButton:"HWv2E",suggestionsContainer:"m1Nm0"};var I="myVideos.addToExchange",F=a.T.encloseNamespace(I);function O(e){var t=(0,b.u6)();return r.createElement(k.W,{label:F("category"),name:"category",showRequiredStar:!0},(function(){var n,o,a;return r.createElement("div",{className:"dropdown mb-2"},r.createElement("button",{className:"dropdown-toggle form-control text-start position-relative ".concat(T.selectButton),type:"button",id:"select-folder","data-bs-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},r.createElement("div",{className:"text-truncate"},null!==(o=null===(n=t.values.category)||void 0===n?void 0:n.name)&&void 0!==o?o:r.createElement(N.x,{namespace:I,phrase:"categoryPlaceholder"}))),r.createElement("div",{className:"dropdown-menu w-100","aria-labelledby":"select-folder"},r.createElement(x.$B,{autoHeight:!0,autoHeightMax:300,hideTracksWhenNotNeeded:!0},r.createElement(L.m,{tree:e.categories,onSelect:function(e){return t.setFieldValue("category",e,!0)},selectedIds:(null===(a=t.values.category)||void 0===a?void 0:a.id)?[t.values.category.id]:void 0,selectedLinkClassName:"bg-light fw-semibold",isDropdown:!0}))))}))}var A=n(97395),P=n(2136),R=n(97481),j=n(99742),_=a.T.encloseNamespace("myVideos.addToExchange");function V(){var e=(0,b.u6)();return r.createElement(k.W,{label:_("channel"),name:"channel",id:"channel",showRequiredStar:!0},(function(){var t,n;return r.createElement(r.Fragment,null,r.createElement(P.E,{theme:function(){return{suggestionsContainer:T.suggestionsContainer,suggestionsContainerOpen:"pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100"}},activationLength:2,placeholder:_("channelPlaceholder"),clearQueryOnSelect:!1,searchIconPlacement:!1,debounceTime:300,allowableSuggestionFetchRequestedReasons:["input-changed","input-focused"],getRemoteUrl:function(e){return A._.urlBuilder("/api/domain/v1/search/channel/instant/raw",{q:e})},onSuggestionSelected:function(t){return e.setFieldValue("channel",t,!0)},showClearInputIcon:!0,renderAsForm:!1,onClickClearInput:function(){return e.setFieldValue("channel",null,!0)},initialQuery:null!==(n=null===(t=e.values.channel)||void 0===t?void 0:t.name)&&void 0!==n?n:"",getErrorStateComponent:function(e){return r.createElement(R.d,{imageUrl:j.W.TYPEAHEAD_ERROR,onClickTryAgain:e})},getEmptyStateComponent:function(e){return r.createElement("div",null,_("emptySearch",{query:e}))}}))}))}var B=n(36848),U=n(89118),G=n(54610),M=n(99705),q=n(68626),D=n(12778),Y="myVideos.addToExchange";function W(e){return r.createElement(r.Fragment,null,r.createElement("p",null,r.createElement(N.x,{namespace:Y,phrase:"message",options:{contentGuidelines:D.o.getLiteArticle(M.b.ContentGuidelines)}})),r.createElement("div",{className:"row form-group"},r.createElement("div",{className:"col-5"},r.createElement(U.u,{video:e.video,type:"cosmetic",imageOptions:{size:G.h2.Small},textPosition:q.z.Independent,preload:!0})),r.createElement("div",{className:"col-7"},r.createElement("h2",{className:"h6"},e.video.name),r.createElement(B.F,{appLink:{application:h.O.VIDEOS,action:v.e.Videos.EDIT_VIDEO,args:[e.video.id]},className:"info-link",onClick:e.onClickCancel},r.createElement(N.x,{namespace:Y,phrase:"edit"})))),r.createElement("p",null,r.createElement(N.x,{namespace:Y,phrase:"prompt"})))}var z=a.T.encloseNamespace("myVideos.addToExchange"),K=128;function Z(e){var t,n=(0,b.u6)();return r.createElement(k.W,{as:"select",label:z("rating"),name:"rating",showRequiredStar:!0,value:null===(t=n.values.rating)||void 0===t?void 0:t.id,onChange:function(t){var r=t.target.value;if(r){var o=e.ratings.find((function(e){return e.id.toString()===r.toString()}));n.setFieldValue("rating",o)}else n.setFieldValue("rating",null)}},r.createElement("option",{value:""},z("ratingPlaceholder")),e.ratings.map((function(e,t){return e.value>=K?r.createElement(r.Fragment,{key:t}):r.createElement("option",{key:t,value:e.id},e.code||e.name)})))}var H=a.T.encloseNamespace("myVideos.addToExchange");function Q(){var e=(0,b.u6)();return r.createElement(k.W,{label:H("series"),name:"series",id:"series"},(function(){var t,n;return r.createElement(r.Fragment,null,r.createElement(P.E,{theme:function(){return{suggestionsContainer:T.suggestionsContainer,suggestionsContainerOpen:"pb-0 pt-1 overflow-hidden bg-white border rounded position-absolute w-100"}},activationLength:2,placeholder:H("seriesPlaceholder"),clearQueryOnSelect:!1,searchIconPlacement:!1,debounceTime:300,allowableSuggestionFetchRequestedReasons:["input-changed","input-focused"],getRemoteUrl:function(e){return A._.urlBuilder("/api/domain/v1/search/series/instant/raw",{q:e,filterEmptySeries:!1})},onSuggestionSelected:function(t){return e.setFieldValue("series",t,!0)},showClearInputIcon:!0,renderAsForm:!1,onClickClearInput:function(){return e.setFieldValue("series",null,!0)},initialQuery:null!==(n=null===(t=e.values.series)||void 0===t?void 0:t.name)&&void 0!==n?n:"",getErrorStateComponent:function(e){return r.createElement(R.d,{imageUrl:j.W.TYPEAHEAD_ERROR,onClickTryAgain:e})},getEmptyStateComponent:function(e){return r.createElement("div",null,H("emptySearch",{query:e}))}}))}))}var X="myVideos.addToExchange",$=a.T.encloseNamespace(X),J=w.Ry().shape({category:w.Ry().required($("categoryRequired")),rating:w.Ry().nullable().required($("ratingRequired")),channel:w.Ry().required($("channelRequired")),dateBroadcast:w.Z_().required($("dateBroadcastRequired")),series:w.Ry(),seasonNumber:w.Rx().integer().min(1,(function(){return $("seasonNumberRange")})).max(3e3,(function(){return $("seasonNumberRange")})),episodeNumber:w.Rx().integer().min(1,(function(){return $("episodeNumberRange")})).max(2147483647,(function(){return $("episodeNumberRange")}))});function ee(e){var t=(0,b.u6)();return r.createElement(b.l0,null,r.createElement(W,{video:e.video,onClickCancel:e.onClickCancel}),r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(O,{categories:e.categories})),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(Z,{ratings:e.ratings}))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(V,null)),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(k.W,{type:"date",name:"dateBroadcast",label:$("dateBroadcast"),value:t.values.dateBroadcast?E.O.format(t.values.dateBroadcast,"YYYY-MM-DD"):"",min:"1927-09-07",max:E.O.format(new Date,"YYYY-MM-DD"),showRequiredStar:!0}))),r.createElement("div",{className:"row"},r.createElement("div",{className:"col-lg-6 col-12"},r.createElement(Q,null)),r.createElement("div",{className:"col-lg-6 col-12"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6"},r.createElement(k.W,{label:$("seasonNumber"),type:"number",name:"seasonNumber",id:"seasonNumber",placeholder:$("seasonNumber"),autoFocus:!0,value:t.values.seasonNumber,disabled:!t.values.series})),r.createElement("div",{className:"col-6"},r.createElement(k.W,{label:$("episodeNumber"),type:"number",name:"episodeNumber",id:"episodeNumber",placeholder:$("episodeNumber"),autoFocus:!0,value:t.values.episodeNumber,disabled:!t.values.series})))))),r.createElement("p",null,r.createElement(N.x,{namespace:X,phrase:"disclaimer",options:{termsAndCondiditons:C.F.getTermsAndConditionsLink()}})),r.createElement(S.u,null,r.createElement(S.u.Cancel,{onClick:e.onClickCancel}),r.createElement(S.u.Submit,{variant:"dark",showSpinner:e.showSpinner,text:$("contribute")})))}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function ne(){ne=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function s(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var a=t&&t.prototype instanceof g?t:g,i=Object.create(a.prototype),c=new F(r||[]);return o(i,"_invoke",{value:x(e,n,c)}),i}function d(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var m="suspendedStart",p="suspendedYield",v="executing",h="completed",f={};function g(){}function y(){}function b(){}var w={};s(w,i,(function(){return this}));var E=Object.getPrototypeOf,C=E&&E(E(O([])));C&&C!==n&&r.call(C,i)&&(w=C);var k=b.prototype=g.prototype=Object.create(w);function S(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function N(e,t){function n(o,a,i,c){var l=d(e[o],e,a);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==te(u)&&r.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,i,c)}),(function(e){n("throw",e,i,c)})):t.resolve(u).then((function(e){s.value=e,i(s)}),(function(e){return n("throw",e,i,c)}))}c(l.arg)}var a;o(this,"_invoke",{value:function(e,r){function o(){return new t((function(t,o){n(e,r,t,o)}))}return a=a?a.then(o,o):o()}})}function x(t,n,r){var o=m;return function(a,i){if(o===v)throw Error("Generator is already running");if(o===h){if("throw"===a)throw i;return{value:e,done:!0}}for(r.method=a,r.arg=i;;){var c=r.delegate;if(c){var l=L(c,r);if(l){if(l===f)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===m)throw o=h,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=v;var s=d(t,n,r);if("normal"===s.type){if(o=r.done?h:p,s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(o=h,r.method="throw",r.arg=s.arg)}}}function L(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,L(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var a=d(o,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,f;var i=a.arg;return i?i.done?(n[t.resultName]=i.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,f):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function I(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function O(t){if(t||""===t){var n=t[i];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,a=function n(){for(;++o<t.length;)if(r.call(t,o))return n.value=t[o],n.done=!1,n;return n.value=e,n.done=!0,n};return a.next=a}}throw new TypeError(te(t)+" is not iterable")}return y.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:y,configurable:!0}),y.displayName=s(b,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s(e,l,"GeneratorFunction")),e.prototype=Object.create(k),e},t.awrap=function(e){return{__await:e}},S(N.prototype),s(N.prototype,c,(function(){return this})),t.AsyncIterator=N,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new N(u(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(k),s(k,l,"Generator"),s(k,i,(function(){return this})),s(k,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(I),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function o(r,o){return c.type="throw",c.arg=t,n.next=r,o&&(n.method="next",n.arg=e),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=e,i.arg=t,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),I(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;I(n)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),f}},t}function re(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var oe=function(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function c(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,c)}l((r=r.apply(e,t||[])).next())}))},ae=a.T.encloseNamespace("myVideos.addToExchange");function ie(e){var t,n,a,b,w,E=(b=r.useState(!1),w=2,function(e){if(Array.isArray(e))return e}(b)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,c=[],l=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return c}}(b,w)||function(e,t){if(e){if("string"==typeof e)return re(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?re(e,t):void 0}}(b,w)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),C=E[0],k=E[1],S=i.a.useGetFetchAsync(),N=(0,m.Z)(),x=i.a.useBasicFetch(d.R.video(e.id)),L=i.a.useBasicFetch(g.E.exchangeWithCategories()),T=(0,y.b)(null===(n=null===(t=L.data)||void 0===t?void 0:t[0])||void 0===n?void 0:n.children,!1),I=i.a.useBasicFetch(f.Z.ratings()),F=x.hasCompleted&&L.hasCompleted&&I.hasCompleted;return r.createElement(u.G,{title:ae("title"),closePopup:e.closePopup,showLoadingSpinner:!F,size:"lg"},F&&r.createElement(s.n,{initialValues:{rating:x.data.rating,channel:x.data.channel,dateBroadcast:x.data.dateBroadcast,series:x.data.series,seasonNumber:null===(a=x.data.season)||void 0===a?void 0:a.number,episodeNumber:x.data.episodeNumber},validationSchema:J,onSubmit:function(t){var n;return oe(this,void 0,void 0,ne().mark((function r(){var a;return ne().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return k(!0),a={videoId:x.data.id,categoryId:t.category.id,videoAttribute:{name:x.data.name,description:x.data.description,rating:t.rating.id,dateBroadcast:t.dateBroadcast,productionYear:x.data.productionYear,channel:t.channel.id,series:null===(n=t.series)||void 0===n?void 0:n.id,seasonNumber:t.seasonNumber,episodeNumber:t.episodeNumber}},r.prev=2,r.next=5,S(g.E.addToExchange(a));case 5:c.k.logUserAction({id:x.data.id,name:x.data.name,isBroadcast:p.M.isBroadcast(x.data)},{actionType:l.Vw.Create,entity:l.py.Video,location:l.LZ.Popup,workflowPhase:l.eu.Complete,descriptor:l.ne.AddToExchange}),N.success(ae("success")),o.Q.C$.trigger({application:h.O.MY_VIDEOS,action:v.e.MyVideos.ADD_TO_EXCHANGE_SUCCESS}),r.next=14;break;case 10:r.prev=10,r.t0=r.catch(2),N.error(ae("error")),e.closePopup();case 14:case"end":return r.stop()}}),r,null,[[2,10]])})))},validateOnMount:!0},r.createElement(ee,{categories:T,ratings:I.data,onClickCancel:e.closePopup,showSpinner:C,video:x.data})))}},24965:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(97395),o={ratings:function(e){return{url:"/api/domain/v2/me/ratings",publicUrl:r._.urlBuilder("/api/domain/v2/me/ratings",{countryCode:e}),key:"ratings",formatData:function(e){return e.sort((function(e,t){return e.value-t.value}))}}}}}}]);
3
- //# sourceMappingURL=5810-a652483b8e-lite.chunk.js.map
3
+ //# sourceMappingURL=5810-c81d69aea8-lite.chunk.js.map