@scaleflex/widget-explorer 4.4.0 → 4.5.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 (588) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +21 -3
  3. package/dist/style.css +2197 -0
  4. package/dist/style.min.css +1 -0
  5. package/lib/Explorer.styled.js +48 -0
  6. package/lib/components/ActionBar/ActionBar.styled.js +103 -0
  7. package/lib/components/ActionBar/DownloadWithExportButton.js +231 -0
  8. package/lib/components/ActionBar/SelectionMenu.js +111 -0
  9. package/lib/components/ActionBar/index.js +105 -0
  10. package/lib/components/AddFilesPanel/AddFiles.js +183 -0
  11. package/lib/components/AddFilesPanel/AddFiles.styled.js +137 -0
  12. package/lib/components/AddFilesPanel/index.js +59 -0
  13. package/lib/components/AiSwitcher/AiSwitcher.constants.js +1 -0
  14. package/lib/components/AiSwitcher/AiSwitcher.styled.js +24 -0
  15. package/lib/components/AiSwitcher/index.js +81 -0
  16. package/lib/components/AssetsList/AssetsList.styled.js +217 -0
  17. package/lib/components/AssetsList/GridView/FilesAccordion.js +76 -0
  18. package/lib/components/AssetsList/GridView/FilesSection/FileCell.js +260 -0
  19. package/lib/components/AssetsList/GridView/FilesSection/FileOverlayOptions.js +140 -0
  20. package/lib/components/AssetsList/GridView/FilesSection/FilesSection.styled.js +15 -0
  21. package/lib/components/AssetsList/GridView/FilesSection/index.js +31 -0
  22. package/lib/components/AssetsList/GridView/FilesSkeleton.js +47 -0
  23. package/lib/components/AssetsList/GridView/FoldersSection/FolderCell.js +239 -0
  24. package/lib/components/AssetsList/GridView/FoldersSection/FolderPreviewGrid.js +106 -0
  25. package/lib/components/AssetsList/GridView/FoldersSection/FolderTopOptions.js +70 -0
  26. package/lib/components/AssetsList/GridView/FoldersSection/index.js +23 -0
  27. package/lib/components/AssetsList/GridView/FoldersSkeleton.js +77 -0
  28. package/lib/components/AssetsList/GridView/GridView.styled.js +11 -0
  29. package/lib/components/AssetsList/GridView/SearchGridView/SearchGridView.styled.js +15 -0
  30. package/lib/components/AssetsList/GridView/SearchGridView/SearchGridViewSkeleton.js +30 -0
  31. package/lib/components/AssetsList/GridView/SearchGridView/index.js +97 -0
  32. package/lib/components/AssetsList/GridView/index.js +196 -0
  33. package/lib/components/AssetsList/ListView/AssetsSection/AssetsSectionTableHeader.js +152 -0
  34. package/lib/components/AssetsList/ListView/AssetsSection/AssetsSectionTableRow.js +333 -0
  35. package/lib/components/AssetsList/ListView/AssetsSection/index.js +99 -0
  36. package/lib/components/AssetsList/ListView/ColumnsMenu.js +89 -0
  37. package/lib/components/AssetsList/ListView/FilesAccordion.js +74 -0
  38. package/lib/components/AssetsList/ListView/FilesSkeleton.js +68 -0
  39. package/lib/components/AssetsList/ListView/FoldersSection/FoldersSectionTableHeader.js +98 -0
  40. package/lib/components/AssetsList/ListView/FoldersSection/FoldersSectionTableRow.js +156 -0
  41. package/lib/components/AssetsList/ListView/FoldersSection/index.js +54 -0
  42. package/lib/components/AssetsList/ListView/FoldersSkeleton.js +67 -0
  43. package/lib/components/AssetsList/ListView/ListView.styled.js +181 -0
  44. package/lib/components/AssetsList/ListView/ListView.utils.js +30 -0
  45. package/lib/components/AssetsList/ListView/SearchListView/index.js +109 -0
  46. package/lib/components/AssetsList/ListView/index.js +203 -0
  47. package/lib/components/AssetsList/ScrollToTop.js +70 -0
  48. package/lib/components/AssetsList/SearchView.hook.js +241 -0
  49. package/lib/components/AssetsList/__SearchTestPannel.js +238 -0
  50. package/lib/components/AssetsList/__SearchTestPannel.mock.js +1 -0
  51. package/lib/components/AssetsList/index.js +266 -0
  52. package/lib/components/AssetsList/relevanceBadge.js +15 -0
  53. package/lib/components/AssetsView/AssetsView.styled.js +25 -0
  54. package/lib/components/AssetsView/AssetsView.thunks.js +64 -0
  55. package/lib/components/AssetsView/index.js +142 -0
  56. package/lib/components/AuthExplorerView.js +79 -0
  57. package/lib/components/Breadcrumbs/BreadCrumbViews/BreadCrumbsViews.styled.js +30 -0
  58. package/lib/components/Breadcrumbs/BreadCrumbViews/index.js +32 -0
  59. package/lib/components/Breadcrumbs/Breadcrumb.js +52 -0
  60. package/lib/components/Breadcrumbs/Breadcrumbs.styled.js +81 -0
  61. package/lib/components/Breadcrumbs/BreadcrumbsSkeleton.js +12 -0
  62. package/lib/components/Breadcrumbs/index.js +295 -0
  63. package/lib/components/BulkEditPanel/BulkEdit.js +330 -0
  64. package/lib/components/BulkEditPanel/BulkEditPanel.styled.js +62 -0
  65. package/lib/components/BulkEditPanel/BulkEditPanel.utils.js +55 -0
  66. package/lib/components/BulkEditPanel/components/AssetsList/AssetsList.constants.js +29 -0
  67. package/lib/components/BulkEditPanel/components/AssetsList/AssetsList.js +148 -0
  68. package/lib/components/BulkEditPanel/components/AssetsList/AssetsList.styled.js +81 -0
  69. package/lib/components/BulkEditPanel/components/AssetsList/Columns/Columns.styled.js +99 -0
  70. package/lib/components/BulkEditPanel/components/AssetsList/Columns/FileMetadataField.js +263 -0
  71. package/lib/components/BulkEditPanel/components/AssetsList/Columns/FileTagField.js +228 -0
  72. package/lib/components/BulkEditPanel/components/AssetsList/Columns/FileTextField.js +107 -0
  73. package/lib/components/BulkEditPanel/components/AssetsList/Columns/MetadataColumn.js +142 -0
  74. package/lib/components/BulkEditPanel/components/AssetsList/Columns/TableRow.js +139 -0
  75. package/lib/components/BulkEditPanel/components/AssetsList/Columns/TagsColumn.js +58 -0
  76. package/lib/components/BulkEditPanel/components/AssetsList/Columns/TagsField.js +80 -0
  77. package/lib/components/BulkEditPanel/components/AssetsList/Columns/TextColumn.js +53 -0
  78. package/lib/components/BulkEditPanel/components/AssetsList/Columns/columns.utils.js +272 -0
  79. package/lib/components/BulkEditPanel/components/AssetsList/Columns/getActiveColumn.js +23 -0
  80. package/lib/components/BulkEditPanel/components/AssetsList/FloatyPreview.js +55 -0
  81. package/lib/components/BulkEditPanel/components/AssetsList/FloatyPreview.styled.js +21 -0
  82. package/lib/components/BulkEditPanel/components/AssetsList/TableBody.js +64 -0
  83. package/lib/components/BulkEditPanel/components/AssetsList/TableHeader.js +67 -0
  84. package/lib/components/BulkEditPanel/components/BulkEditFooter.js +33 -0
  85. package/lib/components/BulkEditPanel/components/ConfirmationModal/ConfirmationModal.js +47 -0
  86. package/lib/components/BulkEditPanel/components/ConfirmationModal/ConfirmationModal.styled.js +25 -0
  87. package/lib/components/BulkEditPanel/components/MainContent/MainContent.js +110 -0
  88. package/lib/components/BulkEditPanel/components/MainContent/MainContent.styled.js +12 -0
  89. package/lib/components/BulkEditPanel/components/MainContent/index.js +2 -0
  90. package/lib/components/BulkEditPanel/components/Sidebar/Sidebar.styled.js +53 -0
  91. package/lib/components/BulkEditPanel/components/Sidebar/Sidebar.utils.js +28 -0
  92. package/lib/components/BulkEditPanel/components/Sidebar/index.js +158 -0
  93. package/lib/components/BulkEditPanel/components/Tabs/Metadata/Metadata.js +246 -0
  94. package/lib/components/BulkEditPanel/components/Tabs/Metadata/Metadata.styled.js +17 -0
  95. package/lib/components/BulkEditPanel/components/Tabs/Tags/Tags.js +222 -0
  96. package/lib/components/BulkEditPanel/components/Tabs/Tags/Tags.mixin.js +20 -0
  97. package/lib/components/BulkEditPanel/components/Tabs/Tags/Tags.styled.js +123 -0
  98. package/lib/components/BulkEditPanel/components/Tabs/Tags/TagsContianer.js +31 -0
  99. package/lib/components/BulkEditPanel/components/Tabs/Tags/TagsPaper.js +95 -0
  100. package/lib/components/BulkEditPanel/components/Tabs/Text/Text.js +167 -0
  101. package/lib/components/BulkEditPanel/components/Tabs/Text/Text.styled.js +15 -0
  102. package/lib/components/BulkEditPanel/components/Tabs/tabs.constants.js +113 -0
  103. package/lib/components/BulkEditPanel/components/Tabs/tabs.js +43 -0
  104. package/lib/components/BulkEditPanel/components/Tabs/tabs.utils.js +239 -0
  105. package/lib/components/BulkEditPanel/index.js +28 -0
  106. package/lib/components/CollectionsView/CollectionFolderIcon.js +35 -0
  107. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/CollectionTreeSkeletion.js +26 -0
  108. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/CollectionVirtualFoldersTree.styled.js +52 -0
  109. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/CollectionVirtualFoldersTree.utils.js +24 -0
  110. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/Folder.js +88 -0
  111. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/Tree.js +50 -0
  112. package/lib/components/CollectionsView/CollectionVirtualFoldersTree/index.js +75 -0
  113. package/lib/components/CollectionsView/CollectionsSkeleton.js +30 -0
  114. package/lib/components/CollectionsView/CollectionsTree/ActiveCollectionContent.js +61 -0
  115. package/lib/components/CollectionsView/CollectionsTree/CollectionTreeItem.js +44 -0
  116. package/lib/components/CollectionsView/CollectionsTree/CollectionsContent.js +130 -0
  117. package/lib/components/CollectionsView/CollectionsTree/CollectionsTree.styled.js +84 -0
  118. package/lib/components/CollectionsView/CollectionsTree/index.js +47 -0
  119. package/lib/components/CollectionsView/CollectionsView.styled.js +38 -0
  120. package/lib/components/CollectionsView/VirtualFoldersGrid.js +67 -0
  121. package/lib/components/CollectionsView/index.js +188 -0
  122. package/lib/components/ContextMenu/BeforeUploadMenu/index.js +51 -0
  123. package/lib/components/ContextMenu/ContextMenu.constants.js +64 -0
  124. package/lib/components/ContextMenu/ContextMenu.hooks.js +35 -0
  125. package/lib/components/ContextMenu/ContextMenu.styled.js +107 -0
  126. package/lib/components/ContextMenu/ContextMenuContent.js +202 -0
  127. package/lib/components/ContextMenu/ContextMenuItem.js +142 -0
  128. package/lib/components/ContextMenu/FileMenu/CollaborateSection/index.js +33 -0
  129. package/lib/components/ContextMenu/FileMenu/DeleteSection/index.js +25 -0
  130. package/lib/components/ContextMenu/FileMenu/EditSection/index.js +42 -0
  131. package/lib/components/ContextMenu/FileMenu/FindSection/index.js +29 -0
  132. package/lib/components/ContextMenu/FileMenu/index.js +15 -0
  133. package/lib/components/ContextMenu/FolderMenu/CollaborateSection/index.js +17 -0
  134. package/lib/components/ContextMenu/FolderMenu/DeleteSection/index.js +41 -0
  135. package/lib/components/ContextMenu/FolderMenu/EditSection/index.js +49 -0
  136. package/lib/components/ContextMenu/FolderMenu/FindSection/index.js +49 -0
  137. package/lib/components/ContextMenu/FolderMenu/FolderMenu.utils.js +31 -0
  138. package/lib/components/ContextMenu/FolderMenu/index.js +14 -0
  139. package/lib/components/ContextMenu/MenuOptions/AddVariationOption.js +59 -0
  140. package/lib/components/ContextMenu/MenuOptions/BulkEditOption.js +47 -0
  141. package/lib/components/ContextMenu/MenuOptions/CdnLinkOption.js +54 -0
  142. package/lib/components/ContextMenu/MenuOptions/DeleteOption.js +70 -0
  143. package/lib/components/ContextMenu/MenuOptions/DownloadOption.js +88 -0
  144. package/lib/components/ContextMenu/MenuOptions/EditImageOption.js +63 -0
  145. package/lib/components/ContextMenu/MenuOptions/EditVideoOption.js +87 -0
  146. package/lib/components/ContextMenu/MenuOptions/LocateFileOption.js +45 -0
  147. package/lib/components/ContextMenu/MenuOptions/ManagaAccessOption.js +67 -0
  148. package/lib/components/ContextMenu/MenuOptions/ManageDetailsOption.js +52 -0
  149. package/lib/components/ContextMenu/MenuOptions/MoveOption.js +54 -0
  150. package/lib/components/ContextMenu/MenuOptions/PreviewOption.js +35 -0
  151. package/lib/components/ContextMenu/MenuOptions/RenameOption.js +66 -0
  152. package/lib/components/ContextMenu/MenuOptions/TransformationOption.js +63 -0
  153. package/lib/components/ContextMenu/MultipleMenu/CollaborateSection/index.js +31 -0
  154. package/lib/components/ContextMenu/MultipleMenu/DeleteSection/index.js +6 -0
  155. package/lib/components/ContextMenu/MultipleMenu/EditSection/index.js +14 -0
  156. package/lib/components/ContextMenu/MultipleMenu/FindSection/index.js +14 -0
  157. package/lib/components/ContextMenu/MultipleMenu/index.js +14 -0
  158. package/lib/components/ContextMenu/SharedMenus/DownloadFolderSubMenu.js +36 -0
  159. package/lib/components/ContextMenu/SharedMenus/DownloadSubMenu.js +70 -0
  160. package/lib/components/ContextMenu/index.js +34 -0
  161. package/lib/components/ContextMenu/utils/calculateMenuHeight.js +20 -0
  162. package/lib/components/ContextMenu/utils/calculateMenuPosition.js +42 -0
  163. package/lib/components/ContextMenu/utils/createSeparator.js +14 -0
  164. package/lib/components/ContextMenu/utils/editMedia.js +17 -0
  165. package/lib/components/ContextMenu/utils/getFileLocation.js +8 -0
  166. package/lib/components/ContextMenu/utils/getFilteredOptions.js +20 -0
  167. package/lib/components/ContextMenu/utils/getProperFolderSelections.js +7 -0
  168. package/lib/components/ContextMenu/utils/isEmptyFolderSelection.js +5 -0
  169. package/lib/components/ContextMenu/utils/isFileContextMenu.js +5 -0
  170. package/lib/components/ContextMenu/utils/isFirstFileVisibilityPublic.js +9 -0
  171. package/lib/components/ContextMenu/utils/isMenuItemVisible.js +5 -0
  172. package/lib/components/ContextMenu/utils/isMixedFiles.js +9 -0
  173. package/lib/components/ContextMenu/utils/isMultipleSelection.js +6 -0
  174. package/lib/components/ContextMenu/utils/isSeparatorHidden.js +7 -0
  175. package/lib/components/ContextMenu/utils/triggerDownload.js +45 -0
  176. package/lib/components/CropPanel/CropOptions.js +155 -0
  177. package/lib/components/CropPanel/CropPanel.constants.js +44 -0
  178. package/lib/components/CropPanel/CropPanel.styled.js +107 -0
  179. package/lib/components/CropPanel/CropPanel.utils.js +48 -0
  180. package/lib/components/CropPanel/CropPanelContent.js +209 -0
  181. package/lib/components/CropPanel/ImageOptions.js +326 -0
  182. package/lib/components/CropPanel/ImageResize.js +207 -0
  183. package/lib/components/CropPanel/Option.js +113 -0
  184. package/lib/components/CropPanel/index.js +22 -0
  185. package/lib/components/Details/Details.constants.js +76 -0
  186. package/lib/components/Details/Details.utils.js +232 -0
  187. package/lib/components/Details/DetailsSideBar.styled.js +139 -0
  188. package/lib/components/Details/EditActionButtons/EditActionButtons.styled.js +27 -0
  189. package/lib/components/Details/EditActionButtons/index.js +38 -0
  190. package/lib/components/Details/FileDetails.js +31 -0
  191. package/lib/components/Details/FileItem/CustomMetadataTab.js +50 -0
  192. package/lib/components/Details/FileItem/FileItem.styled.js +47 -0
  193. package/lib/components/Details/FileItem/GeneralTab.js +113 -0
  194. package/lib/components/Details/FileItem/SharedFileEditData.js +97 -0
  195. package/lib/components/Details/FileItem/index.js +2 -0
  196. package/lib/components/Details/FolderDetails.js +138 -0
  197. package/lib/components/Details/FolderItemList/FolderListItem.js +77 -0
  198. package/lib/components/Details/FolderItemList/index.js +62 -0
  199. package/lib/components/Details/MultiItemsDetails.js +69 -0
  200. package/lib/components/Details/MultipleItems.js +71 -0
  201. package/lib/components/Details/TabChips.js +51 -0
  202. package/lib/components/Details/TabPanels.js +42 -0
  203. package/lib/components/Details/Title.js +52 -0
  204. package/lib/components/Details/index.js +53 -0
  205. package/lib/components/DnD/Dnd.styled.js +11 -0
  206. package/lib/components/DnD/DragImage.js +61 -0
  207. package/lib/components/DnD/index.js +219 -0
  208. package/lib/components/Drawer/Drawer.styled.js +45 -0
  209. package/lib/components/Drawer/Drawer.utils.js +163 -0
  210. package/lib/components/Drawer/Resizer.js +141 -0
  211. package/lib/components/Drawer/ResizerCore.js +213 -0
  212. package/lib/components/Drawer/index.js +68 -0
  213. package/lib/components/EmptyViewPlaceholder/EmptyViewPlaceholder.styled.js +39 -0
  214. package/lib/components/EmptyViewPlaceholder/index.js +58 -0
  215. package/lib/components/ExploreView.js +46 -0
  216. package/lib/components/ExplorerUI.js +17 -0
  217. package/lib/components/ExplorerWrapper.js +114 -0
  218. package/lib/components/FacetedSearch/DrawerBody/index.js +42 -0
  219. package/lib/components/FacetedSearch/DrawerWrapper/index.js +83 -0
  220. package/lib/components/FacetedSearch/FacetedSearch.constants.js +27 -0
  221. package/lib/components/FacetedSearch/FacetedSearch.styled.js +101 -0
  222. package/lib/components/FacetedSearch/FacetedSearch.utils.js +3 -0
  223. package/lib/components/FacetedSearch/Field/Date.js +69 -0
  224. package/lib/components/FacetedSearch/Field/Placeholder.js +20 -0
  225. package/lib/components/FacetedSearch/Field/Select.js +136 -0
  226. package/lib/components/FacetedSearch/Field/Switch.js +59 -0
  227. package/lib/components/FacetedSearch/Field/index.js +27 -0
  228. package/lib/components/FacetedSearch/GroupWrapper/index.js +129 -0
  229. package/lib/components/FacetedSearch/StaticFields/Date.js +152 -0
  230. package/lib/components/FacetedSearch/index.js +12 -0
  231. package/lib/components/FileItem/FileInfo/FileInfo.styled.js +126 -0
  232. package/lib/components/FileItem/FileInfo/FileInfo.utils.js +13 -0
  233. package/lib/components/FileItem/FileInfo/FileMetadata.js +37 -0
  234. package/lib/components/FileItem/FileInfo/FileName.js +197 -0
  235. package/lib/components/FileItem/FileInfo/index.js +200 -0
  236. package/lib/components/FileItem/FileItem.mixin.js +22 -0
  237. package/lib/components/FileItem/FileItem.styled.js +54 -0
  238. package/lib/components/FileItem/FileUploadTopOptions.js +87 -0
  239. package/lib/components/FileItem/PreUploadFileThumbnail/FileThumbnail.js +61 -0
  240. package/lib/components/FileItem/PreUploadFileThumbnail/PreUploadFileThumbnail.styled.js +8 -0
  241. package/lib/components/FileItem/PreUploadFileThumbnail/index.js +27 -0
  242. package/lib/components/FileItem/index.js +164 -0
  243. package/lib/components/FileWindowPanel/Body/ActionButtons.js +70 -0
  244. package/lib/components/FileWindowPanel/Body/Body.constants.js +5 -0
  245. package/lib/components/FileWindowPanel/Body/Body.styled.js +196 -0
  246. package/lib/components/FileWindowPanel/Body/BodyFile.js +165 -0
  247. package/lib/components/FileWindowPanel/Body/Footer.js +60 -0
  248. package/lib/components/FileWindowPanel/Body/Preview.js +232 -0
  249. package/lib/components/FileWindowPanel/Body/PreviewPlaceholder.js +20 -0
  250. package/lib/components/FileWindowPanel/Body/VideoEmbed.js +80 -0
  251. package/lib/components/FileWindowPanel/Body/index.js +108 -0
  252. package/lib/components/FileWindowPanel/FileTabs/FileTabButtons.js +98 -0
  253. package/lib/components/FileWindowPanel/FileTabs/FileTabs.constants.js +50 -0
  254. package/lib/components/FileWindowPanel/FileTabs/FileTabs.styled.js +99 -0
  255. package/lib/components/FileWindowPanel/FileTabs/FileTabsList.js +91 -0
  256. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/EditableField.js +78 -0
  257. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/FieldLabel.js +40 -0
  258. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/FieldRow.js +57 -0
  259. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/FieldValue.js +20 -0
  260. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/FieldWithTooltip.js +29 -0
  261. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/GeneralSection.js +183 -0
  262. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/GeneralTab.constants.js +2 -0
  263. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/GeneralTab.styled.js +112 -0
  264. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/GeneralTabSkeleton.js +70 -0
  265. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/TableSeparator.js +10 -0
  266. package/lib/components/FileWindowPanel/FileTabs/GeneralTab/index.js +100 -0
  267. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/CustomMetadataSection.js +247 -0
  268. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/EmbeddedMetadataSection.js +31 -0
  269. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/MetadataTab.constants.js +2 -0
  270. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/MetadataTab.styled.js +134 -0
  271. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/MetadataTabSkeleton.js +70 -0
  272. package/lib/components/FileWindowPanel/FileTabs/MetadataTab/index.js +181 -0
  273. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationItem.js +78 -0
  274. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/Variations.constants.js +26 -0
  275. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/Variations.styled.js +177 -0
  276. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/Variations.thunks.js +99 -0
  277. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/Variations.utils.js +23 -0
  278. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsContent.js +92 -0
  279. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsEditModalContent.js +57 -0
  280. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsSearch.js +44 -0
  281. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsSkeleton.js +35 -0
  282. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsTabNavigator.js +35 -0
  283. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsTabs.js +40 -0
  284. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/VariationsTopOptions.js +204 -0
  285. package/lib/components/FileWindowPanel/FileTabs/VariationsTab/index.js +606 -0
  286. package/lib/components/FileWindowPanel/FileTabs/index.js +83 -0
  287. package/lib/components/FileWindowPanel/FileWindow.js +221 -0
  288. package/lib/components/FileWindowPanel/FileWindow.styled.js +19 -0
  289. package/lib/components/FileWindowPanel/FileWindow.utils.js +38 -0
  290. package/lib/components/FileWindowPanel/Header/AfterUploadActionBtns.js +69 -0
  291. package/lib/components/FileWindowPanel/Header/BeforeUploadActionBtns.js +100 -0
  292. package/lib/components/FileWindowPanel/Header/FileWindowHeader.styled.js +56 -0
  293. package/lib/components/FileWindowPanel/Header/MutualActionBtns.js +92 -0
  294. package/lib/components/FileWindowPanel/Header/index.js +118 -0
  295. package/lib/components/FileWindowPanel/index.js +60 -0
  296. package/lib/components/Filters/Filters.constants.js +358 -0
  297. package/lib/components/Filters/Filters.styled.js +235 -0
  298. package/lib/components/Filters/Filters.utils.js +536 -0
  299. package/lib/components/Filters/FiltersContext.js +59 -0
  300. package/lib/components/Filters/FiltersSkeleton.js +14 -0
  301. package/lib/components/Filters/Groups/Date/index.js +201 -0
  302. package/lib/components/Filters/Groups/Folders/FoldersSkeleton.js +43 -0
  303. package/lib/components/Filters/Groups/Folders/index.js +109 -0
  304. package/lib/components/Filters/Groups/Image/Colors.js +73 -0
  305. package/lib/components/Filters/Groups/Image/Faces.js +64 -0
  306. package/lib/components/Filters/Groups/Image/Orientations.js +64 -0
  307. package/lib/components/Filters/Groups/Image/Resolutions.js +65 -0
  308. package/lib/components/Filters/Groups/Image/Tooltip.js +14 -0
  309. package/lib/components/Filters/Groups/Image/index.js +104 -0
  310. package/lib/components/Filters/Groups/LicenseExpiry/LicenseExpiry.styled.js +17 -0
  311. package/lib/components/Filters/Groups/LicenseExpiry/index.js +97 -0
  312. package/lib/components/Filters/Groups/Metadata/Advanced/ConditionSelector.js +40 -0
  313. package/lib/components/Filters/Groups/Metadata/Advanced/ExtraRow/ConditionSelector.js +35 -0
  314. package/lib/components/Filters/Groups/Metadata/Advanced/ExtraRow/ValueSelector.js +33 -0
  315. package/lib/components/Filters/Groups/Metadata/Advanced/ExtraRow/index.js +18 -0
  316. package/lib/components/Filters/Groups/Metadata/Advanced/Field/AutoComplete.js +56 -0
  317. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Boolean.js +35 -0
  318. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Date.js +36 -0
  319. package/lib/components/Filters/Groups/Metadata/Advanced/Field/GeoPointField.js +30 -0
  320. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Numeric.js +32 -0
  321. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Select.js +55 -0
  322. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Tags.js +21 -0
  323. package/lib/components/Filters/Groups/Metadata/Advanced/Field/Text.js +39 -0
  324. package/lib/components/Filters/Groups/Metadata/Advanced/Field/index.js +52 -0
  325. package/lib/components/Filters/Groups/Metadata/Advanced/KeySelector.js +34 -0
  326. package/lib/components/Filters/Groups/Metadata/Advanced/Row.js +53 -0
  327. package/lib/components/Filters/Groups/Metadata/Advanced/index.js +48 -0
  328. package/lib/components/Filters/Groups/Metadata/Basic/Field/Date.js +45 -0
  329. package/lib/components/Filters/Groups/Metadata/Basic/Field/Field.utils.js +58 -0
  330. package/lib/components/Filters/Groups/Metadata/Basic/Field/Numeric.js +51 -0
  331. package/lib/components/Filters/Groups/Metadata/Basic/Field/OptionsPopup.js +87 -0
  332. package/lib/components/Filters/Groups/Metadata/Basic/Field/Select.js +168 -0
  333. package/lib/components/Filters/Groups/Metadata/Basic/Field/Switch.js +41 -0
  334. package/lib/components/Filters/Groups/Metadata/Basic/Field/Tags.js +38 -0
  335. package/lib/components/Filters/Groups/Metadata/Basic/Field/Text.js +57 -0
  336. package/lib/components/Filters/Groups/Metadata/Basic/Field/Uri.js +54 -0
  337. package/lib/components/Filters/Groups/Metadata/Basic/Field/index.js +46 -0
  338. package/lib/components/Filters/Groups/Metadata/Basic/GroupWrapper.js +79 -0
  339. package/lib/components/Filters/Groups/Metadata/Basic/index.js +80 -0
  340. package/lib/components/Filters/Groups/Metadata/Metadata.constants.js +42 -0
  341. package/lib/components/Filters/Groups/Metadata/Metadata.styled.js +150 -0
  342. package/lib/components/Filters/Groups/Metadata/Metadata.utils.js +160 -0
  343. package/lib/components/Filters/Groups/Metadata/MetadataFiltersContext.js +329 -0
  344. package/lib/components/Filters/Groups/Metadata/Placeholder.js +25 -0
  345. package/lib/components/Filters/Groups/Metadata/common/TagsField/TagsMenu.js +81 -0
  346. package/lib/components/Filters/Groups/Metadata/common/TagsField/TagsSearchPlaceholder.js +18 -0
  347. package/lib/components/Filters/Groups/Metadata/common/TagsField/index.js +142 -0
  348. package/lib/components/Filters/Groups/Metadata/index.js +111 -0
  349. package/lib/components/Filters/Groups/Size/index.js +125 -0
  350. package/lib/components/Filters/Groups/Tags/FilteredTags.js +62 -0
  351. package/lib/components/Filters/Groups/Tags/SelectedTags.js +51 -0
  352. package/lib/components/Filters/Groups/Tags/SuggestedTags.js +43 -0
  353. package/lib/components/Filters/Groups/Tags/index.js +146 -0
  354. package/lib/components/Filters/Groups/TypeAndFormat/Format.js +65 -0
  355. package/lib/components/Filters/Groups/TypeAndFormat/Type.js +85 -0
  356. package/lib/components/Filters/Groups/TypeAndFormat/index.js +114 -0
  357. package/lib/components/Filters/Groups/common/DateRangeField/DateRangeField.styled.js +10 -0
  358. package/lib/components/Filters/Groups/common/DateRangeField/index.js +72 -0
  359. package/lib/components/Filters/Groups/common/FilterFooter.js +67 -0
  360. package/lib/components/Filters/Groups/common/FilterOptions.js +29 -0
  361. package/lib/components/Filters/Groups/common/FilterSearch.js +22 -0
  362. package/lib/components/Filters/Groups/common/FilterSearch.styled.js +15 -0
  363. package/lib/components/Filters/Groups/common/FilterSkeleton.js +44 -0
  364. package/lib/components/Filters/Groups/common/TimeFrames.js +35 -0
  365. package/lib/components/Filters/Groups/index.js +55 -0
  366. package/lib/components/Filters/Placeholder.js +29 -0
  367. package/lib/components/Filters/hooks/useDateTypeFilterValues.js +182 -0
  368. package/lib/components/Filters/hooks/useFilters.js +79 -0
  369. package/lib/components/Filters/index.js +78 -0
  370. package/lib/components/FoldersView/FoldersTree/FoldersTree.styled.js +193 -0
  371. package/lib/components/FoldersView/FoldersTree/FoldersTree.utils.js +78 -0
  372. package/lib/components/FoldersView/FoldersTree/FoldersTreeHeader.js +52 -0
  373. package/lib/components/FoldersView/FoldersTree/FoldersTreeList.js +64 -0
  374. package/lib/components/FoldersView/FoldersTree/FoldersTreeListItem.js +270 -0
  375. package/lib/components/FoldersView/FoldersTree/FoldersTreeSearch.js +70 -0
  376. package/lib/components/FoldersView/FoldersTree/FoldersTreeSkeleton.js +23 -0
  377. package/lib/components/FoldersView/FoldersTree/NoFoldersResult.js +19 -0
  378. package/lib/components/FoldersView/FoldersTree/SearchedFoldersItem.js +113 -0
  379. package/lib/components/FoldersView/FoldersTree/index.js +163 -0
  380. package/lib/components/FoldersView/hooks/useAddFolder.js +60 -0
  381. package/lib/components/FoldersView/index.js +282 -0
  382. package/lib/components/GalleryRoleSelect/CustomRolesTab.js +47 -0
  383. package/lib/components/GalleryRoleSelect/CustomRolesTab.styled.js +10 -0
  384. package/lib/components/GalleryRoleSelect/GalleryRoleSelect.constants.js +11 -0
  385. package/lib/components/GalleryRoleSelect/GalleryRoleSelect.styled.js +132 -0
  386. package/lib/components/GalleryRoleSelect/GalleryRoleSelect.utils.js +87 -0
  387. package/lib/components/GalleryRoleSelect/StandardRolesTab.js +58 -0
  388. package/lib/components/GalleryRoleSelect/index.js +234 -0
  389. package/lib/components/HeaderBar/FacetedSearchToggleButton.js +28 -0
  390. package/lib/components/HeaderBar/HeaderBar.styled.js +25 -0
  391. package/lib/components/HeaderBar/RightSide.js +127 -0
  392. package/lib/components/HeaderBar/index.js +81 -0
  393. package/lib/components/ImageEditorPanel/index.js +33 -0
  394. package/lib/components/InfiniteScroll/InfiniteScroll.js +97 -0
  395. package/lib/components/InfiniteScroll/InfiniteScroll.styled.js +11 -0
  396. package/lib/components/Informer/index.js +9 -0
  397. package/lib/components/LabelsView/LabelsTree/LabelsTree.styled.js +86 -0
  398. package/lib/components/LabelsView/LabelsTree/LabelsTreeSkeleton.js +21 -0
  399. package/lib/components/LabelsView/LabelsTree/index.js +128 -0
  400. package/lib/components/LabelsView/LabelsView.styled.js +10 -0
  401. package/lib/components/LabelsView/index.js +139 -0
  402. package/lib/components/LoginScreen/LoginScreen.styled.js +39 -0
  403. package/lib/components/LoginScreen/index.js +133 -0
  404. package/lib/components/MainMenu/MainMenu.styled.js +12 -0
  405. package/lib/components/MainMenu/index.js +77 -0
  406. package/lib/components/Modals/AddNewFolder/AddNewFolder.hooks.js +99 -0
  407. package/lib/components/Modals/AddNewFolder/index.js +1 -0
  408. package/lib/components/Modals/ConfirmationModal/ConfirmationModal.hooks.js +101 -0
  409. package/lib/components/Modals/ConfirmationModal/index.js +1 -0
  410. package/lib/components/Modals/DeleteItems/DeleteItems.hooks.js +233 -0
  411. package/lib/components/Modals/DeleteItems/index.js +1 -0
  412. package/lib/components/Modals/DeleteModal/DeleteModal.hooks.js +87 -0
  413. package/lib/components/Modals/DeleteModal/index.js +1 -0
  414. package/lib/components/Modals/DownloadConsent/DownlaodConsent.styled.js +8 -0
  415. package/lib/components/Modals/DownloadConsent/DownloadConsent.hooks.js +101 -0
  416. package/lib/components/Modals/DownloadConsent/DownloadConsentContent.js +52 -0
  417. package/lib/components/Modals/DownloadConsent/index.js +2 -0
  418. package/lib/components/Modals/Modals.js +386 -0
  419. package/lib/components/Modals/Modals.styled.js +80 -0
  420. package/lib/components/Modals/MoveItems/MoveItems.hooks.js +88 -0
  421. package/lib/components/Modals/MoveItems/index.js +1 -0
  422. package/lib/components/Modals/TransformedDownload/PdfModalContent.js +109 -0
  423. package/lib/components/Modals/TransformedDownload/TransformedDownload.hooks.js +197 -0
  424. package/lib/components/Modals/TransformedDownload/TransformedDownload.styled.js +29 -0
  425. package/lib/components/Modals/TransformedDownload/TransformedDownload.utils.js +46 -0
  426. package/lib/components/Modals/TransformedDownload/index.js +2 -0
  427. package/lib/components/Modals/index.js +8 -0
  428. package/lib/components/NoItems/NoItems.styled.js +54 -0
  429. package/lib/components/NoItems/index.js +50 -0
  430. package/lib/components/PdftronPanel/index.js +31 -0
  431. package/lib/components/PickerPanel/PickerPanel.styled.js +41 -0
  432. package/lib/components/PickerPanel/PickerPanelContent.js +100 -0
  433. package/lib/components/PickerPanel/index.js +21 -0
  434. package/lib/components/ProgressPanel/ProgressPanel.utils.js +29 -0
  435. package/lib/components/ProgressPanel/index.js +37 -0
  436. package/lib/components/TopBar/AppliedFilterChips/AppliedFilterChips.styled.js +11 -0
  437. package/lib/components/TopBar/AppliedFilterChips/index.js +77 -0
  438. package/lib/components/TopBar/Search/ContextDropdown/ContextDropdown.styled.js +59 -0
  439. package/lib/components/TopBar/Search/ContextDropdown/ContextDropdown.utils.js +67 -0
  440. package/lib/components/TopBar/Search/ContextDropdown/index.js +170 -0
  441. package/lib/components/TopBar/Search/PrependedOptions/TempFilterRegexInput.js +133 -0
  442. package/lib/components/TopBar/Search/Search.utils.js +88 -0
  443. package/lib/components/TopBar/Search/SimilarSearchTag.js +60 -0
  444. package/lib/components/TopBar/Search/index.js +251 -0
  445. package/lib/components/TopBar/TopBar.styled.js +37 -0
  446. package/lib/components/TopBar/index.js +61 -0
  447. package/lib/components/TopSection/TopSection.styled.js +22 -0
  448. package/lib/components/TopSection/index.js +58 -0
  449. package/lib/components/UploadBar/UploadBar.styled.js +84 -0
  450. package/lib/components/UploadBar/index.js +222 -0
  451. package/lib/components/UploadStatus/index.js +20 -0
  452. package/lib/components/UploadsPanel/UploadsList/Header.js +19 -0
  453. package/lib/components/UploadsPanel/UploadsList/List.js +29 -0
  454. package/lib/components/UploadsPanel/UploadsList/PreUploadPlugins.js +22 -0
  455. package/lib/components/UploadsPanel/UploadsList/UploadsList.styled.js +64 -0
  456. package/lib/components/UploadsPanel/UploadsList/UploadsList.utils.js +17 -0
  457. package/lib/components/UploadsPanel/UploadsList/UploadsVirtualGrid.js +29 -0
  458. package/lib/components/UploadsPanel/UploadsList/index.js +55 -0
  459. package/lib/components/UploadsPanel/UploadsPanel.styled.js +24 -0
  460. package/lib/components/UploadsPanel/UploadsPanelTopBar.js +16 -0
  461. package/lib/components/UploadsPanel/index.js +36 -0
  462. package/lib/components/UrlBuilderModal/UrlBuilderModal.styled.js +9 -0
  463. package/lib/components/UrlBuilderModal/index.js +97 -0
  464. package/lib/components/Views/ErroredViewPlaceholder.js +48 -0
  465. package/lib/components/Views/Views.constants.js +55 -0
  466. package/lib/components/Views/Views.styled.js +87 -0
  467. package/lib/components/Views/index.js +107 -0
  468. package/lib/components/common/DeleteModalItemText/DeleteModalItemText.styled.js +8 -0
  469. package/lib/components/common/DeleteModalItemText/index.js +29 -0
  470. package/lib/components/common/EditDetailsButton/EditDetailsButton.styled.js +35 -0
  471. package/lib/components/common/EditDetailsButton/index.js +28 -0
  472. package/lib/components/common/ExpiryDateTooltipContent/ExpiryDateTooltipContent.styled.js +16 -0
  473. package/lib/components/common/ExpiryDateTooltipContent/index.js +29 -0
  474. package/lib/components/common/FileApprovalsInfoPopup/index.js +46 -0
  475. package/lib/components/common/FileMetadataFieldValue/CustomMetadataFieldValue.js +48 -0
  476. package/lib/components/common/FileMetadataFieldValue/FileMetadataFieldValue.styled.js +66 -0
  477. package/lib/components/common/FileMetadataFieldValue/FileMetadataFieldValue.utils.js +315 -0
  478. package/lib/components/common/FileMetadataFieldValue/GeneralMetadataFieldValue.js +120 -0
  479. package/lib/components/common/FileMetadataFieldValue/index.js +26 -0
  480. package/lib/components/common/FileMetadataFieldValue/utils/getFontInfo.js +78 -0
  481. package/lib/components/common/FolderSelector/BrowseFoldersMenu.js +114 -0
  482. package/lib/components/common/FolderSelector/FolderSearchMenu.js +45 -0
  483. package/lib/components/common/FolderSelector/FolderSelector.styled.js +41 -0
  484. package/lib/components/common/FolderSelector/index.js +186 -0
  485. package/lib/components/common/FormattedUriLink/FormattedUriLink.styled.js +15 -0
  486. package/lib/components/common/FormattedUriLink/index.js +21 -0
  487. package/lib/components/common/OriginalBadge/OriginalBadge.styled.js +17 -0
  488. package/lib/components/common/OriginalBadge/index.js +14 -0
  489. package/lib/components/common/SanitizedHtmlElement/index.js +11 -0
  490. package/lib/components/common/Sort/Sort.constants.js +88 -0
  491. package/lib/components/common/Sort/Sort.styled.js +47 -0
  492. package/lib/components/common/Sort/Sort.utils.js +14 -0
  493. package/lib/components/common/Sort/index.js +183 -0
  494. package/lib/components/common/TextWithCopyIcon/TextWithCopyIcon.styled.js +44 -0
  495. package/lib/components/common/TextWithCopyIcon/index.js +71 -0
  496. package/lib/components/common/TopBarUploadButton/index.js +40 -0
  497. package/lib/components/common/TrimmedFilePathWithLocate/TrimmedFilePathWithLocate.utils.js +3 -0
  498. package/lib/components/common/TrimmedFilePathWithLocate/index.js +34 -0
  499. package/lib/components/common/TrimmedFolderPathWithLocate/index.js +13 -0
  500. package/lib/components/common/TrimmedPathWithLocate/TrimmedPathWithLocate.styled.js +30 -0
  501. package/lib/components/common/TrimmedPathWithLocate/index.js +40 -0
  502. package/lib/components/metadata.adapter.js +365 -0
  503. package/lib/defaultLocale.js +1396 -0
  504. package/lib/hooks/index.js +16 -0
  505. package/lib/hooks/useAssetsPicker.js +274 -0
  506. package/lib/hooks/useDownloadFilesCsv.js +20 -0
  507. package/lib/hooks/useEditFileDetails.js +505 -0
  508. package/lib/hooks/useExplorer.js +6 -0
  509. package/lib/hooks/useExplorerI18n.js +10 -0
  510. package/lib/hooks/useExplorerInformer.js +10 -0
  511. package/lib/hooks/useFetchFileFolderPermissions.js +31 -0
  512. package/lib/hooks/useFetchMetadataTagsBySearchQuery.js +38 -0
  513. package/lib/hooks/useFileMetadata.js +117 -0
  514. package/lib/hooks/useFilterSearch.js +37 -0
  515. package/lib/hooks/useForcedFilters.js +39 -0
  516. package/lib/hooks/useIsOverflow.js +25 -0
  517. package/lib/hooks/useIsSmallScreen.js +20 -0
  518. package/lib/hooks/useLocateFile.js +231 -0
  519. package/lib/hooks/usePrevious.js +9 -0
  520. package/lib/hooks/useSearchSuggestions.js +168 -0
  521. package/lib/hooks/useStartUpload.js +43 -0
  522. package/lib/hooks/useToLocaleNumber.js +14 -0
  523. package/lib/hooks/useValidateFileName.js +324 -0
  524. package/lib/index.js +1616 -0
  525. package/lib/slices/collections.slice.js +714 -0
  526. package/lib/slices/common.slice.js +217 -0
  527. package/lib/slices/drag.slice.js +75 -0
  528. package/lib/slices/files.slice.js +1310 -0
  529. package/lib/slices/filters.slice.js +382 -0
  530. package/lib/slices/folders.slice.js +978 -0
  531. package/lib/slices/foldersTree.slice.js +501 -0
  532. package/lib/slices/index.js +36 -0
  533. package/lib/slices/labels.slice.js +652 -0
  534. package/lib/slices/metadata.slice.js +494 -0
  535. package/lib/slices/panels.slice.js +351 -0
  536. package/lib/slices/search.slice.js +995 -0
  537. package/lib/slices/selections.slice.js +315 -0
  538. package/lib/slices/targets.slice.js +44 -0
  539. package/lib/slices/topSection.slice.js +71 -0
  540. package/lib/slices/views.slice.js +357 -0
  541. package/lib/thunks/archive.thunks.js +175 -0
  542. package/lib/thunks/downloads.thunks.js +415 -0
  543. package/lib/thunks/items.thunks.js +274 -0
  544. package/lib/thunks/permissions.thunks.js +66 -0
  545. package/lib/thunks/uploads.thunks.js +235 -0
  546. package/lib/utils/SearchSuggestions/SearchSuggestionsMenu.js +95 -0
  547. package/lib/utils/SearchSuggestions/SuggestionMode.js +70 -0
  548. package/lib/utils/SearchSuggestions/SuggestionModeAttribute.js +87 -0
  549. package/lib/utils/SearchSuggestions/SuggestionModeExpression.js +121 -0
  550. package/lib/utils/SearchSuggestions/SuggestionModeTag.js +87 -0
  551. package/lib/utils/SearchSuggestions/SuggestionsManager.js +242 -0
  552. package/lib/utils/SearchSuggestions/constants.js +14 -0
  553. package/lib/utils/SearchSuggestions/index.js +4 -0
  554. package/lib/utils/SearchSuggestions/styled.js +12 -0
  555. package/lib/utils/availableScreenSizes.js +4 -0
  556. package/lib/utils/constants.js +14 -0
  557. package/lib/utils/convertItemsToFilesFoldersUuids.js +12 -0
  558. package/lib/utils/convertItemstoFoldersParentUuids.js +12 -0
  559. package/lib/utils/createPromise.js +9 -0
  560. package/lib/utils/createSuperFocus.js +43 -0
  561. package/lib/utils/decodeB64ToStr.js +11 -0
  562. package/lib/utils/filters.js +333 -0
  563. package/lib/utils/formatFolderPath.js +10 -0
  564. package/lib/utils/formatPinSubTitle.js +17 -0
  565. package/lib/utils/getAcquirerTitle.js +10 -0
  566. package/lib/utils/getActiveOverlayEl.js +11 -0
  567. package/lib/utils/getApiPathtype.js +10 -0
  568. package/lib/utils/getClosestStr.js +22 -0
  569. package/lib/utils/getItemUuids.js +12 -0
  570. package/lib/utils/getLabelsTotalAssetsCount.js +6 -0
  571. package/lib/utils/getMoveAndDeleteData.js +15 -0
  572. package/lib/utils/getParentFolderPath.js +4 -0
  573. package/lib/utils/getQueryStringFromUrl.js +6 -0
  574. package/lib/utils/getScrollableParent.js +15 -0
  575. package/lib/utils/getStringValueExistedInObj.js +9 -0
  576. package/lib/utils/isEmbeddableAsset.js +6 -0
  577. package/lib/utils/isFileVersion.js +9 -0
  578. package/lib/utils/mapArrayKeysToObjValues.js +33 -0
  579. package/lib/utils/mapFiltersToShownFormat.js +252 -0
  580. package/lib/utils/prepareExportedFilesLinks.js +12 -0
  581. package/lib/utils/prepareSearchUrl.js +75 -0
  582. package/lib/utils/removeBackground.js +60 -0
  583. package/lib/utils/removeExtraUrlParams.js +13 -0
  584. package/lib/utils/scrollToAndFocusItemElement.js +16 -0
  585. package/lib/utils/toggleFolderNotFoundModal.js +25 -0
  586. package/lib/utils/trapFocus.js +59 -0
  587. package/lib/utils/truncateString.js +28 -0
  588. package/package.json +8 -8
@@ -0,0 +1,978 @@
1
+ var _excluded = ["sortBy", "sortOrder", "fetchFiles", "replaceOldFolders"],
2
+ _excluded2 = ["path", "options", "limit", "offset", "withStats", "replaceOldFolders", "abortSignal", "skipDispatch", "skipPendingDispatch", "withPreviews", "addFolderRequestBaseToEntities"];
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
5
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
7
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
8
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
9
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
10
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ import { createSlice, createSelector, isAnyOf } from '@reduxjs/toolkit';
23
+ import { PERMISSIONS, PLUGINS_IDS, VIEW_IDS, LAYOUTS_IDS, FMAW_URL_QUERY_PARAMS } from '@scaleflex/widget-utils/lib/constants';
24
+ import createThunk from '@scaleflex/widget-utils/lib/createThunk';
25
+ import { generateUserKey } from '@scaleflex/widget-core/lib/slices/user.slice';
26
+ import getActionErrorState from '@scaleflex/widget-utils/lib/getActionErrorState';
27
+ import getNormalizedItems from '@scaleflex/widget-utils/lib/getNormalizedItems';
28
+ import { changeView, searchOrListViewFiles, selectIsFoldersView, selectIsSearchMode, selectViewLayout, viewChanged } from './views.slice';
29
+ import { selectAllSelectedItemsCount, selectionsCleared } from './selections.slice';
30
+ import { bubbleFetchFoldersTree, recursivelyFetchFoldersTree, selectFoldersTreeLoadedFolders } from './foldersTree.slice';
31
+ import { DEFAULT_SORT_OPTION, SORT_ORDER } from '../components/common/Sort/Sort.constants';
32
+ import { extractFolderTreeSlice } from '../components/FoldersView/FoldersTree/FoldersTree.utils';
33
+ import getParentFolderPath from '../utils/getParentFolderPath';
34
+ import { selectFilesSortedBy, selectFilesSortOrder } from './files.slice';
35
+
36
+ /**
37
+ * The order of the code in slice file is:
38
+ * 1. getInitialState (*No* export needed)
39
+ * 2. automated thunks functions -- uses createThunk API-- (export needed)
40
+ * 3. createSlice (*No* export needed)
41
+ * 4. actions exports
42
+ * 5. selectors (export needed)
43
+ * 6. default reducer export
44
+ *
45
+ */
46
+
47
+ var addedFolderExtraProps = {
48
+ loading: false,
49
+ error: null,
50
+ isFolder: true,
51
+ type: 'folder'
52
+ };
53
+ var slicePropName = 'folders';
54
+ var sliceName = "".concat(PLUGINS_IDS.EXPLORER, "/").concat(slicePropName);
55
+ var sliceNameWithSeparator = "".concat(sliceName, "/"); // we are using this instead of sliceName directly as it'll match the foldersTree reducers also as it starts with folders too, so we are adding the slash to make sure it's folders only.
56
+
57
+ // Changed from object to function to always re-calculate the object on calling to have the latest value of referenced objects (sorting...etc if changed.
58
+ var getInitialState = function getInitialState() {
59
+ return {
60
+ uuids: [],
61
+ entities: {},
62
+ baseFolderPath: '',
63
+ // loaded from backend (on having sass key of the user) if none, then added from opts otherwise '/' default is set
64
+ currentFolder: {},
65
+ // it should be the uuid only maybe and keep its object in the entities?
66
+ loading: true,
67
+ error: null,
68
+ showTree: true,
69
+ stats: {
70
+ loading: false,
71
+ totalFilesCount: 0,
72
+ totalFoldersCount: 0
73
+ },
74
+ offset: 0,
75
+ sortOrder: DEFAULT_SORT_OPTION.order,
76
+ sortedBy: DEFAULT_SORT_OPTION.by,
77
+ noMoreFolders: false,
78
+ isFetchFilesRecursively: false
79
+ };
80
+ };
81
+ export var activateFoldersView = createThunk(async function () {
82
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
83
+ filesLimit = _ref.filesLimit,
84
+ _ref$itemToOpen = _ref.itemToOpen,
85
+ folderPathToOpen = _ref$itemToOpen === void 0 ? null : _ref$itemToOpen,
86
+ _ref$skipViewDispatch = _ref.skipViewDispatch,
87
+ skipViewDispatch = _ref$skipViewDispatch === void 0 ? false : _ref$skipViewDispatch,
88
+ _ref$keepFiltersAndSe = _ref.keepFiltersAndSearch,
89
+ keepFiltersAndSearch = _ref$keepFiltersAndSe === void 0 ? false : _ref$keepFiltersAndSe,
90
+ _ref$fromUrl = _ref.fromUrl,
91
+ fromUrl = _ref$fromUrl === void 0 ? false : _ref$fromUrl,
92
+ _ref$isRecursive = _ref.isRecursive,
93
+ isRecursive = _ref$isRecursive === void 0 ? false : _ref$isRecursive;
94
+ var thunkApi = arguments.length > 1 ? arguments[1] : undefined;
95
+ var dispatch = thunkApi.dispatch,
96
+ getState = thunkApi.getState;
97
+ var folderPath = folderPathToOpen || selectBaseFolderPath(getState());
98
+ if (!skipViewDispatch) {
99
+ dispatch(changeView({
100
+ view: VIEW_IDS.FOLDERS,
101
+ keepFiltersAndSearch: keepFiltersAndSearch,
102
+ fromUrl: fromUrl
103
+ }));
104
+ }
105
+ dispatch(bubbleFetchFoldersTree(folderPath));
106
+ if (isRecursive) {
107
+ dispatch(folderFilesRecursiveFetchUpdated({
108
+ isRecursive: isRecursive
109
+ }));
110
+ }
111
+ return dispatch(openFolderByPath({
112
+ folderPath: folderPath,
113
+ filesLimit: filesLimit,
114
+ dontFetchFoldersTree: true
115
+ }));
116
+ });
117
+ export var openBaseFolder = createThunk(function (_ref2, thunkApi) {
118
+ var _ref2$dontFetchFolder = _ref2.dontFetchFoldersTree,
119
+ dontFetchFoldersTree = _ref2$dontFetchFolder === void 0 ? true : _ref2$dontFetchFolder;
120
+ var baseFolderPath = selectBaseFolderPath(thunkApi.getState());
121
+ thunkApi.dispatch(openFolderByPath({
122
+ folderPath: baseFolderPath,
123
+ dontFetchFoldersTree: dontFetchFoldersTree
124
+ }));
125
+ });
126
+ export var toggleFoldersTree = createThunk(function (showTree, thunkApi) {
127
+ var newValue = showTree !== null && showTree !== void 0 ? showTree : !selectIsFoldersTreeOpened(thunkApi.getState());
128
+ thunkApi.dispatch(foldersStateUpdated({
129
+ showTree: newValue
130
+ }));
131
+ thunkApi.extra.filerobot.emit('folders-tree-trigger', newValue);
132
+ return newValue;
133
+ });
134
+
135
+ // // used in opening folders that expects to open a folder with a deep path (that its parents are not loaded/expanded/opened yet).
136
+ // export const openFolderByPathWithBubbleFetch = createThunk((folderPath, thunkApi) => {
137
+ // thunkApi.dispatch(bubbleFetchFoldersTree(folderPath))
138
+ // return thunkApi.dispatch(openFolderByPath({ folderPath }))
139
+ // })
140
+
141
+ // if not `folderPath` then it will fetch the current opened folder.
142
+ export var openFolderByPath = createThunk(function (_ref3, thunkApi) {
143
+ var _thunkApi$extra$filer;
144
+ var folderPath = _ref3.folderPath,
145
+ filesLimit = _ref3.filesLimit,
146
+ _ref3$dontFetchFolder = _ref3.dontFetchFoldersTree,
147
+ dontFetchFoldersTree = _ref3$dontFetchFolder === void 0 ? false : _ref3$dontFetchFolder,
148
+ _ref3$fetchFoldersTre = _ref3.fetchFoldersTreeInBubble,
149
+ fetchFoldersTreeInBubble = _ref3$fetchFoldersTre === void 0 ? false : _ref3$fetchFoldersTre;
150
+ var path = folderPath || selectCurrentFolderPath(thunkApi.getState());
151
+ var mutualArgs = {
152
+ path: path,
153
+ offset: 0,
154
+ withStats: true,
155
+ abortSignal: thunkApi.signal
156
+ };
157
+ thunkApi.dispatch(selectionsCleared());
158
+ if (!dontFetchFoldersTree) {
159
+ thunkApi.dispatch(fetchFoldersTreeInBubble ? bubbleFetchFoldersTree(path) : recursivelyFetchFoldersTree(mutualArgs));
160
+ }
161
+ // Cause sorted folders promise' response returns the folders results inside an array [foldersPromiseResult, ...] we're moving it outside of that array with keeping the promise's returned api.
162
+ var sortedFoldersPromise = thunkApi.dispatch(fetchSortedFolders(_objectSpread(_objectSpread({}, mutualArgs), {}, {
163
+ replaceOldFolders: true
164
+ })));
165
+ var foldersPromise = sortedFoldersPromise.throwRejection().then(function (_ref4) {
166
+ var _ref5 = _slicedToArray(_ref4, 1),
167
+ folders = _ref5[0];
168
+ return folders;
169
+ })["catch"](function () {});
170
+ // To copy the properties of the original promise eg. we will have (abort, requestId...etc.)
171
+ _extends(foldersPromise, sortedFoldersPromise);
172
+ var filesPromise = thunkApi.dispatch(fetchFolderFiles(_objectSpread(_objectSpread({}, mutualArgs), {}, {
173
+ skipPendingDispatch: false,
174
+ filesLimit: filesLimit
175
+ }))).throwRejection()["catch"](function () {});
176
+ (_thunkApi$extra$filer = thunkApi.extra.filerobot.getPlugin(PLUGINS_IDS.EXPLORER)) === null || _thunkApi$extra$filer === void 0 ? void 0 : _thunkApi$extra$filer.updateViewQueryInUrl({
177
+ viewItem: path
178
+ });
179
+ return Promise.all([foldersPromise, filesPromise]);
180
+ });
181
+ export var fetchFolderFiles = createThunk(async function () {
182
+ var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
183
+ path = _ref6.path,
184
+ offset = _ref6.offset,
185
+ _ref6$skipPendingDisp = _ref6.skipPendingDispatch,
186
+ skipPendingDispatch = _ref6$skipPendingDisp === void 0 ? true : _ref6$skipPendingDisp,
187
+ _ref6$withStats = _ref6.withStats,
188
+ withStats = _ref6$withStats === void 0 ? false : _ref6$withStats,
189
+ filesLimit = _ref6.filesLimit,
190
+ sorting = _ref6.sorting,
191
+ _ref6$skipDispatch = _ref6.skipDispatch,
192
+ skipDispatch = _ref6$skipDispatch === void 0 ? false : _ref6$skipDispatch;
193
+ var thunkApi = arguments.length > 1 ? arguments[1] : undefined;
194
+ var state = thunkApi.getState();
195
+ var folderPath = path || selectCurrentFolderPath(state);
196
+ var isSearchMode = selectIsSearchMode(state);
197
+ if (isSearchMode) {
198
+ thunkApi.skipDispatch();
199
+ }
200
+ var _ref7 = (await thunkApi.dispatch(searchOrListViewFiles({
201
+ cachedViewQueries: {
202
+ folder: folderPath
203
+ },
204
+ offset: offset !== null && offset !== void 0 ? offset : 0,
205
+ skipPendingDispatch: skipPendingDispatch,
206
+ withStats: withStats,
207
+ limit: filesLimit,
208
+ sorting: sorting,
209
+ skipDispatch: skipDispatch,
210
+ applyActiveViewItemCheck: false // we are making sure we call the folder's files even before the folder is not set as current folder as its request isn't done yet
211
+ })).throwRejection()) || {},
212
+ _ref7$newOffset = _ref7.newOffset,
213
+ newOffset = _ref7$newOffset === void 0 ? 0 : _ref7$newOffset,
214
+ _ref7$noMoreFiles = _ref7.noMoreFiles,
215
+ noMoreFiles = _ref7$noMoreFiles === void 0 ? false : _ref7$noMoreFiles,
216
+ _ref7$files = _ref7.files,
217
+ files = _ref7$files === void 0 ? [] : _ref7$files,
218
+ _ref7$extendResult = _ref7.extendResult,
219
+ extendResult = _ref7$extendResult === void 0 ? {} : _ref7$extendResult;
220
+ if (isSearchMode && extendResult.folder) {
221
+ thunkApi.dispatch(currentFolderUpdated(extendResult.folder));
222
+ }
223
+ return {
224
+ offset: newOffset,
225
+ allFilesLoaded: noMoreFiles,
226
+ files: files
227
+ };
228
+ });
229
+ export var fetchFolderFilesWithRecursion = createThunk(function () {
230
+ var _thunkApi$extra$filer2;
231
+ var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
232
+ isRecursive = _ref8.isRecursive;
233
+ var thunkApi = arguments.length > 1 ? arguments[1] : undefined;
234
+ var state = thunkApi.getState();
235
+ var currentRecursiveState = selectIsFolderFilesRecursiveFetch(state);
236
+ if (isRecursive === currentRecursiveState) {
237
+ return;
238
+ }
239
+ thunkApi.dispatch(folderFilesRecursiveFetchUpdated({
240
+ isRecursive: isRecursive
241
+ }));
242
+ (_thunkApi$extra$filer2 = thunkApi.extra.filerobot.getPlugin(PLUGINS_IDS.EXPLORER)) === null || _thunkApi$extra$filer2 === void 0 ? void 0 : _thunkApi$extra$filer2.replaceUrlQueryParams({
243
+ params: _defineProperty({}, FMAW_URL_QUERY_PARAMS.VIEW_RECURSIVE, isRecursive ? 1 : 0)
244
+ });
245
+ return thunkApi.dispatch(fetchSortedFolders({
246
+ sortBy: selectFilesSortedBy(state),
247
+ sortOrder: selectFilesSortOrder(state),
248
+ fetchFiles: true,
249
+ replaceOldFolders: true,
250
+ skipPendingDispatch: false
251
+ }));
252
+ });
253
+ export var fetchSortedFolders = createThunk(async function (_ref9, thunkApi) {
254
+ var sortBy = _ref9.sortBy,
255
+ sortOrder = _ref9.sortOrder,
256
+ fetchFiles = _ref9.fetchFiles,
257
+ _ref9$replaceOldFolde = _ref9.replaceOldFolders,
258
+ replaceOldFolders = _ref9$replaceOldFolde === void 0 ? true : _ref9$replaceOldFolde,
259
+ rest = _objectWithoutProperties(_ref9, _excluded);
260
+ var dispatch = thunkApi.dispatch;
261
+ var state = thunkApi.getState();
262
+ var isRecursiveSearchMode = selectIsSearchMode(state) && selectIsFolderFilesRecursiveFetch(state);
263
+ var sorting;
264
+ if (sortBy && sortOrder) {
265
+ sorting = "".concat(sortBy, ":").concat(sortOrder);
266
+ dispatch(foldersSortingUpdated({
267
+ sortBy: sortBy,
268
+ order: sortOrder
269
+ }));
270
+ } else {
271
+ var _sortBy = selectFoldersSortedBy(state);
272
+ var _sortOrder = selectFoldersSortOrder(state);
273
+ sorting = "".concat(_sortBy, ":").concat(_sortOrder);
274
+ }
275
+ var promises = [];
276
+ if (!isRecursiveSearchMode) {
277
+ var foldersPromise = dispatch(fetchFolders(_objectSpread(_objectSpread({
278
+ replaceOldFolders: replaceOldFolders,
279
+ offset: replaceOldFolders === false ? undefined : 0,
280
+ withStats: true
281
+ }, rest), {}, {
282
+ path: rest.path || selectCurrentFolderPath(state),
283
+ sorting: sorting
284
+ }))).throwRejection();
285
+ promises.push(foldersPromise);
286
+ }
287
+ if (fetchFiles) {
288
+ var filesPromise = dispatch(fetchFolderFiles(_objectSpread(_objectSpread({
289
+ offset: 0,
290
+ withStats: true
291
+ }, rest), {}, {
292
+ skipPendingDispatch: false,
293
+ sorting: sorting
294
+ }))).throwRejection();
295
+ promises.push(filesPromise);
296
+ }
297
+ return Promise.all(promises);
298
+ });
299
+ export var fetchFoldersStats = createThunk(async function (_ref10, thunkApi) {
300
+ var fetchArgs = _ref10.fetchArgs;
301
+ var _ref11 = (await thunkApi.extra.apiClient.fetch('folders/stats', _objectSpread(_objectSpread({}, fetchArgs), {}, {
302
+ abortSignal: fetchArgs.abortSignal || thunkApi.signal,
303
+ noPagination: true,
304
+ noFormatAndSortParams: true,
305
+ noRecursiveParam: false
306
+ }))) || {},
307
+ _ref11$stats = _ref11.stats,
308
+ stats = _ref11$stats === void 0 ? {} : _ref11$stats;
309
+ return {
310
+ totalFilesCount: stats.approx_files_count,
311
+ totalFoldersCount: stats.approx_folders_count
312
+ };
313
+ }, {
314
+ actionType: "".concat(sliceName, "/fetchFoldersStats")
315
+ });
316
+ export var fetchFolders = createThunk(async function (_ref12, thunkApi) {
317
+ var _ref13, _foldersResponse$base, _foldersResponse$info, _foldersResponse$stat, _foldersResponse$stat2, _foldersResponse$info2, _foldersResponse$info3;
318
+ var path = _ref12.path,
319
+ _ref12$options = _ref12.options,
320
+ options = _ref12$options === void 0 ? {} : _ref12$options,
321
+ limit = _ref12.limit,
322
+ offset = _ref12.offset,
323
+ _ref12$withStats = _ref12.withStats,
324
+ withStats = _ref12$withStats === void 0 ? false : _ref12$withStats,
325
+ _ref12$replaceOldFold = _ref12.replaceOldFolders,
326
+ replaceOldFolders = _ref12$replaceOldFold === void 0 ? false : _ref12$replaceOldFold,
327
+ _ref12$abortSignal = _ref12.abortSignal,
328
+ abortSignal = _ref12$abortSignal === void 0 ? null : _ref12$abortSignal,
329
+ _ref12$skipDispatch = _ref12.skipDispatch,
330
+ skipDispatch = _ref12$skipDispatch === void 0 ? false : _ref12$skipDispatch,
331
+ _ref12$skipPendingDis = _ref12.skipPendingDispatch,
332
+ skipPendingDispatch = _ref12$skipPendingDis === void 0 ? false : _ref12$skipPendingDis,
333
+ _ref12$withPreviews = _ref12.withPreviews,
334
+ withPreviews = _ref12$withPreviews === void 0 ? true : _ref12$withPreviews,
335
+ _ref12$addFolderReque = _ref12.addFolderRequestBaseToEntities,
336
+ addFolderRequestBaseToEntities = _ref12$addFolderReque === void 0 ? false : _ref12$addFolderReque,
337
+ otherParams = _objectWithoutProperties(_ref12, _excluded2);
338
+ if (skipDispatch) {
339
+ thunkApi.skipDispatch();
340
+ } else if (skipPendingDispatch) {
341
+ thunkApi.skipPendingDispatch();
342
+ }
343
+ var i18n = thunkApi.extra.filerobot.i18n;
344
+ var _thunkApi$extra$filer3 = thunkApi.extra.filerobot.getPlugin(PLUGINS_IDS.EXPLORER).opts,
345
+ enableFoldersStatsApiRequest = _thunkApi$extra$filer3.enableFoldersStatsApiRequest,
346
+ isFastToken = _thunkApi$extra$filer3.isFastToken;
347
+ var explorerConfig = thunkApi.extra.filerobot.getPlugin(PLUGINS_IDS.EXPLORER).opts.config;
348
+ var fetch = thunkApi.extra.apiClient.fetch;
349
+ var state = thunkApi.getState();
350
+ var viewLayout = selectViewLayout(state);
351
+ var usedOffset = offset !== null && offset !== void 0 ? offset : selectFoldersOffset(state);
352
+ var usedLimit = (_ref13 = limit || explorerConfig.foldersLimit) !== null && _ref13 !== void 0 ? _ref13 : 2000;
353
+ var requestAttrs = _objectSpread(_objectSpread(_objectSpread({
354
+ id: 'listFolders'
355
+ }, otherParams), options), {}, {
356
+ limit: usedLimit,
357
+ abortSignal: abortSignal || thunkApi.signal,
358
+ offset: usedOffset,
359
+ moreQueries: {
360
+ folder: path
361
+ },
362
+ noRecursiveParam: false
363
+ });
364
+ var currFolder = selectFolderByPath(state, path);
365
+ var selectedItemsCount = selectAllSelectedItemsCount(thunkApi.getState());
366
+ if ((replaceOldFolders || usedOffset === 0) && selectedItemsCount > 0) {
367
+ thunkApi.dispatch(selectionsCleared());
368
+ }
369
+ var foldersRequest = fetch('folders', requestAttrs);
370
+ if (enableFoldersStatsApiRequest && withStats) {
371
+ thunkApi.dispatch(fetchFoldersStats({
372
+ fetchArgs: _objectSpread(_objectSpread({}, requestAttrs), {}, {
373
+ id: 'foldersStats',
374
+ abortSignal: requestAttrs.abortSignal
375
+ })
376
+ }));
377
+ }
378
+ var foldersResponse = (await foldersRequest) || {};
379
+ var folders = (foldersResponse.folders || []).filter(function (folder) {
380
+ return (folder === null || folder === void 0 ? void 0 : folder.path) !== '/.internal';
381
+ });
382
+ var currentFolder = ((_foldersResponse$base = foldersResponse.base) === null || _foldersResponse$base === void 0 ? void 0 : _foldersResponse$base.path) === '/' ? _objectSpread(_objectSpread({}, foldersResponse.base), {}, {
383
+ name: i18n('mutualizedBaseFolderTitle')
384
+ }) : foldersResponse.base || {};
385
+ if (viewLayout === LAYOUTS_IDS.GRID && !isFastToken && withPreviews) {
386
+ thunkApi.dispatch(fetchFoldersPreviews({
387
+ uuids: [currentFolder.uuid].concat(_toConsumableArray(folders.map(function (_ref14) {
388
+ var uuid = _ref14.uuid;
389
+ return uuid;
390
+ }))),
391
+ abortSignal: requestAttrs.abortSignal
392
+ }));
393
+ }
394
+ return _objectSpread({
395
+ folders: folders,
396
+ // Need to hide system folders but must be included in /list API response.
397
+ stats: withStats ? {
398
+ totalFilesCount: ((_foldersResponse$info = foldersResponse.info) === null || _foldersResponse$info === void 0 ? void 0 : _foldersResponse$info.total_files_count) || ((_foldersResponse$stat = foldersResponse.stats) === null || _foldersResponse$stat === void 0 ? void 0 : _foldersResponse$stat.approx_files_count),
399
+ totalFoldersCount: ((_foldersResponse$stat2 = foldersResponse.stats) === null || _foldersResponse$stat2 === void 0 ? void 0 : _foldersResponse$stat2.approx_folders_count) || ((_foldersResponse$info2 = foldersResponse.info) === null || _foldersResponse$info2 === void 0 ? void 0 : _foldersResponse$info2.total_dirs_count) || ((_foldersResponse$info3 = foldersResponse.info) === null || _foldersResponse$info3 === void 0 ? void 0 : _foldersResponse$info3.total_folders_count)
400
+ } : undefined,
401
+ replaceOldFolders: replaceOldFolders,
402
+ addFolderRequestBaseToEntities: addFolderRequestBaseToEntities,
403
+ currentFolder: currFolder !== null && currFolder !== void 0 && currFolder.permissions ? _objectSpread(_objectSpread({}, currentFolder), {}, {
404
+ permissions: currFolder.permissions
405
+ }) : currentFolder
406
+ }, !addFolderRequestBaseToEntities && {
407
+ offset: usedOffset + usedLimit,
408
+ noMoreFolders: folders.length < usedLimit
409
+ });
410
+ }, {
411
+ actionType: "".concat(sliceName, "/fetchFolders")
412
+ });
413
+ export var addNewFolder = createThunk(async function (_ref15, thunkApi) {
414
+ var path = _ref15.path,
415
+ name = _ref15.name,
416
+ _ref15$skipPendingDis = _ref15.skipPendingDispatch,
417
+ skipPendingDispatch = _ref15$skipPendingDis === void 0 ? true : _ref15$skipPendingDis;
418
+ if (skipPendingDispatch) thunkApi.skipPendingDispatch();
419
+ var state = thunkApi.getState();
420
+
421
+ // If no path is provided, then the folder will be created in the currentFolder folder.
422
+ var toFolderPath = path || selectCurrentFolderPath(state);
423
+ var _await$thunkApi$extra = await thunkApi.extra.apiClient.post('folders', {
424
+ data: {
425
+ name: "".concat(toFolderPath.trim(), "/").concat(name).replace('//', '/')
426
+ },
427
+ permissionToCheck: [PERMISSIONS.FOLDER_CREATE],
428
+ abortSignal: thunkApi.signal
429
+ }),
430
+ base = _await$thunkApi$extra.base,
431
+ _await$thunkApi$extra2 = _await$thunkApi$extra.folder,
432
+ folder = _await$thunkApi$extra2 === void 0 ? {} : _await$thunkApi$extra2;
433
+ return {
434
+ folder: folder,
435
+ parentFolder: base
436
+ };
437
+ }, {
438
+ actionType: "".concat(sliceName, "/addNewFolder")
439
+ });
440
+ export var renameFolder = createThunk(async function (_ref16, thunkApi) {
441
+ var uuid = _ref16.uuid,
442
+ name = _ref16.name;
443
+ var response = await thunkApi.extra.apiClient.put("folder/".concat(uuid, "/name"), {
444
+ data: {
445
+ name: name
446
+ },
447
+ permissionToCheck: [PERMISSIONS.FOLDER_RENAME],
448
+ abortSignal: thunkApi.signal
449
+ });
450
+ return response.folder;
451
+ }, {
452
+ actionType: "".concat(sliceName, "/updateFolderName")
453
+ });
454
+ export var updateFolderOwner = createThunk(function (_ref17, thunkApi) {
455
+ var uuid = _ref17.uuid,
456
+ userUuid = _ref17.userUuid;
457
+ return thunkApi.extra.apiClient.put("folders/".concat(uuid, "/owner"), {
458
+ data: {
459
+ user_uuid: userUuid
460
+ },
461
+ abortSignal: thunkApi.signal
462
+ });
463
+ }, {
464
+ actionType: "".concat(sliceName, "/updateFolderOwner")
465
+ });
466
+ export var fetchFoldersPreviews = createThunk(async function (_ref18, thunkApi) {
467
+ var uuids = _ref18.uuids,
468
+ abortSignal = _ref18.abortSignal;
469
+ thunkApi.skipPendingDispatch();
470
+ var foldersUuids = uuids || selectFoldersUuids(thunkApi.getState());
471
+ var response = await thunkApi.extra.apiClient.post('folders/previews', {
472
+ data: {
473
+ folders: foldersUuids
474
+ },
475
+ abortSignal: abortSignal || thunkApi.signal,
476
+ avoidErrorMsg: true
477
+ });
478
+ return foldersUuids.map(function (uuid) {
479
+ return {
480
+ uuid: uuid,
481
+ previews: (response.folders[uuid] || []).slice(0, 3)
482
+ };
483
+ });
484
+ }, {
485
+ actionType: "".concat(sliceName, "/updateFoldersPreviews")
486
+ });
487
+ export var searchFolders = createThunk(async function (_ref19, thunkApi) {
488
+ var folderPath = _ref19.folderPath,
489
+ query = _ref19.query,
490
+ _ref19$offset = _ref19.offset,
491
+ offset = _ref19$offset === void 0 ? 0 : _ref19$offset,
492
+ _ref19$limit = _ref19.limit,
493
+ limit = _ref19$limit === void 0 ? 500 : _ref19$limit,
494
+ _ref19$skipDispatch = _ref19.skipDispatch,
495
+ skipDispatch = _ref19$skipDispatch === void 0 ? false : _ref19$skipDispatch,
496
+ _ref19$sortBy = _ref19.sortBy,
497
+ sortBy = _ref19$sortBy === void 0 ? DEFAULT_SORT_OPTION.by : _ref19$sortBy,
498
+ _ref19$sortOrder = _ref19.sortOrder,
499
+ sortOrder = _ref19$sortOrder === void 0 ? SORT_ORDER.ASC : _ref19$sortOrder,
500
+ abortSignal = _ref19.abortSignal;
501
+ if (skipDispatch) {
502
+ thunkApi.skipDispatch();
503
+ }
504
+ var sorting = "".concat(sortBy, ":").concat(sortOrder);
505
+ var _await$thunkApi$extra3 = await thunkApi.extra.apiClient.fetch('folders', {
506
+ abortSignal: abortSignal || thunkApi.signal,
507
+ limit: limit,
508
+ offset: offset,
509
+ recursive: true,
510
+ sorting: sorting,
511
+ moreQueries: _objectSpread({
512
+ q: query
513
+ }, folderPath && {
514
+ folder: folderPath
515
+ })
516
+ }),
517
+ folders = _await$thunkApi$extra3.folders;
518
+ var updatedFolders = folders === null || folders === void 0 ? void 0 : folders.map(function (folder) {
519
+ return extractFolderTreeSlice(folder);
520
+ });
521
+ return updatedFolders;
522
+ }, {
523
+ actionType: "".concat(sliceName, "/searchFolders")
524
+ });
525
+ export var moveFolders = createThunk(async function (_ref20, thunkApi) {
526
+ var _ref20$folderUuids = _ref20.folderUuids,
527
+ folderUuids = _ref20$folderUuids === void 0 ? [] : _ref20$folderUuids,
528
+ folderPath = _ref20.folderPath,
529
+ _ref20$skipPendingDis = _ref20.skipPendingDispatch,
530
+ skipPendingDispatch = _ref20$skipPendingDis === void 0 ? true : _ref20$skipPendingDis;
531
+ if (skipPendingDispatch) thunkApi.skipPendingDispatch();
532
+ var response = await thunkApi.extra.apiClient.post('folders', {
533
+ data: {
534
+ folders_uuids: folderUuids,
535
+ new_folder_name: folderPath
536
+ },
537
+ permissionToCheck: [PERMISSIONS.FOLDER_MOVE]
538
+ });
539
+ thunkApi.extra.filerobot.emit('folders-moved', folderUuids, folderPath);
540
+ return {
541
+ foldersUuids: response.folders.map(function (folder) {
542
+ return folder.uuid;
543
+ }),
544
+ toFolder: folderPath
545
+ };
546
+ }, {
547
+ actionType: "".concat(sliceName, "/moveFolders")
548
+ });
549
+ export var deleteFolders = createThunk(async function () {
550
+ var uuids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
551
+ var thunkApi = arguments.length > 1 ? arguments[1] : undefined;
552
+ var response = await thunkApi.extra.apiClient["delete"]('folders', {
553
+ data: {
554
+ folders_uuids: uuids
555
+ },
556
+ permissionToCheck: [PERMISSIONS.FOLDER_DELETE]
557
+ });
558
+ thunkApi.extra.filerobot.emit('objects-removed', uuids, 'folders');
559
+ return response.folders_uuids;
560
+ }, {
561
+ actionType: "".concat(sliceName, "/deleteFolders")
562
+ });
563
+ var foldersSlice = createSlice({
564
+ name: sliceName,
565
+ initialState: getInitialState(),
566
+ reducers: {
567
+ currentFolderUpdated: function currentFolderUpdated(state, action) {
568
+ return _objectSpread(_objectSpread({}, state), {}, {
569
+ currentFolder: action.payload
570
+ });
571
+ },
572
+ foldersAdded: function foldersAdded(state, action) {
573
+ var _state$currentFolder;
574
+ var _action$payload = action.payload,
575
+ _action$payload$folde = _action$payload.folders,
576
+ folders = _action$payload$folde === void 0 ? [] : _action$payload$folde,
577
+ currentFolder = _action$payload.currentFolder,
578
+ noMoreFolders = _action$payload.noMoreFolders,
579
+ offset = _action$payload.offset,
580
+ stats = _action$payload.stats,
581
+ parentFolder = _action$payload.parentFolder,
582
+ _action$payload$addFo = _action$payload.addFolderRequestBaseToEntities,
583
+ addFolderRequestBaseToEntities = _action$payload$addFo === void 0 ? false : _action$payload$addFo;
584
+ var currentOpenedFolder = (currentFolder === null || currentFolder === void 0 ? void 0 : currentFolder.uuid) === ((_state$currentFolder = state.currentFolder) === null || _state$currentFolder === void 0 ? void 0 : _state$currentFolder.uuid) && _objectSpread(_objectSpread({}, state.currentFolder), currentFolder) || !addFolderRequestBaseToEntities && currentFolder || state.currentFolder;
585
+ var baseFolderPath = state.baseFolderPath;
586
+ if (parentFolder !== null && parentFolder !== void 0 && parentFolder.uuid && currentOpenedFolder !== null && currentOpenedFolder !== void 0 && currentOpenedFolder.uuid && parentFolder.uuid !== currentOpenedFolder.uuid) {
587
+ return state;
588
+ }
589
+ var foldersToAdd = currentOpenedFolder ? folders.filter(function () {
590
+ var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
591
+ path = _ref21.path;
592
+ return (getParentFolderPath(path) || baseFolderPath) === currentOpenedFolder.path;
593
+ }) : folders;
594
+ var _getNormalizedItems = getNormalizedItems(foldersToAdd, {
595
+ extraProps: addedFolderExtraProps
596
+ }),
597
+ normalizedSlices = _getNormalizedItems.normalizedSlices,
598
+ uuids = _getNormalizedItems.uuids;
599
+ var newFolders = _objectSpread(_objectSpread(_objectSpread({}, state.entities), addFolderRequestBaseToEntities ? _defineProperty({}, currentFolder.uuid, _objectSpread(_objectSpread(_objectSpread({}, state.entities[currentFolder.uuid]), currentFolder), addedFolderExtraProps)) : {}), normalizedSlices);
600
+ var newUuids = [].concat(_toConsumableArray(state.uuids), _toConsumableArray(uuids));
601
+ return _objectSpread(_objectSpread({}, state), {}, {
602
+ uuids: newUuids,
603
+ entities: newFolders,
604
+ stats: stats || _objectSpread(_objectSpread({}, state.stats), {}, {
605
+ totalFoldersCount: (state.stats.totalFoldersCount || 0) + foldersToAdd.length
606
+ }),
607
+ currentFolder: currentOpenedFolder,
608
+ noMoreFolders: noMoreFolders,
609
+ offset: offset !== null && offset !== void 0 ? offset : state.offset
610
+ });
611
+ },
612
+ foldersReplaced: function foldersReplaced(state, action) {
613
+ var _state$currentFolder2;
614
+ var _action$payload2 = action.payload,
615
+ folders = _action$payload2.folders,
616
+ currentFolder = _action$payload2.currentFolder,
617
+ noMoreFolders = _action$payload2.noMoreFolders,
618
+ _action$payload2$offs = _action$payload2.offset,
619
+ offset = _action$payload2$offs === void 0 ? 0 : _action$payload2$offs,
620
+ stats = _action$payload2.stats;
621
+ var newFolders = {};
622
+ var newUuids = [];
623
+ if (Array.isArray(folders)) {
624
+ var _getNormalizedItems2 = getNormalizedItems(folders, {
625
+ extraProps: addedFolderExtraProps
626
+ }),
627
+ normalizedSlices = _getNormalizedItems2.normalizedSlices,
628
+ uuids = _getNormalizedItems2.uuids;
629
+ newFolders = normalizedSlices;
630
+ newUuids = uuids;
631
+ } else {
632
+ newFolders = _objectSpread({}, folders);
633
+ newUuids = Object.keys(newFolders);
634
+ newUuids.forEach(function (uuid) {
635
+ newFolders[uuid] = _objectSpread(_objectSpread({}, newFolders[uuid]), addedFolderExtraProps);
636
+ });
637
+ }
638
+ return _objectSpread(_objectSpread({}, state), {}, {
639
+ uuids: newUuids,
640
+ entities: newFolders,
641
+ stats: stats || state.stats,
642
+ currentFolder: (currentFolder === null || currentFolder === void 0 ? void 0 : currentFolder.uuid) === ((_state$currentFolder2 = state.currentFolder) === null || _state$currentFolder2 === void 0 ? void 0 : _state$currentFolder2.uuid) && _objectSpread(_objectSpread({}, state.currentFolder), currentFolder) || currentFolder || state.currentFolder,
643
+ offset: offset,
644
+ loading: false,
645
+ error: null,
646
+ noMoreFolders: noMoreFolders
647
+ });
648
+ },
649
+ foldersRemoved: function foldersRemoved(state, action) {
650
+ var removedFolderUuids = action.payload;
651
+ if (!removedFolderUuids) {
652
+ return _objectSpread(_objectSpread({}, state), {}, {
653
+ entities: {},
654
+ stats: _objectSpread(_objectSpread({}, state.stats), {}, {
655
+ totalFoldersCount: 0
656
+ })
657
+ });
658
+ }
659
+ var currentFolders = _objectSpread({}, state.entities);
660
+ var currentUuids = _toConsumableArray(state.uuids);
661
+ var isFolderRemoved = false;
662
+ removedFolderUuids.forEach(function (folderUuid) {
663
+ if (currentFolders[folderUuid]) {
664
+ delete currentFolders[folderUuid];
665
+ isFolderRemoved = true;
666
+ currentUuids.splice(currentUuids.indexOf(folderUuid), 1);
667
+ }
668
+ });
669
+ if (!isFolderRemoved) {
670
+ return state;
671
+ }
672
+ return _objectSpread(_objectSpread({}, state), {}, {
673
+ uuids: currentUuids,
674
+ entities: currentFolders,
675
+ stats: _objectSpread(_objectSpread({}, state.stats), {}, {
676
+ totalFoldersCount: Math.max(0, state.stats.totalFoldersCount - removedFolderUuids.length)
677
+ })
678
+ });
679
+ },
680
+ folderUpdated: function folderUpdated(state, action) {
681
+ var folderUuid = action.payload.uuid;
682
+ var updatedFolders = _objectSpread({}, state.entities);
683
+ if (!updatedFolders[folderUuid]) {
684
+ return state;
685
+ }
686
+ updatedFolders[folderUuid] = _objectSpread(_objectSpread({}, state.entities[folderUuid]), action.payload);
687
+ return _objectSpread(_objectSpread({}, state), {}, {
688
+ entities: updatedFolders
689
+ });
690
+ },
691
+ foldersUpdated: function foldersUpdated(state, action) {
692
+ var _state$currentFolder3;
693
+ var folders = action.payload;
694
+ var updatedFolders = _objectSpread({}, state.entities);
695
+ var currentFolderUuid = (_state$currentFolder3 = state.currentFolder) === null || _state$currentFolder3 === void 0 ? void 0 : _state$currentFolder3.uuid;
696
+ var isFolderUpdated = false;
697
+ var updatedCurrentFolder = null;
698
+ folders.forEach(function (folder) {
699
+ if (updatedFolders[folder.uuid]) {
700
+ updatedFolders[folder.uuid] = _objectSpread(_objectSpread({}, state.entities[folder.uuid]), {}, {
701
+ // Those will get overridden if their values are assigned inside the filesUpdated
702
+ loading: false,
703
+ error: null
704
+ }, folder);
705
+ isFolderUpdated = true;
706
+ }
707
+ if (currentFolderUuid === folder.uuid) {
708
+ updatedCurrentFolder = _objectSpread(_objectSpread({}, state.currentFolder), folder);
709
+ }
710
+ });
711
+ if (!isFolderUpdated && !updatedCurrentFolder) {
712
+ return state;
713
+ }
714
+ return _objectSpread(_objectSpread({}, state), {}, {
715
+ entities: updatedFolders
716
+ }, updatedCurrentFolder && {
717
+ currentFolder: updatedCurrentFolder
718
+ });
719
+ },
720
+ foldersStateUpdated: function foldersStateUpdated(state, action) {
721
+ return _objectSpread(_objectSpread({}, state), action.payload);
722
+ },
723
+ foldersSortingUpdated: function foldersSortingUpdated(state, action) {
724
+ var _action$payload3 = action.payload,
725
+ _action$payload3$sort = _action$payload3.sortBy,
726
+ sortBy = _action$payload3$sort === void 0 ? state.sortedBy : _action$payload3$sort,
727
+ _action$payload3$orde = _action$payload3.order,
728
+ order = _action$payload3$orde === void 0 ? state.sortOrder : _action$payload3$orde;
729
+ var isTheSameSort = sortBy === state.sortedBy && order === state.sortOrder;
730
+ if (isTheSameSort) {
731
+ return state;
732
+ }
733
+ return _objectSpread(_objectSpread({}, state), {}, {
734
+ sortedBy: sortBy,
735
+ sortOrder: order
736
+ });
737
+ },
738
+ folderFilesRecursiveFetchUpdated: function folderFilesRecursiveFetchUpdated(state, action) {
739
+ var _action$payload4;
740
+ return _objectSpread(_objectSpread({}, state), {}, {
741
+ isFetchFilesRecursively: (_action$payload4 = action.payload) === null || _action$payload4 === void 0 ? void 0 : _action$payload4.isRecursive
742
+ });
743
+ }
744
+ },
745
+ extraReducers: function extraReducers(builder) {
746
+ builder.addCase(fetchFolders.pending, function (state, action) {
747
+ return _objectSpread(_objectSpread({}, state), {}, {
748
+ uuids: [],
749
+ entities: {},
750
+ loading: true,
751
+ error: null
752
+ });
753
+ }).addCase(fetchFolders.fulfilled, function (state, action) {
754
+ return action.payload.replaceOldFolders ? foldersSlice.caseReducers.foldersReplaced(state, action) : foldersSlice.caseReducers.foldersAdded(state, action);
755
+ }).addCase(fetchFolders.rejected, function (state, action) {
756
+ return _objectSpread(_objectSpread({}, getActionErrorState(state, action)), {}, {
757
+ uuids: [],
758
+ entities: {}
759
+ });
760
+ }).addCase(searchFolders.fulfilled, function (state, action) {
761
+ return foldersSlice.caseReducers.foldersReplaced(state, action);
762
+ }).addCase(moveFolders.fulfilled, function (state, action) {
763
+ return foldersSlice.caseReducers.foldersRemoved(state, {
764
+ payload: action.payload.foldersUuids
765
+ });
766
+ }).addCase(deleteFolders.fulfilled, function (state, action) {
767
+ return foldersSlice.caseReducers.foldersRemoved(state, action);
768
+ }).addCase(addNewFolder.fulfilled, function (state, action) {
769
+ return foldersSlice.caseReducers.foldersAdded(state, {
770
+ payload: {
771
+ folders: [action.payload.folder],
772
+ parentFolder: action.payload.parentFolder
773
+ }
774
+ });
775
+ }).addCase(generateUserKey.fulfilled, function (state, action) {
776
+ // The allowed listing folders for the user
777
+ var _action$payload$secur = action.payload.securityData.list_scope,
778
+ listFolderScope = _action$payload$secur === void 0 ? [] : _action$payload$secur;
779
+ if (!(listFolderScope !== null && listFolderScope !== void 0 && listFolderScope[0]) || Array.isArray(listFolderScope) && listFolderScope.length > 1) {
780
+ return state;
781
+ }
782
+ return _objectSpread(_objectSpread({}, state), {}, {
783
+ baseFolderPath: listFolderScope[0].replace('/*', '') || '/'
784
+ });
785
+ }).addCase(fetchFoldersStats.pending, function (state) {
786
+ return _objectSpread(_objectSpread({}, state), {}, {
787
+ stats: _objectSpread(_objectSpread({}, state.stats), {}, {
788
+ totalFilesCount: 0,
789
+ totalFoldersCount: 0,
790
+ loading: true
791
+ })
792
+ });
793
+ }).addCase(fetchFoldersPreviews.fulfilled, function (state, action) {
794
+ return foldersSlice.caseReducers.foldersUpdated(state, action);
795
+ }).addCase(viewChanged.type, function (state) {
796
+ return _objectSpread(_objectSpread({}, getInitialState()), {}, {
797
+ baseFolderPath: state.baseFolderPath,
798
+ currentFolder: state.currentFolder,
799
+ showTree: state.showTree
800
+ });
801
+ }).addMatcher(isAnyOf(fetchFoldersStats.fulfilled, fetchFoldersStats.rejected), function (state, action) {
802
+ return _objectSpread(_objectSpread({}, state), {}, {
803
+ stats: _objectSpread(_objectSpread(_objectSpread({}, state.stats), action.payload), {}, {
804
+ loading: false
805
+ })
806
+ });
807
+ }).addMatcher(function (_ref23) {
808
+ var type = _ref23.type;
809
+ return type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolder.*\/pending/));
810
+ }, function (state, action) {
811
+ var _action$meta$arg, _action$meta$arg2;
812
+ return foldersSlice.caseReducers.folderUpdated(state, {
813
+ payload: {
814
+ uuid: ((_action$meta$arg = action.meta.arg) === null || _action$meta$arg === void 0 ? void 0 : _action$meta$arg.uuid) || ((_action$meta$arg2 = action.meta.arg) === null || _action$meta$arg2 === void 0 ? void 0 : _action$meta$arg2.folderUuid) || action.meta.arg,
815
+ loading: true,
816
+ error: null
817
+ }
818
+ });
819
+ }).addMatcher(function (_ref24) {
820
+ var type = _ref24.type;
821
+ return type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolder.*\/fulfilled/));
822
+ }, function (state, action) {
823
+ return foldersSlice.caseReducers.folderUpdated(state, {
824
+ payload: _objectSpread(_objectSpread({}, action.payload), {}, {
825
+ loading: false,
826
+ error: null
827
+ })
828
+ });
829
+ }).addMatcher(function (_ref25) {
830
+ var type = _ref25.type;
831
+ return type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolder.*\/rejected/));
832
+ }, function (state, action) {
833
+ var _action$meta$arg3, _action$meta$arg4;
834
+ return foldersSlice.caseReducers.folderUpdated(state, {
835
+ payload: {
836
+ uuid: ((_action$meta$arg3 = action.meta.arg) === null || _action$meta$arg3 === void 0 ? void 0 : _action$meta$arg3.uuid) || ((_action$meta$arg4 = action.meta.arg) === null || _action$meta$arg4 === void 0 ? void 0 : _action$meta$arg4.folderUuid) || action.meta.arg,
837
+ loading: false,
838
+ error: getActionErrorState(state, action, true)
839
+ }
840
+ });
841
+ });
842
+ // Does the same as updateFolder extraReducers, but for multiple folders, commented for now as it is not used but kept in-case of future usage.
843
+ // .addMatcher(
844
+ // ({ type }) => type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolders.*\/pending/)),
845
+ // (state, action) => (
846
+ // foldersSlice.caseReducers.foldersUpdated(state, {
847
+ // payload: (action.meta.arg?.foldersUuids || action.meta.arg?.uuids || action.meta.arg || []).map((uuid) => ({
848
+ // uuid, loading: true, error: null
849
+ // }))
850
+ // })
851
+ // ))
852
+ // .addMatcher(
853
+ // ({ type }) => type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolders.*\/fulfilled/)),
854
+ // (state, action) => (
855
+ // action.payload.removeFolders
856
+ // ? foldersSlice.caseReducers.foldersRemoved(state, { payload: action.payload.foldersUuids })
857
+ // : foldersSlice.caseReducers.foldersUpdated(state, action)
858
+ // ))
859
+ // .addMatcher(
860
+ // ({ type }) => type.startsWith(sliceNameWithSeparator) && Boolean(type.match(/\/updateFolders.*\/rejected/)),
861
+ // (state, action) => (
862
+ // foldersSlice.caseReducers.foldersUpdated(state, {
863
+ // payload: (action.meta.arg?.foldersUuids || action.meta.arg?.uuids || action.meta.arg || []).map((uuid) => ({
864
+ // uuid, loading: false, error: getActionErrorState(state, action, true)
865
+ // }))
866
+ // })
867
+ // ))
868
+ }
869
+ });
870
+ var _foldersSlice$actions = foldersSlice.actions,
871
+ foldersAdded = _foldersSlice$actions.foldersAdded,
872
+ foldersReplaced = _foldersSlice$actions.foldersReplaced,
873
+ foldersRemoved = _foldersSlice$actions.foldersRemoved,
874
+ foldersUpdated = _foldersSlice$actions.foldersUpdated,
875
+ folderUpdated = _foldersSlice$actions.folderUpdated,
876
+ foldersStateUpdated = _foldersSlice$actions.foldersStateUpdated,
877
+ foldersSortingUpdated = _foldersSlice$actions.foldersSortingUpdated,
878
+ currentFolderUpdated = _foldersSlice$actions.currentFolderUpdated,
879
+ folderFilesRecursiveFetchUpdated = _foldersSlice$actions.folderFilesRecursiveFetchUpdated;
880
+ export { foldersAdded, foldersReplaced, foldersRemoved, foldersUpdated, folderUpdated, foldersStateUpdated, foldersSortingUpdated, currentFolderUpdated, folderFilesRecursiveFetchUpdated };
881
+ export var selectFoldersState = function selectFoldersState(state) {
882
+ var _state$PLUGINS_IDS$EX;
883
+ return ((_state$PLUGINS_IDS$EX = state[PLUGINS_IDS.EXPLORER]) === null || _state$PLUGINS_IDS$EX === void 0 ? void 0 : _state$PLUGINS_IDS$EX[slicePropName]) || getInitialState();
884
+ };
885
+ export var selectFoldersUuids = function selectFoldersUuids(state) {
886
+ return selectFoldersState(state).uuids;
887
+ };
888
+ export var selectFolders = function selectFolders(state) {
889
+ return selectFoldersState(state).entities;
890
+ };
891
+ export var selectFoldersArray = createSelector(selectFolders, function (folders) {
892
+ return Object.values(folders);
893
+ });
894
+ export var selectFoldersStats = function selectFoldersStats(state) {
895
+ return selectFoldersState(state).stats;
896
+ };
897
+ export var selectFolderByUuid = function selectFolderByUuid(state, folderUuid) {
898
+ return selectFolders(state)[folderUuid] || selectCurrentFolderUuid(state) === folderUuid && selectCurrentFolder(state);
899
+ };
900
+ export var selectFolderByPath = function selectFolderByPath(state, folderPath) {
901
+ return Object.values(selectFolders(state)).find(function (_ref22) {
902
+ var path = _ref22.path;
903
+ return path === folderPath;
904
+ });
905
+ };
906
+ export var selectFoldersByUuids = createSelector([selectFolders, selectFoldersTreeLoadedFolders, function (_state) {
907
+ var folderUuids = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
908
+ return folderUuids;
909
+ }], function (folders, foldersTreeLoadedFolders, folderUuids) {
910
+ return folderUuids.map(function (folderUuid) {
911
+ return folders[folderUuid] || foldersTreeLoadedFolders[folderUuid];
912
+ });
913
+ });
914
+ export var selectFoldersOffset = function selectFoldersOffset(state) {
915
+ return selectFoldersState(state).offset;
916
+ };
917
+ export var selectCurrentFolder = function selectCurrentFolder(state) {
918
+ return selectFoldersState(state).currentFolder;
919
+ };
920
+ export var selectCurrentFolderUuid = function selectCurrentFolderUuid(state) {
921
+ var _selectFoldersState$c;
922
+ return (_selectFoldersState$c = selectFoldersState(state).currentFolder) === null || _selectFoldersState$c === void 0 ? void 0 : _selectFoldersState$c.uuid;
923
+ };
924
+ export var selectCurrentFolderPath = function selectCurrentFolderPath(state) {
925
+ var _selectFoldersState$c2;
926
+ return ((_selectFoldersState$c2 = selectFoldersState(state).currentFolder) === null || _selectFoldersState$c2 === void 0 ? void 0 : _selectFoldersState$c2.path) || selectBaseFolderPath(state);
927
+ };
928
+ export var selectIsFoldersLoading = function selectIsFoldersLoading(state) {
929
+ return selectIsFoldersView(state) && selectFoldersState(state).loading;
930
+ };
931
+ export var selectIsFolderExisted = function selectIsFolderExisted(state, folderUuid) {
932
+ return Boolean(selectFolderByUuid(state, folderUuid));
933
+ };
934
+ export var selectBaseFolderPath = function selectBaseFolderPath(state) {
935
+ return selectFoldersState(state).baseFolderPath;
936
+ };
937
+ export var selectTotalFoldersCount = function selectTotalFoldersCount(state) {
938
+ return selectFoldersState(state).totalFoldersCount;
939
+ };
940
+ export var selectIsFoldersTreeOpened = function selectIsFoldersTreeOpened(state) {
941
+ return selectFoldersState(state).showTree;
942
+ };
943
+ export var selectNoMoreFolders = function selectNoMoreFolders(state) {
944
+ return selectFoldersState(state).noMoreFolders;
945
+ };
946
+ export var selectOpenedFolders = createSelector([selectCurrentFolder, selectFoldersTreeLoadedFolders], function (currentFolder, allTreeFolders) {
947
+ var openedFolders = [];
948
+ var _retrieveFoldersTillBase = function retrieveFoldersTillBase(folderUuid) {
949
+ var folder = allTreeFolders[folderUuid];
950
+ if (!folder) {
951
+ return;
952
+ }
953
+ openedFolders.unshift(folder);
954
+ if (folder !== null && folder !== void 0 && folder.parentUuid) {
955
+ _retrieveFoldersTillBase(folder.parentUuid);
956
+ }
957
+ };
958
+ _retrieveFoldersTillBase(currentFolder.uuid);
959
+ return openedFolders;
960
+ });
961
+ export var selectFoldersSortedBy = function selectFoldersSortedBy(state) {
962
+ return selectFoldersState(state).sortedBy;
963
+ };
964
+ export var selectFoldersSortOrder = function selectFoldersSortOrder(state) {
965
+ return selectFoldersState(state).sortOrder;
966
+ };
967
+ export var selectFoldersError = function selectFoldersError(state) {
968
+ return selectFoldersState(state).error;
969
+ };
970
+ export var selectIsFoldersSortedAsc = function selectIsFoldersSortedAsc(state) {
971
+ return selectFoldersSortOrder(state) === SORT_ORDER.ASC;
972
+ };
973
+
974
+ // return undefined to make it proper to be used with (??) as possible to be false if the folders view enabled with local folder option.
975
+ export var selectIsFolderFilesRecursiveFetch = function selectIsFolderFilesRecursiveFetch(state) {
976
+ return selectIsFoldersView(state) ? selectFoldersState(state).isFetchFilesRecursively : undefined;
977
+ };
978
+ export default foldersSlice.reducer;