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