@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 +1 @@
1
- {"version":3,"file":"scripts/7777-f0937ef1f5-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/caret/Caret.tsx","file:///app/packages/libs/shared/src/components/caret/caret.scss","file:///app/packages/libs/shared/src/components/library-folder/library-folder.scss","file:///app/packages/libs/shared/src/components/library-folder/LibraryFolder.tsx","file:///app/packages/libs/shared/src/components/folder-list/FolderList.tsx","file:///app/packages/libs/shared/src/components/folder-list/partial-loading/partial-folder-list.scss","file:///app/packages/libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/projects/lite/src/apps/libraries/hooks/UseFetchAllChildFolders.ts","file:///app/packages/projects/lite/src/apps/libraries/hooks/UseHandleLibraryType.ts","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/empty-state/LibraryFolderEmptyState.tsx","file:///app/packages/projects/lite/src/apps/libraries/components/library-folder-videos/LibraryFolderVideos.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/partial-loading/library-folder-partial-loading.scss","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/partial-loading/LibraryFolderPartialLoading.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/LibraryFolderView.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/LibraryFolderViewUtils.ts"],"sourcesContent":["import React from 'react';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './caret.scss';\n\ntype CaretDirection = 'left' | 'right' | 'up' | 'down';\n\n\nconst getDirectionClass = (direction: CaretDirection) => {\n switch (direction) {\n case 'up':\n return styles.up;\n case 'down':\n return styles.down;\n case 'right':\n return styles.right;\n case 'left':\n return styles.left;\n }\n};\n\ninterface CaretProps {\n direction?: CaretDirection;\n className?: string;\n}\n\nCaret.defaultProps = {\n direction: 'right'\n};\n\nexport function Caret(props: CaretProps): JSX.Element {\n return (\n <SvgContainer\n svgName={cvSvgLibrary.Caret}\n className={`${getDirectionClass(props.direction)} svg-container d-inline-block ${props.className}`}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"up\":\"JAT0R\",\"down\":\"ld41u\",\"left\":\"jZTRR\",\"right\":\"HHkPe\"};","// extracted by mini-css-extract-plugin\nexport default {\"actions\":\"cN3nB\",\"actionsContainer\":\"xM37V\",\"dropStyle\":\"kvCLS\",\"dragStyle\":\"md9Na\"};","import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail\n ? UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small })\n : null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolderView(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolderView}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolderView} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolderView} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialFolderHeading\":\"dhbsL\",\"partialFolderThumbnail\":\"CI9vk\",\"partialFolderName\":\"l0Nll\"};","import React from 'react';\n\nimport styles from './partial-folder-list.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n &nbsp;\n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number; }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}>&nbsp;</div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\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 ","import { Flight } from 'libs/common/flight';\n\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { SelectAllPagesResult, useSelectAllPages } from 'libs/shared/hooks/UseSelectAllPages';\nimport { Folder } from 'libs/shared/interfaces';\n\nexport function useFetchAllChildFolders(parentId?: string): SelectAllPagesResult<Folder> {\n const fetch = Flight.useGetFetch();\n\n function getRequest(cursor?: string): Flight.Request {\n return LibraryRequests.childFolders(parentId, cursor);\n }\n \n function fetchNext(cursor?: string): void {\n fetch(getRequest(cursor));\n }\n\n useFetchAll(!!parentId && getRequest, !!parentId && fetchNext);\n\n return (useSelectAllPages<Folder>(!!parentId && ((cursor?: string) => getRequest(cursor).key)));\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { Library } from 'libs/shared/interfaces';\n\n/**\n * This hook prevents the libraries UI to be used for anything \n * other than customer libraries i.e Hosted, Exchange, Workspace etc\n */\nexport function useHandleLibraryType(request: Flight.Response<Library>): void {\n React.useEffect(() => {\n if (!request.hasCompleted || request.hasError)\n return;\n\n if (request.data.type !== MasterObjectTypes.CustomLibrary)\n Core.ErrorHelper.throw(new NotFoundError());\n }, [request.hasCompleted]);\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'libraries.libraryFolderEmptyState';\n\nexport function LibraryFolderEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Libraries.FOLDER} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, SearchSourceDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CanFavouriteFunc, FavouriteFunc, Library, PresentationAudience, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { LibraryFolderEmptyState } from 'apps/libraries/views/library-folder/empty-state/LibraryFolderEmptyState';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'libraries.libraryFolderVideos';\n\ninterface LibraryFolderVideosProps {\n videos: VideoTypes[];\n yearGroups: YearGroup[];\n hasSubFolders: boolean;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n audiences: PresentationAudience[];\n libraries: Library[];\n\n getSortAppLink: (sort: VideoSortType) => Core.AppLink;\n sort: VideoSortType;\n\n isFetching: boolean;\n hasMore: boolean;\n fetchNext: (cursor: string) => void;\n nextCursor?: string;\n imageCdnUrl?: string;\n isPlugin: boolean;\n}\n\nexport function LibraryFolderVideos(props: LibraryFolderVideosProps): JSX.Element {\n const { focusSearchBar } = useFocusSearchBar();\n const { hasPermissions } = usePermissions();\n\n if (!props.videos.length && !props.hasSubFolders)\n return <LibraryFolderEmptyState />;\n\n if (!props.videos.length)\n return <></>;\n\n return (\n <div>\n {/* With no subfolders, we don't show this subheading, and the sort is moved up to the parent component */}\n {props.hasSubFolders && (\n <div className='d-flex justify-content-between align-items-center'>\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='videos' />\n </h2>\n\n <div className='d-flex'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.School\n }\n }}\n className='btn btn-outline-dark d-none d-sm-inline-block'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.Libraries,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.School\n }}\n >\n <Text namespace={namespace} phrase='searchLibrary' options={{ smartCount: props.libraries?.length }} />\n </IconButton>\n <VideoSortSelect\n variant='outline-dark'\n type={props.sort}\n getSortAppLink={props.getSortAppLink}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n />\n </div>\n </div>\n )}\n\n <VideoList\n videos={props.videos}\n yearGroups={props.yearGroups}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n presentationAudiences={props.audiences}\n hasPermissions={hasPermissions}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={props.imageCdnUrl}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"subheading\":\"IJZtA\"};","import React from 'react';\n\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './library-folder-partial-loading.scss';\n\nexport function LibraryFolderPartialLoading(): JSX.Element {\n return (\n <>\n <div className='m-3'>\n <PartialFolderList />\n </div>\n\n <div className='mx-3 mb-3'>\n <div className={`${styles.subheading} partial-loading-background mb-2`} />\n <PartialVideoList />\n </div>\n </>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, SearchSourceDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\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 { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Folder, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\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 { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { LibraryFolderVideos } from 'apps/libraries/components/library-folder-videos/LibraryFolderVideos';\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { useHandleLibraryType } from 'apps/libraries/hooks/UseHandleLibraryType';\n\nimport { LibraryFolderPartialLoading } from './partial-loading/LibraryFolderPartialLoading';\nimport { getFolderAppLink, getFolderBgColourClass, useGetFolderBreadcrumbs } from './LibraryFolderViewUtils';\n\nconst namespace = 'libraries.libraryFolder';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LibraryFolderViewProps {\n libraryId: string;\n folderId: string;\n sort?: VideoSortType;\n}\n\nexport function LibraryFolderView(props: LibraryFolderViewProps): JSX.Element {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const libraries = Flight.useBasicFetch<Library[]>(LibraryRequests.domainLibraries([ 'customLibrary', 'sharedLibrary' ]));\n const library = Flight.useBasicFetch<Library>(LibraryRequests.library(props.libraryId));\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.folderId));\n const subfolders = useFetchAllChildFolders(props.folderId);\n\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n user.data?.isAuthenticated && CustomerRequests.yearGroups(user.data.customerId)\n );\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const breadcrumbs = useGetFolderBreadcrumbs(props.folderId, library.data, props.sort);\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata({ title: folder.data?.name });\n\n useHandleObjectError([ library, folder ]);\n useHandleLibraryType(library);\n\n const sort = !!user.data && VideoSortHelper.getOrSetSortType(user.data.id, props.sort);\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<VideoTypes>(getVideosRequest, fetchNext, onError);\n\n useVideoMixin(videos);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return VideoRequests.collectionVideos(props.folderId, sort, cursor);\n }\n\n function fetchNext(cursor?: string): void {\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const hasNoSubfolders = !!(subfolders.hasCompleted && !subfolders.items?.length);\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n {(library.data && folder.data && config.data)\n ? (\n <BannerHeader\n heading={folder.data.name}\n banner={folder.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n blockColourClass={getFolderBgColourClass(folder.data)}\n logo={library.data.owner?.logo}\n />\n ) : <PartialBannerHeader />\n }\n\n <div className={`d-flex justify-content-between align-items-center py-3 mx-3 ${hasNoSubfolders ? '' : 'border-bottom'}`}>\n {(library.data && folder.data)\n ? <Breadcrumbs breadcrumbs={breadcrumbs} />\n : <PartialBreadcrumbs />\n }\n \n <div className='d-flex'>\n {(hasNoSubfolders || !videos?.length) &&\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.School\n }\n }}\n className='btn btn-outline-dark d-none d-sm-inline-block'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.Libraries,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.School\n }}\n >\n <Text namespace={namespace} phrase='searchLibrary' options={{ smartCount: libraries.data?.length ?? 1 }} />\n </IconButton>\n }\n {(hasNoSubfolders && folder.data) && (\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getFolderAppLink(props.libraryId, folder.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n />\n )}\n </div>\n </div>\n\n {(videos && subfolders) ? (\n <>\n {!!subfolders.items?.length && (\n <div className='px-2 py-3'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(props.libraryId, f, sort)}\n expandFolders={!videos.length}\n />\n </div>\n )}\n\n <div className='px-3 pb-3'>\n <LibraryFolderVideos\n videos={videos}\n yearGroups={yearGroups.data}\n hasSubFolders={!!subfolders.items?.length}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n hasMore={hasMore}\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n sort={sort}\n getSortAppLink={sort => getFolderAppLink(props.libraryId, folder.data, sort)}\n audiences={audiences.data}\n libraries={libraries.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n />\n </div>\n </>\n ) : <LibraryFolderPartialLoading />}\n </VideoActionsContext.Provider>\n );\n}","import { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function getFolderAppLink(libraryId: string, folder: Folder, sort: string): Core.AppLink {\n if (!libraryId || !folder)\n return null;\n\n return {\n application: AppChannels.LIBRARIES,\n action: Actions.Libraries.FOLDER,\n args: [ libraryId, folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < folder.name?.length ?? 0; i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, library: Library, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId: library && folderId,\n getAppLink: object => getFolderAppLink(library.id, object.data, sort),\n firstItem: {\n name: library?.name,\n appLink: {\n application: AppChannels.LIBRARIES,\n action: Actions.Libraries.LIBRARY,\n args: [ library?.id, TextHelper.slugify(library?.name) ]\n }\n }\n });\n}"],"names":["getDirectionClass","direction","Caret","props","SvgContainer","svgName","className","defaultProps","LibraryFolder","thumbnailUrl","folder","thumbnail","UrlHelper","url","size","actions","getFolderActions","DragDropMoveWrapper","draggable","drag","id","data","droppable","drop","dropStye","dragStyle","AppLink","appLink","getAppLink","title","name","BaseImage","imageType","imageClassName","ImageFallback","type","extraClasses","length","Actions","actionsDropdownClassName","dropdownToggleSvgSize","namespace","EXPANDED_FOLDERS_KEY","FolderList","breakpoints","LocalStorageHelper","_hasExpandedFolders","setHasExpandedFolders","hasExpandedFolders","expandFolders","folderLimit","useBreakpoints","xxl","xl","lg","md","onToggleFolderView","displayableFolders","folders","slice","canToggleCollapsedView","showHeading","DivButton","onClick","Text","phrase","options","count","extraButtons","map","f","key","PartialFolder","PartialFolderList","Array","fill","_","i","useBuildBreadcrumbs","folderId","firstItem","lastItem","parentTree","children","searchStack","c","node","path","breadcrumbs","pop","toString","object","push","unshift","active","useFetchAllChildFolders","parentId","fetch","getRequest","cursor","useHandleLibraryType","request","hasCompleted","hasError","LibraryFolderEmptyState","value","EmptyState","src","ImageUrls","LibraryFolderVideos","focusSearchBar","hasPermissions","usePermissions","videos","hasSubFolders","IconButton","application","action","params","source","analyticsData","analyticsOptions","entity","location","actionType","descriptor","smartCount","libraries","VideoSortSelect","variant","sort","getSortAppLink","workflowPhase","VideoList","yearGroups","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","setFavourite","canFavourite","presentationAudiences","audiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","imageCdnUrl","isPlugin","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","hasMore","isFetching","InfiniteScrollFooter","fetchNext","nextCursor","LibraryFolderPartialLoading","PartialVideoList","getPhrase","LanguageService","LibraryFolderView","dispatch","alerts","usePluginHelper","LibraryRequests","library","libraryId","subfolders","user","UserRequests","config","ConfigRequests","isAuthenticated","CustomerRequests","customerId","videoActions","useVideoActions","useLiteFavourites","u","usePresentationAudiences","useSetPageMetadata","VideoSortHelper","getVideosRequest","pageNumber","httpStatus","error","items","VideoRequests","useVideoMixin","hasNoSubfolders","VideoActionsContext","BannerHeader","heading","banner","blockColourClass","logo","owner","Breadcrumbs","getFolderAppLink","args","getFolderBgColourClass","charCode","charCodeAt","useGetFolderBreadcrumbs"],"sourceRoot":""}
1
+ {"version":3,"file":"scripts/7777-1c3490134e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/caret/Caret.tsx","file:///app/packages/libs/shared/src/components/caret/caret.scss","file:///app/packages/libs/shared/src/components/library-folder/library-folder.scss","file:///app/packages/libs/shared/src/components/library-folder/LibraryFolder.tsx","file:///app/packages/libs/shared/src/components/folder-list/FolderList.tsx","file:///app/packages/libs/shared/src/components/folder-list/partial-loading/partial-folder-list.scss","file:///app/packages/libs/shared/src/components/folder-list/partial-loading/PartialFolderList.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/projects/lite/src/apps/libraries/hooks/UseFetchAllChildFolders.ts","file:///app/packages/projects/lite/src/apps/libraries/hooks/UseHandleLibraryType.ts","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/empty-state/LibraryFolderEmptyState.tsx","file:///app/packages/projects/lite/src/apps/libraries/components/library-folder-videos/LibraryFolderVideos.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/partial-loading/library-folder-partial-loading.scss","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/partial-loading/LibraryFolderPartialLoading.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/LibraryFolderView.tsx","file:///app/packages/projects/lite/src/apps/libraries/views/library-folder/LibraryFolderViewUtils.ts"],"sourcesContent":["import React from 'react';\n\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './caret.scss';\n\ntype CaretDirection = 'left' | 'right' | 'up' | 'down';\n\n\nconst getDirectionClass = (direction: CaretDirection) => {\n switch (direction) {\n case 'up':\n return styles.up;\n case 'down':\n return styles.down;\n case 'right':\n return styles.right;\n case 'left':\n return styles.left;\n }\n};\n\ninterface CaretProps {\n direction?: CaretDirection;\n className?: string;\n}\n\nCaret.defaultProps = {\n direction: 'right'\n};\n\nexport function Caret(props: CaretProps): JSX.Element {\n return (\n <SvgContainer\n svgName={cvSvgLibrary.Caret}\n className={`${getDirectionClass(props.direction)} svg-container d-inline-block ${props.className}`}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"up\":\"JAT0R\",\"down\":\"ld41u\",\"left\":\"jZTRR\",\"right\":\"HHkPe\"};","// extracted by mini-css-extract-plugin\nexport default {\"actions\":\"cN3nB\",\"actionsContainer\":\"xM37V\",\"dropStyle\":\"kvCLS\",\"dragStyle\":\"md9Na\"};","import React from 'react';\n\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions, Actions } from 'libs/shared/components/actions/Actions';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DragDropMoveWrapper } from 'libs/shared/components/drag-drop-move/DragDropMoveWrapper';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { Folder } from 'libs/shared/interfaces';\n\nimport styles from './library-folder.scss';\n\ninterface LibraryFolderProps {\n folder: Folder;\n drag?: boolean;\n drop?: boolean;\n getAppLink: (f: Folder) => Core.AppLink;\n getFolderActions?: (f: Folder) => ActionOptions[];\n}\n\nexport function LibraryFolder(props: LibraryFolderProps): JSX.Element {\n const thumbnailUrl = props.folder.thumbnail\n ? UrlHelper.urlBuilder(props.folder.thumbnail.url, { size: ImageSize.Small })\n : null;\n\n const actions = props.getFolderActions?.(props.folder);\n\n return (\n <DragDropMoveWrapper\n draggable={props.drag && { id: props.folder.id, data: props.folder }}\n droppable={props.drop && { id: props.folder.id, data: props.folder }}\n dropStye={styles.dropStyle}\n dragStyle={styles.dragStyle}\n >\n <div className='position-relative'>\n <AppLink\n className='rounded-3 d-block text-decoration-none'\n appLink={props.getAppLink(props.folder)}\n title={props.folder.name}\n >\n <BaseImage\n data={thumbnailUrl}\n imageType={ImageType.Thumbnails}\n imageClassName='rounded-top-lg'\n >\n <ImageFallback\n name={props.folder.name}\n type={ImageFallbackType.Folder}\n extraClasses='rounded-top-lg'\n />\n </BaseImage>\n <h3 className='bg-white border-start border-end border-bottom rounded-bottom-lg font-size-normal fw-semibold mb-0 p-2'>\n <span className='text-truncate d-block'>{props.folder.name}</span>\n </h3>\n </AppLink>\n {actions?.length &&\n <Actions\n actions={actions}\n className={styles.actionsContainer}\n actionsDropdownClassName={styles.actions}\n // Intentionally setting to the default SVG size\n dropdownToggleSvgSize={null}\n />\n }\n </div>\n </DragDropMoveWrapper>\n );\n}","import React from 'react';\n\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Core } from 'libs/common/core';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { Caret } from 'libs/shared/components/caret/Caret';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { LibraryFolder } from 'libs/shared/components/library-folder/LibraryFolder';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Folder } from 'libs/shared/interfaces';\n\nconst namespace = 'libraries.folderList';\n\nconst EXPANDED_FOLDERS_KEY = 'has:expanded:library:folders';\n\nfunction useGetFolderLimit(): number {\n const breakpoints = useBreakpoints();\n\n if (breakpoints.xxl || breakpoints.xl || breakpoints.lg)\n return 6;\n\n if (breakpoints.md)\n return 4;\n\n return 3;\n}\n\ninterface FolderListProps {\n folders: Folder[];\n getAppLink: (folder: Folder) => Core.AppLink;\n expandFolders?: boolean;\n showHeading?: boolean;\n getFolderActions?: (f: Folder) => ActionOptions[];\n drag?: boolean;\n drop?: boolean;\n extraButtons?: JSX.Element;\n}\n\nFolderList.defaultProps = {\n showHeading: true\n};\n\nexport function FolderList(props: FolderListProps): JSX.Element {\n const [ _hasExpandedFolders, setHasExpandedFolders ] = React.useState(\n LocalStorageHelper.get(EXPANDED_FOLDERS_KEY) || false\n );\n\n const hasExpandedFolders = props.expandFolders || _hasExpandedFolders;\n\n const folderLimit = useGetFolderLimit();\n\n function onToggleFolderView(): void {\n setHasExpandedFolders(!hasExpandedFolders);\n LocalStorageHelper.set(EXPANDED_FOLDERS_KEY, !hasExpandedFolders);\n }\n\n const displayableFolders = hasExpandedFolders ? props.folders : props.folders.slice(0, folderLimit);\n\n const canToggleCollapsedView = props.folders.length > folderLimit && !props.expandFolders;\n\n return (\n <>\n <div className='d-flex justify-content-between align-items-center'>\n {props.showHeading &&\n <DivButton\n className={`d-inline-flex align-items-center mb-2 px-2 ${!canToggleCollapsedView ? 'cursor-default' : ''}`}\n onClick={onToggleFolderView}\n >\n {canToggleCollapsedView && (\n <Caret direction={hasExpandedFolders ? 'down' : 'right'} />\n )}\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='folders' options={{ count: props.folders.length }} />\n </h2>\n </DivButton>\n }\n\n {!!(!hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolderView} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeAll' options={{ count: props.folders.length }} />\n </DivButton>\n </div>\n )}\n {!!(hasExpandedFolders && canToggleCollapsedView) && (\n <div className='d-flex justify-content-end justify-self-end px-2'>\n <DivButton onClick={onToggleFolderView} className='text-dark hover-text-underline d-inline-block'>\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n </div>\n )}\n\n {props.extraButtons ? props.extraButtons : <></>}\n </div>\n\n <div className='row mx-1'>\n {displayableFolders.map(f => (\n <div key={f.id} className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <LibraryFolder\n folder={f}\n getAppLink={props.getAppLink}\n getFolderActions={props.getFolderActions}\n drag={props.drag}\n drop={props.drop}\n />\n </div>\n ))}\n </div>\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialFolderHeading\":\"dhbsL\",\"partialFolderThumbnail\":\"CI9vk\",\"partialFolderName\":\"l0Nll\"};","import React from 'react';\n\nimport styles from './partial-folder-list.scss';\n\nconst PartialFolder = () => (\n <div className='col-4 col-md-3 col-lg-2 px-1 pb-3'>\n <div className={`${styles.partialFolderThumbnail} partial-loading-background rounded-top-lg`} />\n <div className={`${styles.partialFolderName} partial-loading-background border-bottom rounded-bottom-lg font-size-normal mb-0 p-2`}>\n &nbsp;\n </div>\n </div>\n);\n\nexport function PartialFolderList({ count = 3 }: { count?: number; }): JSX.Element {\n return (\n <>\n <div className={`${styles.partialFolderHeading} h4 mb-2 partial-loading-background`}>&nbsp;</div>\n <div className='row mx-n1'>\n {Array(count).fill(null).map((_, i) => <PartialFolder key={i} />)}\n </div>\n </>\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 ","import { Flight } from 'libs/common/flight';\n\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { useFetchAll } from 'libs/shared/hooks/UseFetchAll';\nimport { SelectAllPagesResult, useSelectAllPages } from 'libs/shared/hooks/UseSelectAllPages';\nimport { Folder } from 'libs/shared/interfaces';\n\nexport function useFetchAllChildFolders(parentId?: string): SelectAllPagesResult<Folder> {\n const fetch = Flight.useGetFetch();\n\n function getRequest(cursor?: string): Flight.Request {\n return LibraryRequests.childFolders(parentId, cursor);\n }\n \n function fetchNext(cursor?: string): void {\n fetch(getRequest(cursor));\n }\n\n useFetchAll(!!parentId && getRequest, !!parentId && fetchNext);\n\n return (useSelectAllPages<Folder>(!!parentId && ((cursor?: string) => getRequest(cursor).key)));\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { MasterObjectTypes } from 'libs/shared/enums/MasterObjectTypes';\nimport { NotFoundError } from 'libs/shared/errors/general/not-found/NotFoundError';\nimport { Library } from 'libs/shared/interfaces';\n\n/**\n * This hook prevents the libraries UI to be used for anything \n * other than customer libraries i.e Hosted, Exchange, Workspace etc\n */\nexport function useHandleLibraryType(request: Flight.Response<Library>): void {\n React.useEffect(() => {\n if (!request.hasCompleted || request.hasError)\n return;\n\n if (request.data.type !== MasterObjectTypes.CustomLibrary)\n Core.ErrorHelper.throw(new NotFoundError());\n }, [request.hasCompleted]);\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\n\nconst namespace = 'libraries.libraryFolderEmptyState';\n\nexport function LibraryFolderEmptyState(): JSX.Element {\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.Libraries.FOLDER} />\n\n <EmptyState.Heading><Text phrase='heading' /></EmptyState.Heading>\n\n <EmptyState.Info><Text phrase='info' /></EmptyState.Info>\n </EmptyState>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { EntityType, LocationContext, SearchSourceDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { CanFavouriteFunc, FavouriteFunc, Library, PresentationAudience, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { LibraryFolderEmptyState } from 'apps/libraries/views/library-folder/empty-state/LibraryFolderEmptyState';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'libraries.libraryFolderVideos';\n\ninterface LibraryFolderVideosProps {\n videos: VideoTypes[];\n yearGroups: YearGroup[];\n hasSubFolders: boolean;\n setFavourite: FavouriteFunc;\n canFavourite: CanFavouriteFunc;\n audiences: PresentationAudience[];\n libraries: Library[];\n\n getSortAppLink: (sort: VideoSortType) => Core.AppLink;\n sort: VideoSortType;\n\n isFetching: boolean;\n hasMore: boolean;\n fetchNext: (cursor: string) => void;\n nextCursor?: string;\n imageCdnUrl?: string;\n isPlugin: boolean;\n}\n\nexport function LibraryFolderVideos(props: LibraryFolderVideosProps): JSX.Element {\n const { focusSearchBar } = useFocusSearchBar();\n const { hasPermissions } = usePermissions();\n\n if (!props.videos.length && !props.hasSubFolders)\n return <LibraryFolderEmptyState />;\n\n if (!props.videos.length)\n return <></>;\n\n return (\n <div>\n {/* With no subfolders, we don't show this subheading, and the sort is moved up to the parent component */}\n {props.hasSubFolders && (\n <div className='d-flex justify-content-between align-items-center'>\n <h2 className='h4 mb-0'>\n <Text namespace={namespace} phrase='videos' />\n </h2>\n\n <div className='d-flex'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.School\n }\n }}\n className='btn btn-outline-dark d-none d-sm-inline-block'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.Libraries,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.School\n }}\n >\n <Text namespace={namespace} phrase='searchLibrary' options={{ smartCount: props.libraries?.length }} />\n </IconButton>\n <VideoSortSelect\n variant='outline-dark'\n type={props.sort}\n getSortAppLink={props.getSortAppLink}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n />\n </div>\n </div>\n )}\n\n <VideoList\n videos={props.videos}\n yearGroups={props.yearGroups}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={props.setFavourite}\n canFavourite={props.canFavourite}\n presentationAudiences={props.audiences}\n hasPermissions={hasPermissions}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n imageCdnUrl={props.imageCdnUrl}\n isPlugin={props.isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n\n {(props.hasMore || props.isFetching) && (\n <InfiniteScrollFooter\n isFetching={props.isFetching}\n fetchNext={props.fetchNext}\n nextCursor={props.nextCursor}\n />\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"subheading\":\"IJZtA\"};","import React from 'react';\n\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\n\nimport styles from './library-folder-partial-loading.scss';\n\nexport function LibraryFolderPartialLoading(): JSX.Element {\n return (\n <>\n <div className='m-3'>\n <PartialFolderList />\n </div>\n\n <div className='mx-3 mb-3'>\n <div className={`${styles.subheading} partial-loading-background mb-2`} />\n <PartialVideoList />\n </div>\n </>\n );\n}","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { HttpStatus } from 'libs/common/backbone/enums/HttpStatus';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, SearchSourceDescriptor, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { handleHttpError } from 'libs/shared/errors/handlers/HttpErrorHandlers';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\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 { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Config, CurrentUser, Folder, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\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 { useVideoMixin } from 'shared/hooks/useVideoMixin';\n\nimport { LibraryFolderVideos } from 'apps/libraries/components/library-folder-videos/LibraryFolderVideos';\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { useHandleLibraryType } from 'apps/libraries/hooks/UseHandleLibraryType';\n\nimport { LibraryFolderPartialLoading } from './partial-loading/LibraryFolderPartialLoading';\nimport { getFolderAppLink, getFolderBgColourClass, useGetFolderBreadcrumbs } from './LibraryFolderViewUtils';\n\nconst namespace = 'libraries.libraryFolder';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface LibraryFolderViewProps {\n libraryId: string;\n folderId: string;\n sort?: VideoSortType;\n}\n\nexport function LibraryFolderView(props: LibraryFolderViewProps): JSX.Element {\n const dispatch = useDispatch();\n const alerts = useAlerts();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const libraries = Flight.useBasicFetch<Library[]>(LibraryRequests.domainLibraries([ 'customLibrary', 'sharedLibrary' ]));\n const library = Flight.useBasicFetch<Library>(LibraryRequests.library(props.libraryId));\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.folderId));\n const subfolders = useFetchAllChildFolders(props.folderId);\n\n const user = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n user.data?.isAuthenticated && CustomerRequests.yearGroups(user.data.customerId)\n );\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem });\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const breadcrumbs = useGetFolderBreadcrumbs(props.folderId, library.data, props.sort);\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata({ title: folder.data?.name });\n\n useHandleObjectError([ library, folder ]);\n useHandleLibraryType(library);\n\n const sort = !!user.data && VideoSortHelper.getOrSetSortType(user.data.id, props.sort);\n\n const {\n items: videos,\n hasMore,\n isFetching,\n nextCursor\n } = useInfiniteList<VideoTypes>(getVideosRequest, fetchNext, onError);\n\n useVideoMixin(videos);\n\n function getVideosRequest(cursor?: string): Flight.Request {\n return VideoRequests.collectionVideos(props.folderId, sort, cursor);\n }\n\n function fetchNext(cursor?: string): void {\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n function onError(pageNumber: number, httpStatus: HttpStatus): void {\n if (pageNumber === 1)\n return handleHttpError(httpStatus);\n\n alerts.error(getPhrase('error'));\n }\n\n const hasNoSubfolders = !!(subfolders.hasCompleted && !subfolders.items?.length);\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n {(library.data && folder.data && config.data)\n ? (\n <BannerHeader\n heading={folder.data.name}\n banner={folder.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n blockColourClass={getFolderBgColourClass(folder.data)}\n logo={library.data.owner?.logo}\n />\n ) : <PartialBannerHeader />\n }\n\n <div className={`d-flex justify-content-between align-items-center py-3 mx-3 ${hasNoSubfolders ? '' : 'border-bottom'}`}>\n {(library.data && folder.data)\n ? <Breadcrumbs breadcrumbs={breadcrumbs} />\n : <PartialBreadcrumbs />\n }\n \n <div className='d-flex'>\n {(hasNoSubfolders || !videos?.length) &&\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.School\n }\n }}\n className='btn btn-outline-dark d-none d-sm-inline-block'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.Libraries,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.School\n }}\n >\n <Text namespace={namespace} phrase='searchLibrary' options={{ smartCount: libraries.data?.length ?? 1 }} />\n </IconButton>\n }\n {(hasNoSubfolders && folder.data) && (\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n getSortAppLink={sort => getFolderAppLink(props.libraryId, folder.data, sort)}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n />\n )}\n </div>\n </div>\n\n {(videos && subfolders) ? (\n <>\n {!!subfolders.items?.length && (\n <div className='px-2 py-3'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => getFolderAppLink(props.libraryId, f, sort)}\n expandFolders={!videos.length}\n />\n </div>\n )}\n\n <div className='px-3 pb-3'>\n <LibraryFolderVideos\n videos={videos}\n yearGroups={yearGroups.data}\n hasSubFolders={!!subfolders.items?.length}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n hasMore={hasMore}\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n sort={sort}\n getSortAppLink={sort => getFolderAppLink(props.libraryId, folder.data, sort)}\n audiences={audiences.data}\n libraries={libraries.data}\n imageCdnUrl={config.data?.imageCdnUrl}\n isPlugin={isPlugin}\n />\n </div>\n </>\n ) : <LibraryFolderPartialLoading />}\n </VideoActionsContext.Provider>\n );\n}","import { Core } from 'libs/common/core';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\nimport { Folder, Library } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nexport function getFolderAppLink(libraryId: string, folder: Folder, sort: string): Core.AppLink {\n if (!libraryId || !folder)\n return null;\n\n return {\n application: AppChannels.LIBRARIES,\n action: Actions.Libraries.FOLDER,\n args: [ libraryId, folder.id, TextHelper.slugify(folder.name) ],\n params: {\n sort\n }\n };\n}\n\nexport function getFolderBgColourClass(folder: Folder | Library): string {\n let charCode = 0;\n\n for (let i = 0; i < folder.name?.length ?? 0; i++) {\n charCode += folder.name.charCodeAt(i);\n }\n\n return BG_COLOUR_CLASS_NAMES[charCode % BG_COLOUR_CLASS_NAMES.length];\n}\n\nexport function useGetFolderBreadcrumbs(folderId: string, library: Library, sort: VideoSortType): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId: library && folderId,\n getAppLink: object => getFolderAppLink(library.id, object.data, sort),\n firstItem: {\n name: library?.name,\n appLink: {\n application: AppChannels.LIBRARIES,\n action: Actions.Libraries.LIBRARY,\n args: [ library?.id, TextHelper.slugify(library?.name) ]\n }\n }\n });\n}"],"names":["getDirectionClass","direction","Caret","props","SvgContainer","svgName","className","defaultProps","LibraryFolder","thumbnailUrl","folder","thumbnail","UrlHelper","url","size","actions","getFolderActions","DragDropMoveWrapper","draggable","drag","id","data","droppable","drop","dropStye","dragStyle","AppLink","appLink","getAppLink","title","name","BaseImage","imageType","imageClassName","ImageFallback","type","extraClasses","length","Actions","actionsDropdownClassName","dropdownToggleSvgSize","namespace","EXPANDED_FOLDERS_KEY","FolderList","breakpoints","LocalStorageHelper","_hasExpandedFolders","setHasExpandedFolders","hasExpandedFolders","expandFolders","folderLimit","useBreakpoints","xxl","xl","lg","md","onToggleFolderView","displayableFolders","folders","slice","canToggleCollapsedView","showHeading","DivButton","onClick","Text","phrase","options","count","extraButtons","map","f","key","PartialFolder","PartialFolderList","Array","fill","_","i","useBuildBreadcrumbs","folderId","firstItem","lastItem","parentTree","children","searchStack","c","node","path","breadcrumbs","pop","toString","object","push","unshift","active","useFetchAllChildFolders","parentId","fetch","getRequest","cursor","useHandleLibraryType","request","hasCompleted","hasError","LibraryFolderEmptyState","value","EmptyState","src","ImageUrls","LibraryFolderVideos","focusSearchBar","hasPermissions","usePermissions","videos","hasSubFolders","IconButton","application","action","params","source","analyticsData","analyticsOptions","entity","location","actionType","descriptor","smartCount","libraries","VideoSortSelect","variant","sort","getSortAppLink","workflowPhase","VideoList","yearGroups","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","setFavourite","canFavourite","presentationAudiences","audiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","imageCdnUrl","isPlugin","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","hasMore","isFetching","InfiniteScrollFooter","fetchNext","nextCursor","LibraryFolderPartialLoading","PartialVideoList","getPhrase","LanguageService","LibraryFolderView","dispatch","alerts","usePluginHelper","LibraryRequests","library","libraryId","subfolders","user","UserRequests","config","ConfigRequests","isAuthenticated","CustomerRequests","customerId","videoActions","useVideoActions","useLiteFavourites","u","usePresentationAudiences","useSetPageMetadata","VideoSortHelper","getVideosRequest","pageNumber","httpStatus","error","items","VideoRequests","useVideoMixin","hasNoSubfolders","VideoActionsContext","BannerHeader","heading","banner","blockColourClass","logo","owner","Breadcrumbs","getFolderAppLink","args","getFolderBgColourClass","charCode","charCodeAt","useGetFolderBreadcrumbs"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
1
  "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8218],{29024:(e,t,n)=>{n.d(t,{k:()=>E});var a=n(32735),r=n(65858),l=n(64249),i=n(75163),c=n(5465),o=n(89118),s=n(7733),u=n(54610),m=n(4594),d=n(68626),p=n(9085),v=n(67453),f=n(31908);const h={thumbnailFallbackSvg:"D4JFs",posterFallbackSvg:"bjUWl",coverFallbackSvg:"kdLpt"};var g="rounded overflow-hidden";function E(e){var t=a.useCallback((function(t){var n;t&&e.fixedHeight&&(t.style.width="".concat(t.offsetHeight*(n=e.object,f.M.isVideoType(n)?16/9:n.typeId===m.E.Playlist?1:n.typeId===m.E.Series?9/16:void 0),"px"))}),[]),n={size:u.h2.Small},E=function(e){var t=v.j.getDisplayImageFromObject(e);if(f.M.isVideoType(e))return{image:t,imageType:u.__.Thumbnails,imageClassName:g,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Video})};switch(e.typeId){case m.E.Series:return{image:t,imageType:u.__.TallPosters,imageClassName:g,imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Series,svgContainerClassName:h.posterFallbackSvg})};case m.E.Playlist:return{image:t,imageType:u.__.Covers,imageClassName:(null==t?void 0:t.url)?g:"".concat(g," ").concat((0,p.x)(e.name,s.o)),imageFallbackComponent:a.createElement(c.oy,{type:c.mS.Playlist,svgContainerClassName:(null==t?void 0:t.url)?h.coverFallbackSvg:"d-none",extraClasses:!(null==t?void 0:t.url)&&"bg-transparent"})}}}(e.object),b=E.image,y=E.imageType,C=E.imageClassName,S=E.imageFallbackComponent,N=f.M.isVideoType(e.object)&&!!e.showVideoMetadata;return a.createElement("div",{className:"d-flex align-items-center justify-content-center w-100 h-100"},a.createElement("div",{ref:t,className:e.fixedHeight?"h-100":"w-100"},N&&a.createElement(o.u,{video:e.object,imageOptions:n,textPosition:d.z.Independent,type:"cosmetic",appLink:e.appLink,analyticsOptions:{location:e.locationContext},hideDuration:!0,hideMask:!0,size:"sm"}),!N&&a.createElement(i.Z,{data:null==b?void 0:b.url,imageType:y,imageOptions:n,appLink:e.appLink,className:C,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:l.I.getAnalyticsEntity(e.object.type),actionType:r.Vw.Click,location:e.locationContext}},S)))}},95834:(e,t,n)=>{n.d(t,{J:()=>a});var a={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"py-2 ps-2 text-nowrap",row:"striped-row rounded",cell:"d-flex align-items-center p-2"}},31754:(e,t,n)=>{n.d(t,{x:()=>c});var a=n(82602),r=n(75896),l=n(89682),i=n(11576),c={groupByDateShared:function(e){var t=r.m.groupBy(e,"dateShared");return Object.keys(t).sort().reverse().reduce((function(e,n){var r=(0,a.WU)(n);return e[r]||(e[r]=[]),e[r]=e[r].concat(t[n]),e}),{})},mapActivityStatusToCheckMarkStatus:function(e){switch(e){case i.T.Complete:return l.h.Complete;case i.T.Incomplete:return l.h.Incomplete;case i.T.None:return l.h.None}},mapCheckMarkStatusToActivityStatus:function(e){switch(e){case l.h.Complete:return i.T.Complete;case l.h.Incomplete:return i.T.Incomplete;case l.h.None:return i.T.None}}}},71020:(e,t,n)=>{n.d(t,{_:()=>u});var a=n(32735),r=n(80247),l=n(34152),i=n(83914),c=n(35223);const o={container:"VwD1b",spinner:"eJ85e"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function u(e){var t,n,u=(t=(0,l.YD)(),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,i,c=[],o=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(a=l.call(n)).done)&&(c.push(a.value),c.length!==t);o=!0);}catch(e){s=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return c}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(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)?s(e,t):void 0}}(t,n)||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.")}()),m=u[0],d=u[1];return a.useEffect((function(){var t;e.fetchOnScroll&&d&&!e.isFetching&&(null===(t=e.fetchNext)||void 0===t||t.call(e,e.nextCursor))}),[d,e.isFetching]),a.createElement("div",{className:"p-3 text-center ".concat(o.container),ref:m},e.isFetching?a.createElement(r.Z,{as:"span",animation:"border",role:"status",className:o.spinner}):a.createElement(i.x,{svgName:c.vn.ChevronDown,className:"svg-container cursor-pointer",size:i.S.Large,onClick:function(){var t;return null===(t=e.fetchNext)||void 0===t?void 0:t.call(e,e.nextCursor)}}))}u.defaultProps={fetchOnScroll:!1}},38502:(e,t,n)=>{n.d(t,{r:()=>m});var a=n(32735),r=n(49985),l=n(36848),i=n(18559),c=n(11607),o=n(83914),s=n(87432);function u(e){return a.createElement(a.Fragment,null,!!e.tab.svgName&&a.createElement("div",{className:e.tab.name?"pe-1":""},a.createElement(o.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&a.createElement("div",{className:"ps-2"},a.createElement(i.C,{type:i.g.Count,data:e.tab.count})))}function m(e){var t;return a.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},a.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(s.Z.pillTabSelector,"\n ").concat(e.borderRadius?s.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return a.createElement("li",{className:"\n p-0 ".concat(s.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?s.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?a.createElement(l.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(s.Z.tabLink,"\n ")},a.createElement(u,{tab:e})):a.createElement(c.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(s.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&r.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},a.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},60115:(e,t,n)=>{n.d(t,{K:()=>s});var a=n(32735),r=n(50242),l=n(91967),i=400,c=n(45719);function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function s(e,t,n,s,u,m){var d,p,v,f,h=(d=(0,a.useState)(0),p=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,l,i,c=[],o=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;o=!1}else for(;!(o=(a=l.call(n)).done)&&(c.push(a.value),c.length!==t);o=!0);}catch(e){s=!0,r=e}finally{try{if(!o&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return c}}(d,p)||function(e,t){if(e){if("string"==typeof e)return o(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)?o(e,t):void 0}}(d,p)||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.")}()),g=h[0],E=h[1],b=t,y=(0,c.P)((function(t){if(!e)return null;var n=e(t);return n?n.key:null}),s,u);return v={fetchNextPage:function(){if(t&&e&&y)return E((function(e){return e+1})),b(y.nextCursor)},hasMore:!!(null==y?void 0:y.nextCursor),isFetching:null==y?void 0:y.isFetching,scrollContainer:m},f=function(){if(!v.isFetching){if(v.scrollContainer){var e=v.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-i)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-i)return;v.fetchNextPage()}},(0,a.useEffect)((function(){var e=l.q.throttle(f,200),t=v.scrollContainer||window;return v.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[v.hasMore,v.fetchNextPage,v.scrollContainer]),(0,a.useEffect)((function(){y&&y.shouldInitialFetch&&t&&(b(),E((function(e){return e+1})))}),[null==y?void 0:y.shouldInitialFetch,t]),(0,a.useEffect)((function(){var e,t;if((null==y?void 0:y.statusCode)&&l.q.isFunction(n)){var a=+(null===(t=null===(e=y.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));a!==r.k.ClientError&&a!==r.k.ServerError||n(g,y.statusCode)}}),[null==y?void 0:y.statusCode]),{items:null==y?void 0:y.items,hasMore:!!(null==y?void 0:y.nextCursor),nextCursor:null==y?void 0:y.nextCursor,isFetching:null==y?void 0:y.isFetching,totalItems:null==y?void 0:y.totalItems,hasFirstPageCompleted:null==y?void 0:y.hasFirstPageCompleted}}},2523:(e,t,n)=>{n.d(t,{w:()=>p});var a=n(32735),r=n(23481),l=n(81886),i=n(38502),c=n(75795),o=n(14070),s=n(97291),u=r.T.encloseNamespace("share.sharesHeader"),m={application:s.O.MY_SHARES,action:o.e.MyShares.SHARED_BY_ME},d={application:s.O.MY_SHARES,action:o.e.MyShares.SHARED_WITH_ME};function p(){return a.createElement("div",{className:"pb-3"},a.createElement("h1",{className:"h2 mb-3"},u("shares")),a.createElement(i.r,{tabs:(t=null===(e=c.O.getCurrentRoute())||void 0===e?void 0:e.appLink,[{name:u("sharedByMe"),onSelect:function(){return l.Q.C$.trigger(m)},active:(null==t?void 0:t.action)===m.action},{name:u("sharedWithMe"),onSelect:function(){return l.Q.C$.trigger(d)},active:(null==t?void 0:t.action)===d.action}])}));var e,t}},37931:(e,t,n)=>{n.r(t),n.d(t,{SharedWithMeView:()=>Y});var a=n(32735),r=n(70680),l=n(23481),i=n(81886),c=n(20354),o=n(30439),s=n(71020),u=n(16714),m=n(67058),d=n(39151),p=n(79967),v=n(60115),f=n(22902),h=n(79612);const g={imageColumn:"Hs7kk",nameColumn:"GRyds",sharedByColumn:"fewR0",dateSharedColumn:"G6z3W",heading:"YxAsH",image:"CdUtO",name:"pdEW7",avatar:"rQ2Dt",date:"Lx3Ce"};function E(){return a.createElement("div",{className:"d-flex striped-row rounded"},a.createElement("div",{className:"d-flex align-items-center justify-content-center p-2 ".concat(g.imageColumn)},a.createElement("div",{className:"partial-loading-background rounded w-100 ".concat(g.image)})),a.createElement("div",{className:"d-flex align-items-center p-2 ".concat(g.nameColumn)},a.createElement("div",{className:"partial-loading-background w-75 ".concat(g.name)})),a.createElement("div",{className:"d-flex align-items-center p-2 ".concat(g.sharedByColumn)},a.createElement("div",{className:"partial-loading-background ".concat(g.avatar)})),a.createElement("div",{className:"d-none d-md-flex align-items-center p-2 ".concat(g.dateSharedColumn)},a.createElement("div",{className:"partial-loading-background ".concat(g.date)})))}function b(e){return a.createElement("div",{className:"d-flex mb-1"},a.createElement("div",{className:"".concat(g.imageColumn," p-2")},a.createElement("div",{className:"partial-loading-background ".concat(g.heading)})),a.createElement("div",{className:"".concat(g.nameColumn," p-2")}," "),a.createElement("div",{className:"".concat(g.sharedByColumn," p-2")},e.fullHeader?a.createElement("div",{className:"partial-loading-background ".concat(g.heading)}):a.createElement(a.Fragment,null," ")),a.createElement("div",{className:"".concat(g.dateSharedColumn," p-2 d-none d-md-flex")},e.fullHeader?a.createElement("div",{className:"partial-loading-background ".concat(g.heading)}):a.createElement(a.Fragment,null," ")))}function y(){return a.createElement(a.Fragment,null,a.createElement("div",{className:"mb-3"},a.createElement(b,{fullHeader:!0}),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(E,null),a.createElement(E,null),a.createElement(E,null))),a.createElement("div",{className:"mb-3"},a.createElement(b,null),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null))),a.createElement("div",{className:"mb-3"},a.createElement(b,null),a.createElement("div",{className:"striped-list no-full-width"},a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null),a.createElement(E,null))))}var C=n(95834),S=n(69674),N=n(96560),k=n(31908),x=n(14070),w=n(97291),j=n(51855),T=n(82602),M=n(65858),F=n(29024),O=n(31754),I=n(64249),H=n(36848),A=n(20789),D=n(83345),L=n(64818),_="share.sharedWithMeTable",W=l.T.encloseNamespace(_);function U(e,t,n,r,l){var i=r.xs||r.sm;return[{Header:t,accessor:"object",id:"image",Cell:function(e){var t=e.row.original,n=k.M.getCanBeConsumed(t.object).canConsume;return a.createElement(F.k,{object:t.object,appLink:l(t),locationContext:M.LZ.SharedWithMe,showVideoMetadata:!n})},minWidth:140,maxWidth:30},{accessor:"object",id:"name",Cell:function(e){var t,n,r,i=e.row.original;return(null===(t=i.object)||void 0===t?void 0:t.name)?a.createElement(H.F,{appLink:l(i),className:"clamp-2",analyticsData:{id:null===(n=i.object)||void 0===n?void 0:n.id,name:null===(r=i.object)||void 0===r?void 0:r.name},analyticsOptions:{entity:I.I.getAnalyticsEntity(i.object.type),actionType:M.Vw.Click,location:M.LZ.SharedByMe}},i.object.name):a.createElement("span",null,a.createElement(D.x,{namespace:_,phrase:"videoUnavailable"}))},width:60},{Header:0===e?W("sharedBy"):"",accessor:"owner",Cell:function(e){var t,r=e.value;return a.createElement("div",{className:"d-flex align-items-center"},a.createElement("div",{className:"".concat(g.avatar," flex-shrink-0")},a.createElement(A.q,{initials:L.l.getInitials(r.name,r.surname),imageUrl:null===(t=r.avatar)||void 0===t?void 0:t.url,imageCdnUrl:n})),!i&&a.createElement("p",{className:"clamp-1 ms-2"},"".concat(r.name," ").concat(r.surname)))},width:40},!i&&{Header:0===e?W("shared"):"",id:"dateShared",accessor:function(e){return(0,T.WU)(e.dateShared)},width:60}].filter(Boolean)}function R(e){var t,n,r,l=(t=e.data,n=e.refreshTable,a.useMemo((function(){return O.x.groupByDateShared(t)}),[n])),i=(r=(0,j.G)().isPlugin,function(e){var t,n={application:w.O.SHARE,action:x.e.Share.VIEW_SHARE_LINK,args:[e.id]};if(k.M.isVideoType(e.object)&&!(null===(t=k.M.getCanBeConsumed(e.object))||void 0===t?void 0:t.canConsume))return null;if(!r)return n;var a={application:w.O.DEFAULT,action:x.e.Default.SHARE,args:[e.id]};return e.object.type===N.r.Video?Object.assign(Object.assign({},a),{params:{entityType:"video"}}):e.object.type===N.r.Clip?Object.assign(Object.assign({},a),{params:{entityType:"clip"}}):e.object.type===N.r.Interactive?Object.assign(Object.assign({},a),{params:{entityType:"interactive"}}):n});return a.createElement(a.Fragment,null,Object.keys(l).map((function(t,n){return a.createElement(S.i,{key:n,columns:U(n,t,e.imageCdnUrl,e.breakpoints,i),data:l[t],theme:C.J})})))}var P=n(2523),B=n(23232),V=n(99742),Z="share.sharedWithMeEmptyState",$={application:w.O.DASHBOARD,action:x.e.Dashboard.HOME};function z(){return a.createElement(D.D.Provider,{value:Z},a.createElement(B.u,null,a.createElement(B.u.Image,{src:V.W.EmptyStates.Share.SHARED_WITH_ME,size:"small"}),a.createElement(B.u.Heading,null,a.createElement(D.x,{phrase:"heading"})),a.createElement(B.u.Info,null,a.createElement(D.x,{phrase:"info"})),a.createElement(B.u.Cta,{appLink:$,text:l.T.getPhrase(Z,"cta")})))}var J=l.T.encloseNamespace("liteShare.sharedWithMe");function Y(){var e=(0,f.T)().hasPermissions,t=(0,r.I0)(),n=(0,p.k)(),l=c.a.useBasicFetch(d.L.config()),g=function(e){return o.o.getObjectsSharedWithUser(e)},E=function(e){return c.a.getFetch(t)(g(e))},b=(0,v.K)(g,E),C=b.items,S=b.hasMore,N=b.isFetching,k=b.nextCursor;return(0,h.M)({title:J("sharedWithMe")}),e(u.C.StudentExperience)?(i.Q.Ry.throw(new m.d),a.createElement(a.Fragment,null)):a.createElement("div",{className:"px-3"},a.createElement(P.w,null),C&&l.data?(null==C?void 0:C.length)?a.createElement(a.Fragment,null,a.createElement(R,{data:C,imageCdnUrl:l.data.imageCdnUrl,refreshTable:N,breakpoints:n}),(S||N)&&a.createElement(s._,{isFetching:N,fetchNext:E,nextCursor:k})):a.createElement(z,null):a.createElement(y,null))}},87432:(e,t,n)=>{n.d(t,{Z:()=>a});const a={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}},82602:(e,t,n)=>{n.d(t,{WU:()=>s});var a=["second","minute","hour","day","week","month","year"],r=["秒","分钟","小时","天","周","个月","年"],l={},i=function(e,t){l[e]=t},c=[60,60,24,7,365/7/12,12];function o(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var s=function(e,t,n){var a=function(e,t){return(+(t?o(t):new Date)-+o(e))/1e3}(e,n&&n.relativeDate);return function(e,t){for(var n=e<0?1:0,a=e=Math.abs(e),r=0;e>=c[r]&&r<c.length;r++)e/=c[r];return(e=Math.floor(e))>(0==(r*=2)?9:1)&&(r+=1),t(e,r,a)[n].replace("%s",e.toString())}(a,function(e){return l[e]||l.en_US}(t))};i("en_US",(function(e,t){if(0===t)return["just now","right now"];var n=a[Math.floor(t/2)];return e>1&&(n+="s"),[e+" "+n+" ago","in "+e+" "+n]})),i("zh_CN",(function(e,t){if(0===t)return["刚刚","片刻后"];var n=r[~~(t/2)];return[e+" "+n+"前",e+" "+n+"后"]}))}}]);
2
- //# sourceMappingURL=8218-f3b81c7287-lite.chunk.js.map
2
+ //# sourceMappingURL=8218-088530bdf7-lite.chunk.js.map