@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,117 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ 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."); }
3
+ 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; } }
4
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ 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; }
7
+ import { useCallback, useMemo } from 'react';
8
+ import { useSelector } from 'react-redux';
9
+ import isUploadableFile from '@scaleflex/widget-utils/lib/isUploadableFile';
10
+ import { PLUGINS_IDS } from '@scaleflex/widget-utils/lib/constants';
11
+ import useExplorer from './useExplorer';
12
+ import { selectMetaMappedLicenseExpireDateField, selectMetadataModel, selectMetadataRegionalGroups, selectMetadataRootFieldsRegionalGroupUuids } from '../slices/metadata.slice';
13
+ import { REGIONAL_VARIANT_TYPE } from '../components/metadata.adapter';
14
+ import { generateGeneralSectionFields } from '../components/common/FileMetadataFieldValue/FileMetadataFieldValue.utils';
15
+ var useFileMetadata = function useFileMetadata(_ref) {
16
+ var _filerobot$getPlugin, _filerobot$getPlugin$;
17
+ var file = _ref.file,
18
+ scrollToMetaField = _ref.scrollToMetaField,
19
+ _ref$smallerFont = _ref.smallerFont,
20
+ smallerFont = _ref$smallerFont === void 0 ? false : _ref$smallerFont;
21
+ var _useExplorer = useExplorer(),
22
+ i18n = _useExplorer.i18n,
23
+ i18nArray = _useExplorer.i18nArray,
24
+ filerobot = _useExplorer.filerobot,
25
+ opts = _useExplorer.opts;
26
+ var metadataModel = useSelector(selectMetadataModel);
27
+ var rootFieldsRegionalUuidsByKeys = useSelector(selectMetadataRootFieldsRegionalGroupUuids);
28
+ var metaRegionalGroups = useSelector(selectMetadataRegionalGroups);
29
+ var expireDateMappedField = useSelector(selectMetaMappedLicenseExpireDateField);
30
+ var isFastToken = opts.isFastToken,
31
+ findAssetLocationEnabled = opts.findAssetLocationEnabled,
32
+ hideFileSpecsMetadataFields = opts.hideFileSpecsMetadataFields;
33
+ var isPreUpload = isUploadableFile(file);
34
+ var isApprovalsEnabled = (_filerobot$getPlugin = filerobot.getPlugin(PLUGINS_IDS.APPROVALS)) === null || _filerobot$getPlugin === void 0 ? void 0 : (_filerobot$getPlugin$ = _filerobot$getPlugin.isEnabled) === null || _filerobot$getPlugin$ === void 0 ? void 0 : _filerobot$getPlugin$.call(_filerobot$getPlugin);
35
+ var languageRegionalFilterUuid = useMemo(function () {
36
+ var _metaRegionalGroups$f;
37
+ return (_metaRegionalGroups$f = metaRegionalGroups.filter(function (_ref2) {
38
+ var type = _ref2.type;
39
+ return type === REGIONAL_VARIANT_TYPE.LANGUAGES;
40
+ })[0]) === null || _metaRegionalGroups$f === void 0 ? void 0 : _metaRegionalGroups$f.uuid;
41
+ }, [metaRegionalGroups]);
42
+ var _useMemo = useMemo(function () {
43
+ return generateGeneralSectionFields({
44
+ file: file,
45
+ languageRegionalFilterUuid: languageRegionalFilterUuid,
46
+ rootFieldsRegionalUuidsByKeys: rootFieldsRegionalUuidsByKeys,
47
+ i18n: i18n,
48
+ isPreUpload: isPreUpload,
49
+ expireDateMappedField: expireDateMappedField,
50
+ i18nArray: i18nArray,
51
+ scrollToMetaField: scrollToMetaField,
52
+ isFastToken: isFastToken,
53
+ findAssetLocationEnabled: findAssetLocationEnabled,
54
+ isApprovalsEnabled: isApprovalsEnabled,
55
+ smallerFont: smallerFont,
56
+ hideFileSpecsMetadataFields: hideFileSpecsMetadataFields
57
+ });
58
+ }, [file, rootFieldsRegionalUuidsByKeys, languageRegionalFilterUuid, i18n, isPreUpload, expireDateMappedField, i18nArray, scrollToMetaField, isFastToken, findAssetLocationEnabled, isApprovalsEnabled, hideFileSpecsMetadataFields]),
59
+ readOnlyGeneralMetadataFields = _useMemo.readOnlyFields,
60
+ editableGeneralMetadataGFields = _useMemo.editableFields;
61
+ var customMetadataGroups = useMemo(function () {
62
+ var _metadataModel$filter;
63
+ var customMetadataGroups = [];
64
+ metadataModel === null || metadataModel === void 0 ? void 0 : (_metadataModel$filter = metadataModel.filter(function (_ref3) {
65
+ var appliesTo = _ref3.applies_to;
66
+ return appliesTo === 'FILES';
67
+ })) === null || _metadataModel$filter === void 0 ? void 0 : _metadataModel$filter.forEach(function (_ref4) {
68
+ var _ref5;
69
+ var groups = _ref4.groups;
70
+ customMetadataGroups.push.apply(customMetadataGroups, _toConsumableArray((_ref5 = groups || []) === null || _ref5 === void 0 ? void 0 : _ref5.filter(function (group) {
71
+ return !group.isRoot;
72
+ })));
73
+ });
74
+ return customMetadataGroups;
75
+ }, [metadataModel]);
76
+ var hasField = function hasField(fieldKey, thumbnailMetadataFieldKey) {
77
+ return fieldKey === thumbnailMetadataFieldKey || fieldKey === 'expiredAt' && thumbnailMetadataFieldKey === (expireDateMappedField === null || expireDateMappedField === void 0 ? void 0 : expireDateMappedField.key);
78
+ };
79
+ var findFileMetadataField = useCallback(function (key) {
80
+ var _customMetadataGroups;
81
+ var generalMetadataFields = [].concat(_toConsumableArray(editableGeneralMetadataGFields), _toConsumableArray(readOnlyGeneralMetadataFields));
82
+ var generalField = generalMetadataFields.find(function (field) {
83
+ return hasField(field.key, key);
84
+ });
85
+ if (generalField) {
86
+ return {
87
+ field: generalField,
88
+ type: 'general'
89
+ };
90
+ }
91
+ var customField = (_customMetadataGroups = customMetadataGroups.find(function (_ref6) {
92
+ var fields = _ref6.fields;
93
+ return fields.some(function (field) {
94
+ return hasField(field.key, key) && field;
95
+ });
96
+ })) === null || _customMetadataGroups === void 0 ? void 0 : _customMetadataGroups.fields.find(function (field) {
97
+ return hasField(field.key, key);
98
+ });
99
+ if (customField) {
100
+ return {
101
+ field: customField,
102
+ type: 'custom'
103
+ };
104
+ }
105
+ return {
106
+ field: null,
107
+ type: 'general'
108
+ };
109
+ }, [editableGeneralMetadataGFields, readOnlyGeneralMetadataFields, customMetadataGroups]);
110
+ return {
111
+ readOnlyGeneralMetadataFields: readOnlyGeneralMetadataFields,
112
+ editableGeneralMetadataGFields: editableGeneralMetadataGFields,
113
+ customMetadataGroups: customMetadataGroups,
114
+ findFileMetadataField: findFileMetadataField
115
+ };
116
+ };
117
+ export default useFileMetadata;
@@ -0,0 +1,37 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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; } }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import { useState, useMemo } from 'react';
8
+ var toLowerCase = function toLowerCase() {
9
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
10
+ return value.toLowerCase().trim();
11
+ };
12
+ var useFilterSearch = function useFilterSearch(_ref) {
13
+ var _ref$options = _ref.options,
14
+ options = _ref$options === void 0 ? [] : _ref$options,
15
+ _ref$searchProperty = _ref.searchProperty,
16
+ searchProperty = _ref$searchProperty === void 0 ? 'name' : _ref$searchProperty;
17
+ var _useState = useState(''),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ searchQuery = _useState2[0],
20
+ setSearchQuery = _useState2[1];
21
+ var handleSearch = function handleSearch(event) {
22
+ setSearchQuery(event.target.value);
23
+ };
24
+ var filteredOptions = useMemo(function () {
25
+ return options.filter(function (option) {
26
+ return toLowerCase(option[searchProperty]).includes(toLowerCase(searchQuery));
27
+ });
28
+ }, [searchQuery, options]);
29
+ return {
30
+ searchQuery: searchQuery,
31
+ hasQuery: (searchQuery === null || searchQuery === void 0 ? void 0 : searchQuery.length) > 0,
32
+ filteredOptions: filteredOptions,
33
+ hasResults: filteredOptions.length > 0,
34
+ handleSearch: handleSearch
35
+ };
36
+ };
37
+ export default useFilterSearch;
@@ -0,0 +1,39 @@
1
+ import useExplorer from './useExplorer';
2
+ var useForcedFilters = function useForcedFilters() {
3
+ var _useExplorer = useExplorer(),
4
+ opts = _useExplorer.opts;
5
+ var disableFiltersAndSearch = opts.disableFiltersAndSearch,
6
+ forceFilters = opts.forceFilters,
7
+ _opts$filters = opts.filters,
8
+ filters = _opts$filters === void 0 ? {} : _opts$filters;
9
+ var _filters$metadata = filters.metadata,
10
+ metadata = _filters$metadata === void 0 ? [] : _filters$metadata;
11
+ var isForcedFilters = disableFiltersAndSearch || forceFilters;
12
+ var isForcedMetadataField = function isForcedMetadataField(fieldKey) {
13
+ return isForcedFilters && metadata.some(function (_ref) {
14
+ var key = _ref.key;
15
+ return key === fieldKey;
16
+ });
17
+ };
18
+ var isForcedOption = function isForcedOption(_ref2) {
19
+ var fieldKey = _ref2.fieldKey,
20
+ optionValue = _ref2.optionValue;
21
+ if (!isForcedMetadataField(fieldKey)) return false;
22
+ var _ref3 = metadata.find(function (_ref4) {
23
+ var key = _ref4.key;
24
+ return key === fieldKey;
25
+ }) || {},
26
+ value = _ref3.value;
27
+ return Array.isArray(value) ? value.includes(optionValue) : value === optionValue;
28
+ };
29
+ var isForcedFilter = function isForcedFilter(filterKey) {
30
+ return isForcedFilters && !!filters[filterKey];
31
+ };
32
+ return {
33
+ isForcedFilters: isForcedFilters,
34
+ isForcedMetadataField: isForcedMetadataField,
35
+ isForcedOption: isForcedOption,
36
+ isForcedFilter: isForcedFilter
37
+ };
38
+ };
39
+ export default useForcedFilters;
@@ -0,0 +1,25 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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; } }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import { useState, useLayoutEffect } from 'react';
8
+ var useIsOverflow = function useIsOverflow(ref) {
9
+ var _useState = useState(undefined),
10
+ _useState2 = _slicedToArray(_useState, 2),
11
+ isOverflow = _useState2[0],
12
+ setIsOverflow = _useState2[1];
13
+ useLayoutEffect(function () {
14
+ var current = ref.current;
15
+ var trigger = function trigger() {
16
+ var hasOverflow = current.scrollWidth > current.clientWidth;
17
+ setIsOverflow(hasOverflow);
18
+ };
19
+ if (current) {
20
+ trigger();
21
+ }
22
+ }, [ref]);
23
+ return isOverflow;
24
+ };
25
+ export default useIsOverflow;
@@ -0,0 +1,20 @@
1
+ import { useSelector } from 'react-redux';
2
+ import { useTheme } from '@scaleflex/ui/theme/hooks';
3
+ import { selectContainerWidth } from '../slices/common.slice';
4
+
5
+ /**
6
+ * check if the widget container <= 1085px
7
+ *
8
+ * @param {containerWidth} Number container width
9
+ * @param {theme} Object Scaleflex theme
10
+ * @returns {Boolean}
11
+ */
12
+
13
+ var useIsSmallScreen = function useIsSmallScreen() {
14
+ var theme = useTheme();
15
+ var containerWidth = useSelector(selectContainerWidth);
16
+ var mdSize = theme.breakpoints.values.lg; // 1085px
17
+
18
+ return containerWidth <= mdSize;
19
+ };
20
+ export default useIsSmallScreen;
@@ -0,0 +1,231 @@
1
+ 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); }
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ 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."); }
4
+ 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; } }
5
+ 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; }
6
+ 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; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ 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; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
10
+ 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); }
11
+ import { useContext, useCallback, useRef } from 'react';
12
+ import { useDispatch } from 'react-redux';
13
+ import { VIEW_IDS, FMAW_URL_QUERY_PARAMS, ABORTED_ERROR } from '@scaleflex/widget-utils/lib/constants';
14
+ import recursiveFnCall from '@scaleflex/widget-utils/lib/recursiveFnCall';
15
+ import { VirtualListDataContext } from '@scaleflex/widget-core/lib/Providers';
16
+ import createThunk from '@scaleflex/widget-utils/lib/createThunk';
17
+ import useExplorer from './useExplorer';
18
+ import { fetchFileByUuid, getFileByUuidFromState, selectFilesUuids, selectIsNoMoreFiles } from '../slices/files.slice';
19
+ import { updateSearchQuery, updateSearchSuggestions } from '../slices/search.slice';
20
+ import { activateFoldersView, fetchFolderFiles, selectCurrentFolderPath } from '../slices/folders.slice';
21
+ import { changeView, selectIsFoldersView, selectIsSearchMode } from '../slices/views.slice';
22
+ import { itemsSelected, selectionsCleared } from '../slices/selections.slice';
23
+ import { selectIsFiltersActive, updateFilteredFiles } from '../slices/filters.slice';
24
+ import decodeB64ToStr from '../utils/decodeB64ToStr';
25
+ import { fileWindowUpdated } from '../slices/panels.slice';
26
+
27
+ // We use this thunk instead of creating a ref inside the hook and utilize ref assigning/un-assigning on chaning the selectors' values
28
+ // cause using the selectors directly won't always use the latest state data/values in places that use callback fns.
29
+ var getUpdatedLocateData = createThunk(function (_, thunkApi) {
30
+ var state = thunkApi.getState();
31
+ var isSearchMode = selectIsSearchMode(state);
32
+ var isFiltersApplied = selectIsFiltersActive(state);
33
+ var isFoldersView = selectIsFoldersView(state);
34
+ var currentOpenedFolderPath = selectIsFoldersView(state) && selectCurrentFolderPath(state);
35
+ var allFilesLoaded = currentOpenedFolderPath && !selectIsNoMoreFiles(state);
36
+ var filesUuids = selectFilesUuids(state);
37
+ return {
38
+ isSearchMode: isSearchMode,
39
+ isFiltersApplied: isFiltersApplied,
40
+ isFoldersView: isFoldersView,
41
+ currentOpenedFolderPath: currentOpenedFolderPath,
42
+ allFilesLoaded: allFilesLoaded,
43
+ filesUuids: filesUuids
44
+ };
45
+ });
46
+ var filesLimit = 500;
47
+ var timeoutToRemoveQueryParam = 10000; // 10 seconds
48
+
49
+ var useLocateFile = function useLocateFile() {
50
+ var dispatch = useDispatch();
51
+ var _useExplorer = useExplorer(),
52
+ info = _useExplorer.info,
53
+ i18n = _useExplorer.i18n,
54
+ hideInfo = _useExplorer.hideInfo,
55
+ replaceUrlQueryParams = _useExplorer.replaceUrlQueryParams,
56
+ getUrlQueryParam = _useExplorer.getUrlQueryParam,
57
+ deleteUrlQueryParams = _useExplorer.deleteUrlQueryParams;
58
+ var _useContext = useContext(VirtualListDataContext),
59
+ scrolledElementRef = _useContext.apiRef;
60
+ var locatingFileUuid = useRef(null);
61
+ var fetchFileToBeLocated = useCallback(async function (uuid, isFoldersView) {
62
+ if (!uuid) return Promise.resolve();
63
+
64
+ // Feedback while fetching file
65
+ info(i18n('explorerAssetLocateFetchingFileMessage'), 'info', 0);
66
+ if (!isFoldersView) {
67
+ dispatch(changeView({
68
+ view: VIEW_IDS.FOLDERS
69
+ }));
70
+ }
71
+ var fetchedFile = await dispatch(fetchFileByUuid({
72
+ uuid: uuid
73
+ })).throwRejection()["catch"](function (err) {
74
+ hideInfo();
75
+ if (err !== ABORTED_ERROR) {
76
+ info(i18n('explorerAssetLocateFetchingFileFailedMessage'), 'warning');
77
+ }
78
+ // open root folder in case of failed fetch
79
+ return dispatch(activateFoldersView({
80
+ skipViewDispatch: true
81
+ }));
82
+ });
83
+ return fetchedFile;
84
+ }, [i18n, info, hideInfo]);
85
+ var getScrollToAndSelectFileFn = useCallback(function (index, fileToLocate) {
86
+ var _scrolledElementRef$c;
87
+ if (typeof (scrolledElementRef === null || scrolledElementRef === void 0 ? void 0 : (_scrolledElementRef$c = scrolledElementRef.current) === null || _scrolledElementRef$c === void 0 ? void 0 : _scrolledElementRef$c.scrollToItem) !== 'function') return function () {};
88
+ return function () {
89
+ scrolledElementRef === null || scrolledElementRef === void 0 ? void 0 : scrolledElementRef.current.scrollToItem({
90
+ index: index
91
+ });
92
+ dispatch(itemsSelected({
93
+ foldersUuids: [],
94
+ filesUuids: [fileToLocate.uuid]
95
+ }));
96
+ hideInfo();
97
+ };
98
+ }, [hideInfo]);
99
+ var updateUrlWithLocatableFile = useCallback(function (fileUuid) {
100
+ var fileUuidFromUrl = decodeB64ToStr(getUrlQueryParam(FMAW_URL_QUERY_PARAMS.LOCATE_FILE));
101
+ if (fileUuid && fileUuidFromUrl !== fileUuid) {
102
+ replaceUrlQueryParams({
103
+ params: _defineProperty({}, FMAW_URL_QUERY_PARAMS.LOCATE_FILE, btoa(fileUuid)),
104
+ push: true
105
+ });
106
+ }
107
+ }, [getUrlQueryParam, replaceUrlQueryParams]);
108
+ var recursivelyGetFileIndex = useCallback(async function (filesResponse, fileUuidToLocate) {
109
+ var _ref = filesResponse || {},
110
+ _ref$files = _ref.files,
111
+ files = _ref$files === void 0 ? [] : _ref$files,
112
+ filesUuids = _ref.filesUuids,
113
+ allFilesLoaded = _ref.allFilesLoaded,
114
+ offset = _ref.offset;
115
+ var index = Array.isArray(filesUuids) ? filesUuids.indexOf(fileUuidToLocate) : files.findIndex(function (file) {
116
+ return file.uuid === fileUuidToLocate;
117
+ });
118
+ var filesCount = Array.isArray(filesUuids) ? filesUuids.length : files.length;
119
+ if (index < 0) {
120
+ if (allFilesLoaded) {
121
+ return -1;
122
+ }
123
+ var newFilesResponse = await dispatch(fetchFolderFiles({
124
+ offset: offset !== null && offset !== void 0 ? offset : filesCount,
125
+ filesLimit: filesLimit
126
+ }));
127
+ return recursivelyGetFileIndex(newFilesResponse, fileUuidToLocate);
128
+ }
129
+ var prevRequestOffset = offset ? offset - filesLimit : 0;
130
+ return index + prevRequestOffset;
131
+ }, []);
132
+ var lookupTheFile = useCallback(async function (filesResponse, fileToLocate) {
133
+ var index = await recursivelyGetFileIndex(filesResponse, fileToLocate.uuid);
134
+ if (index < 0) {
135
+ throw new Error('');
136
+ }
137
+ return recursiveFnCall({
138
+ getFn: function getFn() {
139
+ return getScrollToAndSelectFileFn(index, fileToLocate);
140
+ }
141
+ });
142
+ }, [recursivelyGetFileIndex, getScrollToAndSelectFileFn]);
143
+ var onFileLookupFinish = useCallback(function () {
144
+ locatingFileUuid.current = null;
145
+ setTimeout(function () {
146
+ return deleteUrlQueryParams([FMAW_URL_QUERY_PARAMS.LOCATE_FILE]);
147
+ }, timeoutToRemoveQueryParam);
148
+ }, [deleteUrlQueryParams]);
149
+ var triggerFileLocating = useCallback(async function (_ref2) {
150
+ var _fileToLocate$folder;
151
+ var _ref2$uuid = _ref2.uuid,
152
+ uuid = _ref2$uuid === void 0 ? null : _ref2$uuid,
153
+ _ref2$file = _ref2.file,
154
+ file = _ref2$file === void 0 ? null : _ref2$file,
155
+ disableUrlUpdate = _ref2.disableUrlUpdate,
156
+ onSuccess = _ref2.onSuccess;
157
+ var fileUuid = uuid || (file === null || file === void 0 ? void 0 : file.uuid);
158
+ if (!fileUuid || locatingFileUuid.current === fileUuid) {
159
+ return;
160
+ }
161
+ locatingFileUuid.current = fileUuid;
162
+ var _dispatch = dispatch(getUpdatedLocateData()),
163
+ isSearchMode = _dispatch.isSearchMode,
164
+ isFiltersApplied = _dispatch.isFiltersApplied,
165
+ isFoldersView = _dispatch.isFoldersView,
166
+ currentOpenedFolderPath = _dispatch.currentOpenedFolderPath,
167
+ allFilesLoaded = _dispatch.allFilesLoaded,
168
+ filesUuids = _dispatch.filesUuids;
169
+ if (isSearchMode) dispatch(updateSearchQuery({
170
+ query: ''
171
+ }));
172
+ if (isFiltersApplied) {
173
+ dispatch(updateSearchSuggestions({
174
+ filters: [],
175
+ tags: [],
176
+ dismissApiCall: true
177
+ }));
178
+ dispatch(updateFilteredFiles({
179
+ dismissApiCall: true
180
+ }));
181
+ }
182
+ dispatch(selectionsCleared());
183
+ dispatch(fileWindowUpdated());
184
+
185
+ // `getFileByUuidFromState` is used to get the file from the state using the thunk not selector but doesn't fetch it from BE.
186
+ var fileToLocate = isFoldersView && !isSearchMode && dispatch(getFileByUuidFromState(fileUuid)) || file || (await fetchFileToBeLocated(uuid, isFoldersView));
187
+ var folderPath = fileToLocate === null || fileToLocate === void 0 ? void 0 : (_fileToLocate$folder = fileToLocate.folder) === null || _fileToLocate$folder === void 0 ? void 0 : _fileToLocate$folder.name;
188
+ if (!folderPath) {
189
+ locatingFileUuid.current = null;
190
+ info(i18n('explorerAssetLocateFailureInfoMessage'), 'error', 3000);
191
+ return;
192
+ }
193
+ if (!disableUrlUpdate && fileToLocate.uuid) {
194
+ updateUrlWithLocatableFile(fileToLocate.uuid);
195
+ }
196
+ var isFileFolderAlreadyOpened = currentOpenedFolderPath && folderPath === currentOpenedFolderPath && !(isSearchMode || isFiltersApplied);
197
+ if (isFileFolderAlreadyOpened) {
198
+ try {
199
+ await lookupTheFile({
200
+ filesUuids: filesUuids,
201
+ allFilesLoaded: allFilesLoaded
202
+ }, fileToLocate);
203
+ } catch (e) {
204
+ info(i18n('explorerAssetNotInFolderError', {
205
+ assetName: fileToLocate.name
206
+ }), 'error', 4000);
207
+ }
208
+ onFileLookupFinish();
209
+ return;
210
+ }
211
+ dispatch(activateFoldersView({
212
+ itemToOpen: folderPath,
213
+ skipViewDispatch: !!uuid || isFoldersView,
214
+ filesLimit: filesLimit
215
+ })).then(function () {
216
+ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [],
217
+ _ref4 = _slicedToArray(_ref3, 2),
218
+ filesResponse = _ref4[1];
219
+ lookupTheFile(filesResponse, fileToLocate);
220
+ if (typeof onSuccess === 'function') {
221
+ onSuccess();
222
+ }
223
+ })["catch"](function () {
224
+ info(i18n('explorerAssetNotInFolderError', {
225
+ assetName: fileToLocate.name
226
+ }), 'error', 4000);
227
+ })["finally"](onFileLookupFinish);
228
+ }, [i18n, info, fetchFileToBeLocated, lookupTheFile, onFileLookupFinish]);
229
+ return triggerFileLocating;
230
+ };
231
+ export default useLocateFile;
@@ -0,0 +1,9 @@
1
+ import { useEffect, useRef } from 'react';
2
+ var usePrevious = function usePrevious(value) {
3
+ var ref = useRef();
4
+ useEffect(function () {
5
+ ref.current = value;
6
+ });
7
+ return ref.current;
8
+ };
9
+ export default usePrevious;
@@ -0,0 +1,168 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ 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."); }
3
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
4
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
5
+ 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); }
6
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
7
+ 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."); }
8
+ 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; } }
9
+ 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; }
10
+ 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; } }
11
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
12
+ import { useMemo, useCallback, useEffect, useState } from 'react';
13
+ import { useSelector, useDispatch } from 'react-redux';
14
+ import { SuggestionsManager, SearchSuggestionsMenu } from '@scaleflex/widget-explorer/lib/utils/SearchSuggestions';
15
+ import { useTheme } from '@scaleflex/ui/theme/hooks';
16
+ import useExplorerI18n from './useExplorerI18n';
17
+ import { getAttributesKeys, getAttributesTags, updateSearchSuggestions, selectSearchSuggestionsAttributesKeys, selectSearchSuggestionsAttributesKeysLoading, selectSearchSuggestionsAttributesTags, selectSearchSuggestionsAttributesTagsLoading, selectSearchSuggestionsFilters, selectSearchSuggestionsTags, selectSearchSuggestionsAttributesKeysLoadingFinished, selectSearchSuggestionsAttributesTagsLoadingFinished, updateSearchQuery } from '../slices/search.slice';
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ var useSearchSuggestions = function useSearchSuggestions(_ref) {
20
+ var searchContainerRef = _ref.searchContainerRef,
21
+ searchInputFocused = _ref.searchInputFocused,
22
+ searchQuery = _ref.searchQuery,
23
+ searchInputRef = _ref.searchInputRef;
24
+ var dispatch = useDispatch();
25
+ var theme = useTheme();
26
+ var i18n = useExplorerI18n();
27
+ var searchSuggestionsAttributesKeys = useSelector(selectSearchSuggestionsAttributesKeys);
28
+ var searchSuggestionsAttributesKeysLoading = useSelector(selectSearchSuggestionsAttributesKeysLoading);
29
+ var searchSuggestionsAttributesKeysLoadingFinished = useSelector(selectSearchSuggestionsAttributesKeysLoadingFinished);
30
+ var searchSuggestionsAttributesTags = useSelector(selectSearchSuggestionsAttributesTags);
31
+ var searchSuggestionsAttributesTagsLoading = useSelector(selectSearchSuggestionsAttributesTagsLoading);
32
+ var searchSuggestionsAttributesTagsLoadingFinished = useSelector(selectSearchSuggestionsAttributesTagsLoadingFinished);
33
+ var searchSuggestionsTags = useSelector(selectSearchSuggestionsTags);
34
+ var searchSuggestionsFilters = useSelector(selectSearchSuggestionsFilters);
35
+ var _useState = useState(null),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ mode = _useState2[0],
38
+ setMode = _useState2[1];
39
+ var _useState3 = useState(),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ items = _useState4[0],
42
+ setItems = _useState4[1];
43
+ var _useState5 = useState(null),
44
+ _useState6 = _slicedToArray(_useState5, 2),
45
+ emptyItemsPlaceholder = _useState6[0],
46
+ setEmptyItemsPlaceholder = _useState6[1];
47
+ var isAttributesLoading = searchSuggestionsAttributesKeysLoading || searchSuggestionsAttributesTagsLoading;
48
+ var isAttributesLoaded = !isAttributesLoading && searchSuggestionsAttributesKeys && searchSuggestionsAttributesTags;
49
+ var open = Boolean((searchContainerRef === null || searchContainerRef === void 0 ? void 0 : searchContainerRef.current) && isAttributesLoaded);
50
+ var removeTagsAndFiltersFromSearchQuery = function removeTagsAndFiltersFromSearchQuery(query) {
51
+ var searchValue = searchInputRef.current.value;
52
+ var updatedSearchQuery = query.forEach(function (_query) {
53
+ return searchValue.includes(_query) ? searchValue.replace(_query, '') : searchValue;
54
+ });
55
+ dispatch(updateSearchQuery({
56
+ query: updatedSearchQuery === null || updatedSearchQuery === void 0 ? void 0 : updatedSearchQuery.trim()
57
+ }));
58
+ };
59
+ var selectFilter = useCallback(function (key, value) {
60
+ var filterQuery = ["@".concat(key, ":").concat(_typeof(value) === 'object' ? value.api_slug : value), "@".concat(key, ":")];
61
+ removeTagsAndFiltersFromSearchQuery(filterQuery);
62
+ dispatch(updateSearchSuggestions({
63
+ filters: [].concat(_toConsumableArray(searchSuggestionsFilters || []), [{
64
+ key: key,
65
+ value: value
66
+ }])
67
+ }));
68
+ }, [searchSuggestionsFilters]);
69
+ var selectTag = useCallback(function (tag) {
70
+ var tagQuery = ["#".concat(tag.name.toLowerCase()), '#'];
71
+ removeTagsAndFiltersFromSearchQuery(tagQuery);
72
+ dispatch(updateSearchSuggestions({
73
+ tags: [].concat(_toConsumableArray(searchSuggestionsTags || []), [tag])
74
+ }));
75
+ }, [searchSuggestionsTags]);
76
+ var suggestionsManager = useMemo(function () {
77
+ return new SuggestionsManager({
78
+ i18n: i18n,
79
+ modeId: mode,
80
+ searchInputRef: searchInputRef.current,
81
+ setModeState: setMode,
82
+ attributesKeys: searchSuggestionsAttributesKeys,
83
+ attributesTags: searchSuggestionsAttributesTags,
84
+ selectFilter: selectFilter,
85
+ selectTag: selectTag,
86
+ filters: searchSuggestionsFilters,
87
+ tags: searchSuggestionsTags,
88
+ setItems: setItems,
89
+ setEmptyItemsPlaceholder: setEmptyItemsPlaceholder
90
+ });
91
+ }, []);
92
+ useEffect(function () {
93
+ if (!searchSuggestionsAttributesKeysLoadingFinished && !searchSuggestionsAttributesKeysLoading) {
94
+ dispatch(getAttributesKeys());
95
+ }
96
+ }, [searchSuggestionsAttributesKeysLoadingFinished]);
97
+ useEffect(function () {
98
+ if (!searchSuggestionsAttributesTagsLoadingFinished && !searchSuggestionsAttributesTagsLoading) {
99
+ dispatch(getAttributesTags());
100
+ }
101
+ }, [searchSuggestionsAttributesTagsLoadingFinished]);
102
+ useEffect(function () {
103
+ if (!searchQuery) {
104
+ suggestionsManager.setMode(null);
105
+ suggestionsManager.setActiveAttribute(null);
106
+ }
107
+ }, [searchQuery]);
108
+
109
+ // Update suggestionsManager properties
110
+ useEffect(function () {
111
+ return suggestionsManager.setI18n(i18n);
112
+ }, [i18n]);
113
+ useEffect(function () {
114
+ return suggestionsManager.setSearchInputRef(searchInputRef.current);
115
+ }, [searchInputRef.current]);
116
+ useEffect(function () {
117
+ return suggestionsManager.setAttributesKeys(searchSuggestionsAttributesKeys);
118
+ }, [searchSuggestionsAttributesKeys]);
119
+ useEffect(function () {
120
+ return suggestionsManager.setAttributesTags(searchSuggestionsAttributesTags);
121
+ }, [searchSuggestionsAttributesTags]);
122
+ useEffect(function () {
123
+ return suggestionsManager.setSelectFilter(selectFilter);
124
+ }, [selectFilter]);
125
+ useEffect(function () {
126
+ return suggestionsManager.setSelectTag(selectTag);
127
+ }, [selectTag]);
128
+ useEffect(function () {
129
+ return suggestionsManager.setFilters(searchSuggestionsFilters);
130
+ }, [searchSuggestionsFilters]);
131
+ useEffect(function () {
132
+ return suggestionsManager.setTags(searchSuggestionsTags);
133
+ }, [searchSuggestionsTags]);
134
+
135
+ // Update "items" and "emptyItemsPlaceholder" states to re-render Menu
136
+ useEffect(function () {
137
+ return suggestionsManager.render();
138
+ }, [suggestionsManager, searchQuery, searchInputRef.current, searchSuggestionsAttributesKeys, searchSuggestionsAttributesTags, searchSuggestionsFilters, searchSuggestionsTags]);
139
+ var SuggestionsMenu = /*#__PURE__*/_jsx(SearchSuggestionsMenu, {
140
+ open: open,
141
+ mode: mode,
142
+ anchorEl: searchContainerRef.current,
143
+ searchInputFocused: searchInputFocused,
144
+ items: items,
145
+ emptyItemsPlaceholder: emptyItemsPlaceholder,
146
+ placeholder: i18n('searchSuggestionsPlaceholderDefault'),
147
+ i18n: i18n,
148
+ theme: theme
149
+ });
150
+ return {
151
+ SuggestionsMenu: SuggestionsMenu,
152
+ onKeyDown: function onKeyDown(event) {
153
+ if (open) {
154
+ suggestionsManager.onSearchInputKeyDown(event);
155
+ }
156
+ },
157
+ onKeyUp: function onKeyUp(event) {
158
+ if (open) {
159
+ suggestionsManager.onSearchInputKeyUp(event);
160
+ }
161
+ },
162
+ onClickSearch: function onClickSearch(event) {
163
+ suggestionsManager.onSearchButtonClick(event);
164
+ },
165
+ mode: mode
166
+ };
167
+ };
168
+ export default useSearchSuggestions;