@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
package/README.md ADDED
@@ -0,0 +1,1258 @@
1
+ # `@scaleflex/widget-explorer`
2
+
3
+ [![Plugins][plugins-image]](#plugins)
4
+ [![Website][filerobot-image]][sfx-url]
5
+ [![Version][filerobot-version]][version-url]
6
+ [![Scaleflex team][made-by-image]][sfx-url]
7
+ [![License][license-image]][license-url]
8
+ [![CodeSandbox][codeSandbox-image]][codeSandbox-url]
9
+
10
+ <div align='center'>
11
+ <img title="Scaleflex Widget logo" alt="Scaleflex Widget logo" src="https://cdn.scaleflex.com/plugins/filerobot-widget/assets/filerobot_widget_logo_with_fire.png?vh=b2ff09" width="140"/>
12
+ </div>
13
+
14
+ The file Explorer and media gallery plugin of the [Scaleflex Media Asset Widget](https://www.npmjs.com/package/@scaleflex/widget-core).
15
+
16
+ ## Usage
17
+
18
+ ### NPM
19
+
20
+ ```bash
21
+ npm install --save @scaleflex/widget-explorer
22
+ ```
23
+
24
+ ### YARN
25
+
26
+ ```bash
27
+ yarn add @scaleflex/widget-explorer
28
+ ```
29
+
30
+ then
31
+
32
+ ```js
33
+ import Explorer from '@scaleflex/widget-explorer'
34
+ ...
35
+ ...
36
+ ...
37
+ scaleflexWidget.use(Explorer, propertiesObject)
38
+ ```
39
+
40
+ ### CDN
41
+
42
+ If installed via a [CDN link](../@scaleflex/widget-core#installation), the plugin is inside the `Scaleflex` global object as `Scaleflex.Explorer`
43
+
44
+ ```js
45
+ const Explorer = window.ScaleflexWidget.Explorer
46
+ ...
47
+ ...
48
+ ...
49
+ scaleflexWidget.use(Explorer, propertiesObject)
50
+ ```
51
+
52
+ ### Plugin styles
53
+
54
+ ```js
55
+ import "@scaleflex/widget-core/dist/style.css";
56
+ import "@scaleflex/widget-explorer/dist/style.css";
57
+ ```
58
+
59
+ or via the minified versions
60
+
61
+ ```js
62
+ import "@scaleflex/widget-core/dist/style.min.css";
63
+ import "@scaleflex/widget-explorer/dist/style.min.css";
64
+ ```
65
+
66
+ > The plugin's css file should be imported after the [Core's css file](../@scaleflex/widget-core/#modules-styles) for having the styles shown correctly.
67
+
68
+ ## Explorer modes
69
+
70
+ ### Uploader mode (default mode)
71
+
72
+ The mode used for uploading files using your chosen/configured uploading provider to your token and chosen path.
73
+
74
+ #### how to?
75
+
76
+ Just initialize the widget normally and keep [`ExploreViewComponent`](#exploreviewcomponent) property in Explorer plugin with a null/empty value.
77
+
78
+ ```js
79
+ // ScaleflexWidget.Core initializations
80
+ scaleflexWidget.use(Explorer, {
81
+ // ...otherParams,
82
+ ExploreViewComponent: null
83
+ })
84
+ scaleflexWidget.use(XHRUpload, {
85
+ uploadToFolderPath: '/test'
86
+ })
87
+ ```
88
+
89
+ ### Browser/Light-DAM mode
90
+
91
+ The mode used for browsing files/folders using the Explorer's main view and do some light-weight/quick functionalities like reading & writing files metadata in addition to uploading files.
92
+
93
+ #### how to?
94
+
95
+ Initialize the plugin with providing the component `@scaleflex/widget-explorer/lib/components/ExploreView` to the [`ExploreViewComponent`](#exploreviewcomponent) property.
96
+
97
+ ```js
98
+ import ExploreView from '@scaleflex/widget-explorer/lib/components/ExploreView'
99
+ // ...scaleflexWidget and other plugins initializations
100
+
101
+ scaleflexWidget.use(Explorer, {
102
+ // ...otherParams,
103
+ ExploreViewComponent: ExploreView
104
+ })
105
+ ```
106
+
107
+ ### Assets picker mode
108
+
109
+ Enabling the ability to browse the files/folders and preview them with and their metadata. Select files from the current token and do your own custom functionality after selecting the files.
110
+
111
+ #### how to?
112
+
113
+ 1. Initialize the plugin and provide the component `@scaleflex/widget-explorer/lib/components/ExploreView` to the [`ExploreViewComponent`](#exploreviewcomponent) property.
114
+ 2. provide `useAssetsPicker` property with a `true` value.
115
+
116
+ ```js
117
+ import ExploreView from '@scaleflex/widget-explorer/lib/components/ExploreView'
118
+ // ...scaleflexWidget and other plugins initializations
119
+
120
+ scaleflexWidget.use(Explorer, {
121
+ // ...otherParams,
122
+ ExploreViewComponent: ExploreView,
123
+ useAssetsPicker: true,
124
+ hideDownloadButtonIcon: true
125
+ })
126
+ ```
127
+
128
+ > Note: please check the plugin's properties in-case you want to customize anything else related to any of the mentioned 3 modes above (some of the properties might work only for specific mode).
129
+
130
+ ## Properties
131
+
132
+ The Explorer supports multiple properties to customize the plugin according to your needs. Required attributes are marked with **_(Required)_**.
133
+
134
+ ### `config`
135
+
136
+ <u>Type:</u> `object` **_Required_**.
137
+
138
+ <u>Default:</u>
139
+
140
+ ```js
141
+ {
142
+ config: {
143
+ companyName: 'scaleflex',
144
+ foldersLimit: 200,
145
+ filesLimit: 50,
146
+ rootFolderPath: '/',
147
+ defaultSort: {
148
+ by: '',
149
+ order: ''
150
+ },
151
+ tagging: {...} // check tagging section
152
+ }
153
+ }
154
+ ```
155
+
156
+ The config objects contains the main configuration for the plugin to interact with your Scaleflex project:
157
+
158
+ #### `companyName`
159
+
160
+ <u>Type:</u> `string`.
161
+
162
+ <u>Default:</u> `scaleflex`
163
+
164
+ Your company name, used when sharing assets.
165
+
166
+ #### `foldersLimit`
167
+
168
+ <u>Type:</u> `number`.
169
+
170
+ <u>Default:</u> `200`
171
+
172
+ Number of folders to be retrieved with folders initial request.
173
+
174
+ #### `maxCountOfSelectedFiles`
175
+
176
+ <u>Type:</u> `number`.
177
+
178
+ <u>Default:</u> `undefined`
179
+
180
+ Maximum number of files that can be selected.
181
+
182
+ #### `filesLimit`
183
+
184
+ <u>Type:</u> `number`.
185
+
186
+ <u>Default:</u> `50`
187
+
188
+ Number of files to be retrieved with files initial request.
189
+
190
+ #### `rootFolderPath`
191
+
192
+ <u>Type:</u> `string`.
193
+
194
+ <u>Default:</u> `/`
195
+
196
+ Overrides the root folder path when there is no `list scope` linked with the [securityTemplateId](..@scaleflex/widget-core/README.md/#securitytemplateid) or at least 2 folders or more in the `list scope` otherwise it has no effect.
197
+
198
+ > Note: If the [securityTemplateId](..@scaleflex/widget-core/README.md/#securitytemplateid) has 2 folders at least, then the provided folder path must be one of these folders or one of their sub-folders.
199
+
200
+ #### `defaultSort`
201
+
202
+ <u>Type:</u> `object`.
203
+
204
+ <u>Default:</u> `{ by: 'name', order: 'asc' }`
205
+
206
+ Customize the default selected sort option for both files & folders shown in the main view (not applicable for folders tree or objects' trees) applied for all the files shown regardless of the opened view.
207
+
208
+ The options available sorting
209
+
210
+ | Property | Type | Default | Description |
211
+ | ----------- | -------- | ------- | --------------------------------------------------------------------------------------------------------- |
212
+ | **`by`** | `string` | `name` | Defines the default sort by param, should be one of ['name', 'created_at', 'modified_at', 'size', 'type'] |
213
+ | **`order`** | `string` | `asc` | Defines the default sort order param, should be one of ['asc', 'desc'] |
214
+
215
+ > Note: its value is considered only on plugin's install/mount.
216
+
217
+ #### `defaultSearchSort`
218
+
219
+ <u>Type:</u> `object`.
220
+
221
+ <u>Default:</u>
222
+
223
+ ```js
224
+ {
225
+ text: {
226
+ by: 'name',
227
+ order: 'asc'
228
+ }
229
+ }
230
+ ```
231
+
232
+ Customize the default selected sort option for search shown in the main view, applied for all the files shown regardless of the opened view.
233
+
234
+ The options available sorting
235
+
236
+ | Property | Type | Default | Description |
237
+ | ---------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------- |
238
+ | **text.`by`** | `string` | `name` | Defines the default search sort by param, should be one of ['relevance', 'name', 'created_at', 'modified_at', 'size', 'type'] |
239
+ | **text.`order`** | `string` | `asc` | Defines the default search sort order param, should be one of ['asc', 'desc'] |
240
+
241
+ #### `tagging`
242
+
243
+ <u>Type:</u> `object`.
244
+
245
+ <u>Default:</u>
246
+
247
+ ```js
248
+ {
249
+ tagging: {
250
+ enabled: false,
251
+ autoTagging: false,
252
+ suggestedTagsOnly: false,
253
+ language: 'en',
254
+ confidence: 60,
255
+ limit: 10,
256
+ provider: 'google',
257
+ suggestionList: []
258
+ }
259
+ }
260
+ ```
261
+
262
+ The options available for tagging
263
+
264
+ | Property | Type | Default | Description |
265
+ | ----------------------- | ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
266
+ | **`enabled`** | `boolean` | `false` | Enable/disable tags |
267
+ | **`autoTagging`** | `boolean` | `false` | Enable/disable auto-tagging |
268
+ | **`suggestedTagsOnly`** | `boolean` | `false` | Enable/disable suggested tags only. When it's TRUE, users can only select tags from a pre-defined list. Notice that when suggestedTagsOnly is TRUE, autoTagging will be disabled. |
269
+ | **`language`** | `string` | `en` | AutoTagging config that we add in POST process/autoTag request data.meta |
270
+ | **`confidence`** | `number` | `60` | AutoTagging config that we add in POST process/autoTag request data.meta |
271
+ | **`limit`** | `number` | `10` | AutoTagging config that we add in POST process/autoTag request data.meta |
272
+ | **`provider`** | `string` | `[]` | AutoTagging config that we add in POST process/autoTag request data.meta |
273
+ | **`suggestionList`** | `object[]` | `1 ` | Tags suggestions list that is shown under tags field. By default we show primary tags, but when user start typing we filter full suggestionList. Object format: |
274
+
275
+ ```js
276
+ {
277
+ sid: string, // Short id like: '#tg1885f'
278
+ names: {
279
+ en: string,
280
+ fr: string
281
+ },
282
+ primary: boolean // If true, tag will be shown in Suggestions list below tags field
283
+ }
284
+ ```
285
+
286
+ ### `inline`
287
+
288
+ <u>Type:</u> `boolean`.
289
+
290
+ <u>Default:</u> `false`
291
+
292
+ If set to `true`, the plugin will be displayed as inline element in the element referred by the [target](#target) property. Otherwise, it will pop up in a modal upon [trigger](#trigger), see below.
293
+
294
+ ### `trigger`
295
+
296
+ <u>Type:</u> `string`.
297
+
298
+ <u>Default:</u> `null`
299
+
300
+ The selector used for triggering the display of the plugin modal, if passed to `querySelectorAll` function. Available options:
301
+
302
+ - HTML tag, eg. `body`
303
+ - CSS selector, eg. `#scaleflex-widget-trigger-button` or `.scaleflex-widget-trigger-button`
304
+
305
+ Multiple triggers are supported as click events.
306
+
307
+ > **_Required if_** [inline](#inline): false
308
+
309
+ ### `target`
310
+
311
+ <u>Type:</u> `string` **_Required_**.
312
+
313
+ <u>Default:</u> `body`
314
+
315
+ The selector used for displaying the plugin, if passed to `querySelector` function. Options:
316
+
317
+ - HTML tag, eg. `body`
318
+ - CSS selector, eg. `#scaleflex-widget-container` or `.scaleflex-widget-container`
319
+
320
+ ### `width`
321
+
322
+ <u>Type:</u> `number`| `string`.
323
+
324
+ <u>Default:</u> `768`
325
+
326
+ Width of the plugin as a number if specified in pixels or a percentage, eg. `'50%'`
327
+
328
+ ### `height`
329
+
330
+ <u>Type:</u> `number`| `string`.
331
+
332
+ <u>Default:</u> `538`
333
+
334
+ Height of the plugin as a number if specified in `px` or a percentage eg. `'35%'`
335
+
336
+ ### `thumbnailWidth`
337
+
338
+ <u>Type:</u> `number`.
339
+
340
+ <u>Default:</u> `280`
341
+
342
+ Pixel width of the asset thumbnails displayed in the gallery. Apect ratio of images is kept in case of image assets.
343
+
344
+ ### `thumbnailHeight`
345
+
346
+ <u>Type:</u> `number`.
347
+
348
+ <u>Default:</u> `170`
349
+
350
+ Pixel height of the asset thumbnails displayed in the gallery. Aspect ratio of images is kept in case of image assets.
351
+
352
+ ### `ExploreViewComponent`
353
+
354
+ <u>Type:</u> `ReactComponent`.
355
+
356
+ <u>Default:</u> `null`
357
+
358
+ <u>Expected value:</u> `@scaleflex/widget-explorer/lib/components/ExploreView`
359
+
360
+ The view component that is responsible about showing the objects (folders/files...etc.) with the possibility to browse them and enable other functionalities.
361
+
362
+ ### `mutedFilesUuids`
363
+
364
+ <u>Type:</u> `array`.
365
+
366
+ <u>Default:</u> `[]`
367
+
368
+ List of file UUIDs with the state "muted". These files cannot be selected or have any actions performed on them.
369
+
370
+ ### `views`
371
+
372
+ <u>Type:</u> `array`.
373
+
374
+ <u>Default:</u> `['ASSETS', 'FOLDERS']`
375
+
376
+ List of available views.
377
+
378
+ > **NOTE** some views can be hidden if you don't have permission provided in [securityTemplateId](..@scaleflex/widget-core/README.md/#securitytemplateid).
379
+
380
+ ### `defaultView` _Deprecated_ - use [`view`](#view) instead
381
+
382
+ <u>Type:</u> `string`.
383
+
384
+ <u>Default:</u> `'FOLDERS'`
385
+
386
+ View which will be opened by default.
387
+
388
+ ### `view`
389
+
390
+ <u>Type:</u> `string`.
391
+
392
+ <u>Default:</u> `'FOLDERS'`
393
+
394
+ View which will be currently opened.
395
+
396
+ ### `viewItem`
397
+
398
+ <u>Type:</u> `string`.
399
+
400
+ <u>Default:</u> `null`
401
+
402
+ Open the provided view's item/object for ex. (folders view => folder path, labels view => label sid or uuid ...etc.)
403
+
404
+ > Note: No auto redirect to the view, you have to provide the proper view from [`view prop`](#view).
405
+
406
+ ### `viewSubItem`
407
+
408
+ <u>Type:</u> `string`.
409
+
410
+ <u>Default:</u> `null`
411
+
412
+ A sub item that should be opened inside the provided [`view`](#view) & [`viewItem`](#viewitem).
413
+
414
+ > Note: No auto redirect to the view, you have to provide the proper view from [`view prop`](#view).
415
+
416
+ ### `layoutType`
417
+
418
+ <u>Type:</u> `boolean`.
419
+
420
+ <u>Default:</u> `grid`
421
+
422
+ Specifies the default layout in the view:
423
+
424
+ | Value | Description |
425
+ | ---------- | ------------------------------------------- |
426
+ | **`grid`** | shows folders/assets as cards in a grid |
427
+ | **`list`** | shows the folders/assets as rows in a table |
428
+
429
+ you can switch between layouts from the layout selector button in the right side in header bar.
430
+
431
+ ### `waitForThumbnailsBeforeUpload`
432
+
433
+ <u>Type:</u> `boolean`.
434
+
435
+ <u>Default:</u> `false`
436
+
437
+ If set to `true`, delays the start of the upload process until the asset thumbnails are generated and displayed in the plugin.
438
+
439
+ ### `showBar`
440
+
441
+ <u>Type:</u> `boolean`.
442
+
443
+ <u>Default:</u> `true`
444
+
445
+ If set to `false`, hides the top bar with **Upload** button, searchBar, create folder button and view button.
446
+
447
+ ### `showImportFromDamButton`
448
+
449
+ <u>Type:</u> `boolean`.
450
+
451
+ <u>Default:</u> `false`
452
+
453
+ If set to `true`, shows the **Import from DAM** button in the uploads panel to upload from DAM.
454
+
455
+ > Note: this property requires `ExploreViewComponent` to be provided to be able to browse the objects.
456
+
457
+ ### `hideUploadButton`
458
+
459
+ <u>Type:</u> `boolean`.
460
+
461
+ <u>Default:</u> `false`
462
+
463
+ If set to `true`, hides the **Upload** button at the top of the plugin.
464
+
465
+ ### `hideSearch`
466
+
467
+ <u>Type:</u> `boolean`.
468
+
469
+ <u>Default:</u> `false`
470
+
471
+ Hides **Search** field at the top of the plugin.
472
+
473
+ ### `note`
474
+
475
+ <u>Type:</u> `string`.
476
+
477
+ <u>Default:</u> `null`
478
+
479
+ A custom note displayed in the upload screen for drag&drop.
480
+
481
+ ### `hint`
482
+
483
+ <u>Type:</u> `string`.
484
+
485
+ <u>Default:</u> `null`
486
+
487
+ A custom hint displayed in the upload screen at the bottom.
488
+
489
+ ### `closeModalOnClickOutside`
490
+
491
+ <u>Type:</u> `boolean`.
492
+
493
+ <u>Default:</u> `false`
494
+
495
+ Plugin modal will be closed when clicking outside of the modal.
496
+
497
+ > **_Only relevant if_** [inline](#inline): false
498
+
499
+ ### `preventModalOverlayClickOnUpload`
500
+
501
+ <u>Type:</u> `boolean`.
502
+
503
+ <u>Default:</u> `false`
504
+
505
+ Plugin modal still opened when click outside of it, if there's selected files to be uploaded
506
+
507
+ > **_Only relevant if_** [closeModalOnClickOutside](#closeModalOnClickOutside): true
508
+
509
+ ### `closeAfterFinish`
510
+
511
+ <u>Type:</u> `boolean`.
512
+
513
+ <u>Default:</u> `false`
514
+
515
+ Modal will close after upload is finished.
516
+
517
+ > **_Only relevant if_** [inline](#inline): false
518
+
519
+ ### `onClickUploadButton`
520
+
521
+ <u>Type:</u> `function`.
522
+
523
+ <u>Default:</u> `() => {}`
524
+
525
+ A callback function that would be triggered when the user clicks on upload button that is shown in the uploads panel, if returned `true` then the default upload functionality won't be triggered.
526
+
527
+ ### `disableInformer`
528
+
529
+ <u>Type:</u> `boolean`.
530
+
531
+ <u>Default:</u> `false`
532
+
533
+ Disables the [informer](../@scaleflex/widget-informer/#scaleflexwidget-informer) plugin used to show warnings and errors.
534
+
535
+ ### `disableThumbnailGenerator`
536
+
537
+ <u>Type:</u> `boolean`.
538
+
539
+ <u>Default:</u> `false`
540
+
541
+ Disables the [thumbnail-generator](../@scaleflex/widget-thumbnail-generator/#scaleflexwidget-thumbnail-generator) plugin that generates image thumbnails.
542
+
543
+ ### `disablePageScrollWhenModalOpen`
544
+
545
+ <u>Type:</u> `boolean`.
546
+
547
+ <u>Default:</u> `true`
548
+
549
+ If set to `true`, disables scrolling for the document while the plugin modal is open.
550
+
551
+ > **_Only relevant if_** [inline](#inline): false
552
+
553
+ ### `disableDownloadButton`
554
+
555
+ <u>Type:</u> `boolean`.
556
+
557
+ <u>Default:</u> `false`
558
+
559
+ Hides the download button shown in the action bar when selecting files.
560
+
561
+ ### `preventDownloadDefaultBehavior`
562
+
563
+ <u>Type:</u> `boolean`.
564
+
565
+ <u>Default:</u> `false`
566
+
567
+ Prevent default behavior of download/export.
568
+
569
+ ### `hideDownloadVariationsOption`
570
+
571
+ <u>Type:</u> `boolean`.
572
+
573
+ <u>Default:</u> `false`
574
+
575
+ Hide transformation in download options in context menu and action bar.
576
+
577
+ ### `hideDownloadButtonIcon`
578
+
579
+ <u>Type:</u> `boolean`.
580
+
581
+ <u>Default:</u> `false`
582
+
583
+ Hides the download/export button icon.
584
+
585
+ ### `hideHeaderBar`
586
+
587
+ <u>Type:</u> `boolean`.
588
+
589
+ <u>Default:</u> `false`
590
+
591
+ Hides the header bar, header bar contains breadcrumbs and other action buttons.
592
+
593
+ ### `hideExportCropPanel`
594
+
595
+ <u>Type:</u> `boolean`.
596
+
597
+ <u>Default:</u> `false`
598
+
599
+ The crop button in the export options modal will be hidden.
600
+
601
+ ### `forceDownload`
602
+
603
+ <u>Type:</u> `boolean`.
604
+
605
+ <u>Default:</u> `false`
606
+
607
+ Adds `download=1` param to the CDN download link
608
+
609
+ ### `defaultFilters` _Deprecated_ - use [`filters`](#filters) instead
610
+
611
+ <u>Type:</u> `object`.
612
+
613
+ <u>Default:</u> `null`
614
+
615
+ Apply the provided filters on initial load.
616
+
617
+ ### `defaultSearchQuery` _Deprecated_ - use [`search.query`](#search) instead
618
+
619
+ <u>Type:</u> `string`.
620
+
621
+ <u>Default:</u> `''`
622
+
623
+ Apply the provided search query on initial load.
624
+
625
+ ### `imageEditorMode`
626
+
627
+ <u>Type:</u> `string`.
628
+
629
+ <u>Default:</u> `'default'`
630
+
631
+ Possible values: `'default' | 'cloudimage' `
632
+
633
+ Set imageEditorMode for the image editor plugin.
634
+
635
+ ### `hideModalAfterExport`
636
+
637
+ <u>Type:</u> `boolean`.
638
+
639
+ <u>Default:</u> `false`
640
+
641
+ Hides the modal after finish download/export.
642
+
643
+ ### `closeAfterImageEdit`
644
+
645
+ <u>Type:</u> `boolean`.
646
+
647
+ <u>Default:</u> `false`
648
+
649
+ Hides the modal after finish editing image.
650
+
651
+ ### `onRequestCloseModal`
652
+
653
+ <u>Type:</u> `() => undefined`.
654
+
655
+ <u>Default:</u> `closeModal` function
656
+
657
+ Specified a custom function to be executed when trying to close the modal. Default closing modal behavior is overridden
658
+
659
+ > **_Only relevant if_** [inline](#inline): false
660
+
661
+ ### `animateOpenClose`
662
+
663
+ <u>Type:</u> `boolean`.
664
+
665
+ <u>Default:</u> `true`
666
+
667
+ Disable the modal's opening and closing.
668
+
669
+ > **_Only relevant if_** [inline](#inline): false
670
+
671
+ ### `locale`
672
+
673
+ <u>Type:</u> `object`.
674
+
675
+ <u>Default:</u> locales from scaleflexWidget's backend then default locale file with all labels is under `lib/defaultLocale.js`.
676
+
677
+ You can override some labels by specifying a translation object here, such as:
678
+
679
+ ```js
680
+ {
681
+ strings: {
682
+ baseFolderTitle: "Root"; // overrides the default Home value to Root
683
+ }
684
+ }
685
+ ```
686
+
687
+ <!-- not supported yet -->
688
+ <!-- ### `theme: string`
689
+
690
+ <u>Default:</u> `'light'`
691
+
692
+ - **light**: uses the light theme
693
+ - **dark**: uses the dark theme
694
+ - **auto**: respects the user's default mode -->
695
+
696
+ ### `browserBackButtonCloseModal`
697
+
698
+ <u>Type:</u> `boolean`.
699
+
700
+ <u>Default:</u> `false`
701
+
702
+ The browser **Back** button will close the modal, otherwise it will trigger the standard back browser behavior.
703
+
704
+ > **_Only relevant if_** [inline](#inline): false
705
+
706
+ ### `enableFoldersStatsApiRequest`
707
+
708
+ <u>Type:</u> `boolean`.
709
+
710
+ <u>Default:</u> `false`
711
+
712
+ When enabled it will send extra folders/stats API request with the folders request to get folders count.
713
+
714
+ ### `isUploadBarAddMoreButtonHidden`
715
+
716
+ <u>Type:</u> `boolean`.
717
+
718
+ <u>Default:</u> `false`
719
+
720
+ The 'Add More' button in upload module is hidden preventing users to upload more item.
721
+
722
+ ### `showFoldersTree`
723
+
724
+ <u>Type:</u> `boolean`.
725
+
726
+ <u>Default:</u> `false`
727
+
728
+ Shows/hides on initial load the folder tree as a sidebar at the left of the plugin to navigate folders. The user can shows/hides the folder tree from the tree icon in the breadcrumbs.
729
+
730
+ > **_Only relevant if_** folders view is provided in [views](#views)
731
+ <u>Type:</u> `boolean`.
732
+
733
+ <u>Default:</u> `false`
734
+
735
+ Shows/hides the label tree as a sidebar at the left of the plugin to navigate labels. The user can shows/hides the label tree from the tree icon in the breadcrumbs.
736
+
737
+ ### `showDetailsView`
738
+
739
+ <u>Type:</u> `boolean`.
740
+
741
+ <u>Default:</u> `false`
742
+
743
+ Shows/hides the asset details view as a sidebar at the right of the plugin to view various details about selected assets. The user can shows/hides the details view from the info icon in the right side of the breadcrumbs.
744
+
745
+ ### `hideDetailsViewButton`
746
+
747
+ <u>Type:</u> `boolean`.
748
+
749
+ <u>Default:</u> `false`
750
+
751
+ Hides the asset details view button from the info icon in the right side of the breadcrumbs.
752
+
753
+ ### `videoTranscoding`
754
+
755
+ <u>Type:</u> `object`.
756
+
757
+ <u>Default:</u>
758
+
759
+ ```js
760
+ {
761
+ resolution: 'auto',
762
+ protocol: 'HLS'
763
+ }
764
+ ```
765
+
766
+ Video transcoding options for post-upload video transcoding:
767
+
768
+ | Property | Type | Default | Description |
769
+ | ---------------- | ------------------- | ------- | ---------------------------------------- |
770
+ | **`resolution`** | `string` _required_ | `auto` | target resolutions for video transcoding |
771
+ | **`protocol`** | `string` _required_ | `HLS` | which protocol to use while transcoding |
772
+
773
+ ### `cropPresets`
774
+
775
+ <u>Type:</u> `object`.
776
+
777
+ <u>Default:</u> `{}`
778
+
779
+ Defines additional crop types & presets besides the freehand one and their presets and its shape as follows
780
+
781
+ ```js
782
+ {
783
+ 'Social media': [
784
+ /**
785
+ * label: possible to be a string or string in form of i18n key provided through locale object
786
+ * value: value follows this format (width:height:autoResize) or one of the following stringy values (original/ellipse) which defines the width & height of the crop preset autoResize which is a boolean value if `true` then resizing inputs will be disabled and auto resize will be applied automatically otherwise they're enabled, ratio of crop will be determined from width / height.
787
+ */
788
+ { label: 'Facebook profile', value: '400:400:true' },
789
+ { label: 'linkedInCover', value: '1128:191:false' }
790
+ ],
791
+ custom: [
792
+ { label: 'logoSize', value: '320:100' }
793
+ ],
794
+ ellipse: {
795
+ label: 'ellipse', value: 'ellipse'
796
+ },
797
+ original: {
798
+ label: 'original', value: 'original'
799
+ }
800
+ }
801
+ ```
802
+
803
+ > NOTE: The object's keys will be used the label for crop type (it is possible to be label string or i18n key string that is provided through locale object)
804
+
805
+ ### `showRemoveBackgroundOption`
806
+
807
+ <u>Type:</u> `boolean`.
808
+
809
+ <u>Default:</u> `true`
810
+
811
+ Remove background option will appear in context menu.
812
+
813
+ ### `disableMultipleSelect`
814
+
815
+ <u>Type:</u> `boolean`.
816
+
817
+ <u>Default:</u> `false`
818
+
819
+ Multiple files/folders selections will be disabled and only 1 file/folder possible to be selected.
820
+
821
+ ### `dismissUrlPathQueryUpdate`
822
+
823
+ <u>Type:</u> `boolean`.
824
+
825
+ <u>Default:</u> `false`
826
+
827
+ The url query `fmaw_path` won't be added/updated to the current url.
828
+
829
+ ### `showScaleflexCopyright`
830
+
831
+ <u>Type:</u> `boolean`.
832
+
833
+ <u>Default:</u> `false`
834
+
835
+ Hides Scaleflex copyright at the bottom of the plugin.
836
+
837
+ ### `useAssetsPicker`
838
+
839
+ <u>Type:</u> `boolean`.
840
+
841
+ <u>Default:</u> `false`
842
+
843
+ If set to `true`, actions like deleting, editing, or downloading assets will not be allowed, explore and insert actions allowed.
844
+
845
+ ### `assetsPickerModelTitle`
846
+
847
+ <u>Type:</u> `string`.
848
+
849
+ <u>Default:</u> `explorerTopSectionImportFileTitle`
850
+
851
+ changing it's value changes the asset picker's model title
852
+
853
+ ### `disableFolderSelection`
854
+
855
+ <u>Type:</u> `boolean`.
856
+
857
+ <u>Default:</u> `false`
858
+
859
+ If set to `true`, disable the possiblity to select folder(s).
860
+
861
+ ### `hideFolderOptions`
862
+
863
+ <u>Type:</u> `boolean`.
864
+
865
+ <u>Default:</u> `false`
866
+
867
+ If set to `true`, hide the folder item top options.
868
+
869
+ ### `hideDetailsTab`
870
+
871
+ <u>Type:</u> `boolean`.
872
+
873
+ <u>Default:</u> `false`
874
+
875
+ If set to `true`, hide toggle details tab button.
876
+
877
+ ### `hideActionBarSelectionButtons`
878
+
879
+ <u>Type:</u> `boolean`.
880
+
881
+ <u>Default:</u> `false`
882
+
883
+ If set to `true`, hide the selection buttons in the action bar.
884
+
885
+ ### `disableDnDActions`
886
+
887
+ <u>Type:</u> `boolean`.
888
+
889
+ <u>Default:</u> `false`
890
+
891
+ If set to `true`, disable the drag and drop actions to move assets/folders or upload
892
+
893
+ ### `noImgOperationsAndDownload`
894
+
895
+ <u>Type:</u> `boolean`.
896
+
897
+ <u>Default:</u> `false`
898
+
899
+ If set to `true`, hides some options in asset contextual menu:
900
+
901
+ - Download (context menu)
902
+ - Transformation (action bar)
903
+ - Edit image (context menu and action bar)
904
+
905
+ ### `queryParamPrefix`
906
+
907
+ <u>Type:</u> `string`.
908
+
909
+ <u>Default:</u> `fmaw_`
910
+
911
+ Override the query params
912
+
913
+ ### `showDragDropPanel`
914
+
915
+ <u>Type:</u> `boolean`.
916
+
917
+ <u>Default:</u> `false`
918
+
919
+ Changes the design for the addFiles panel in uploads.
920
+
921
+ ### `showSort`
922
+
923
+ <u>Type:</u> `boolean`.
924
+
925
+ <u>Default:</u> `true`
926
+
927
+ shows/hides sort button in Explorer.
928
+
929
+ ### `isDownloadUsageRightsEnabled`
930
+
931
+ <u>Type:</u> `boolean`.
932
+
933
+ <u>Default:</u> `false`
934
+
935
+ Enables/disables the download of usage rights file with assets.
936
+
937
+ ### `useLoginMode`
938
+
939
+ <u>Type:</u> `boolean`.
940
+
941
+ <u>Default:</u> `false`
942
+
943
+ Enables/disables the login mode which gives the user the possibility to login by his credentials (email & password) through a form shown to the user while using the widget, respecting the provided `container` in the core class of the widget.
944
+
945
+ > Note: Don't provide security template key nor sass key if you need to use enable this feature by providing its value to `true`.
946
+
947
+ ### `prefilledLoginModeEmail`
948
+
949
+ <u>Type:</u> `string`.
950
+
951
+ <u>Default:</u> `null`
952
+
953
+ The property used to add a default email address in the email address field of the login mode form, if not provided the email address will be empty. In both cases, the user will be able to change/add his email address and this property is used by having [`useLoginMode`](#useloginmode) enabled.
954
+
955
+ ### `hideAddingComment`
956
+
957
+ <u>Type:</u> `boolean`.
958
+
959
+ <u>Default:</u> `false`
960
+
961
+ Removes the add comment textarea from the comments tab.
962
+
963
+ ### `findAssetLocationEnabled`
964
+
965
+ <u>Type:</u> `boolean`.
966
+
967
+ <u>Default:</u> `true`
968
+
969
+ Providing `false`, will hide `Open asset location` option in the context menu and file window.
970
+
971
+ ### `restrictedSearchContext`
972
+
973
+ <u>Type:</u> `boolean`.
974
+
975
+ <u>Default:</u> `false`
976
+
977
+ Providing `true`, will disable the possibility of selecting other search contexts and always force the user to use the current opened view's context.
978
+
979
+ ### `facetedSearchEnabled`
980
+
981
+ <u>Type:</u> `boolean`.
982
+
983
+ <u>Default:</u> `false`
984
+
985
+ Faceted search allows users to filter files using metadata filters. When this feature is enabled:
986
+
987
+ - The filters bar will be hidden.
988
+ - Only metadata filters with select, select-one, and boolean fields will be displayed.
989
+
990
+ _Note_: Faceted search is only active in the assets view.
991
+
992
+ ### `facetedSearchSidebarExpanded`
993
+
994
+ <u>Type:</u> `boolean`.
995
+
996
+ <u>Default:</u> `true`
997
+
998
+ expands faceted search sidebar by default.
999
+
1000
+ _Note_: if `facetedSearchEnabled` is false, this property will be ignored.
1001
+
1002
+ ### `activeFacetedSearchMetadataFields`
1003
+
1004
+ <u>Type:</u> `array`.
1005
+
1006
+ <u>Default:</u> `[]`
1007
+
1008
+ Array of metadata fields keys to be shown on faceted search.
1009
+
1010
+ _Note_: only exist filters will be shown.
1011
+
1012
+ ### `filters`
1013
+
1014
+ <u>Type:</u> `object`.
1015
+
1016
+ <u>Default:</u> `{}`
1017
+
1018
+ Filters to be applied to the views that accept filters, and will be locked if `disableFiltersAndSearch` or `forceFilters` is `true`, consists of the following:
1019
+
1020
+ | Property | Type | Default | Description |
1021
+ | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- |
1022
+ | **`date`** | `object` | `{ key: 'created', value: undefined, operator: ':' } ` | the date filter that combines both the option/type and range with the operator |
1023
+ | **`dateOption`** | `string` \| `integer` | `CREATED === 0` | the date option/type to filter with |
1024
+ | **`dateRange`** | `integer`(1, 2, 3, 4, 5) \| `string` \| `string['yyyy-mm-dd', 'yyyy-mm-dd']` | `undefined` | The date range used in filtering with the date option |
1025
+ | **`mimeTypes`** | `string[]` | `undefined` | File mimetypes (in the UI called types) |
1026
+ | **`fileTypes`** | `string[]` | `undefined` | File types (in the UI called Format) |
1027
+ | **`size`** | `integers[minMB, maxMB]` | `undefined` | the date option/type to filter with |
1028
+ | **`tags`** | `string[] ` | `undefined` | The tags that should be contain in the files, the values consist of tag sids without # |
1029
+ | **`imageOrientations`** | `string[]` | `undefined` | The image orientation values |
1030
+ | **`imageResolutions`** | `string[]` | `undefined` | The image resolution values |
1031
+ | **`imageFaces`** | `string[]` | `undefined` | The number of faces found in an image |
1032
+ | **`imageMainColors`** | `string[]` | `undefined` | The main colors of the image which represents significant proportion in the image |
1033
+ | **`imageDominantColors`** | `string[]`s | `undefined` | The dominant colors of the image |
1034
+ | **`metadata`** | `{ key: string, operator: string\|undefined ,value: string\|string[], condition:{ {operator:string ,value: string\|string[]}\| undefined }` | `undefined` | The metadata objects used in filtering |
1035
+ | **`labels`** | `string[]` | `undefined` | The label sids without # used in filtering files contain that value **(Only 1 label/value is supported currently) -- doesn't work in labels view** |
1036
+ | **`folders`** | `string[]` | `undefined` | The path of the folders to be used while filtering **(Only 1 folder/value is supported currently) -- doesn't work in folders view** |
1037
+ | **`licenseExpiry`** | `number[] | string[] | string`\|`string` | `undefined` | The asset license expiry date, possible to be a value of the constant values or custom/specific dates |
1038
+
1039
+ > Note: you could apply the filter value directly as in the following example, or you could add another customer filter operator by providing `operator` property. Ex. { date: { key: 'created', value: ['2022-02-04'], operator: '>' } } // means return the files created after that date.
1040
+
1041
+ > Available filter operators are one of the following: ['>', '<', '<=', '>=', '!=', '=', ':', '~', '~~', '~~~', '~^', '~=']
1042
+
1043
+ ```js
1044
+ {
1045
+ date: {
1046
+ key: 'created', // Either a string 'created'/'updated',
1047
+ // `value` Either a string 'LAST_DAY'/'LAST_7_DAYS'/'LAST_30_DAYS'/'LAST_90_DAYS'/'LAST_180_DAYS' or integer 1/2/3/4/5 -- constants are preferred -- or for custom range provide an array [from, to] each date in the form yyyy-mm-dd .
1048
+ value: ['2024-10-11'],
1049
+ // `operator` one of ['>', '<', '<=', '>=', '!=', '=', ':', '~', '~~', '~~~', '~^', '~=']
1050
+ operator: '>',
1051
+ },
1052
+
1053
+ // Not used if `date` is used.
1054
+ // `dateOption`: Either a string 'CREATED'/'UPDATED' or integer 0/1.
1055
+ dateOption: 0,
1056
+
1057
+ // Not used if `date` is used.
1058
+ // `dateRange` Either a string 'LAST_DAY'/'LAST_7_DAYS'/'LAST_30_DAYS'/'LAST_90_DAYS'/'LAST_180_DAYS' or integer 1/2/3/4/5 -- constants are preferred -- or for custom range provide an array [from, to] each date in the form yyyy-mm-dd .
1059
+ dateRange: 'LAST_7_DAYS',
1060
+
1061
+ // `mimeTypes`: An Array of strings, acceptable values any/all of the following ['IMAGE', 'VIDEO', 'AUDIO', 'DOCUMENT', 'ARCHIVE'] or ['image', 'video', 'audio', 'application', 'application/zip, application/x-zip-compressed, application/vnd.rar, application/x-rar-compressed'] -- constants are preferred --.
1062
+ mimeTypes: ['IMAGE', 'VIDEO'],
1063
+
1064
+ // `fileTypes`: An Array of strings, acceptable values are provided from BE filters API value property found in file type objects, ex. ['img|x-icon', 'img|jpeg'].
1065
+ fileTypes: ['img|png', 'img|jpeg'],
1066
+
1067
+ // `size`: An Array of integers (only 2), values provided are considered as MB. [minMB, maxMB].
1068
+ size: [0, 10],
1069
+
1070
+ // `tags`: An Array of strings, values are tag sids coming from BE but without (#).
1071
+ tags: ['tge3c9d', 'tgdeaa9'],
1072
+
1073
+ // `imageOrientations`: An Array of strings, any/all of the following values are valid ['PORTRAIT', 'PANORAMA', 'SQUARE', 'LANDSCAPE'] or ['portrait', 'panorama', 'square', 'landscape'] -- constants are preferred --.
1074
+ imageOrientations: ['PORTRAIT', 'SQUARE'],
1075
+
1076
+ // `imageResolutions`: An Array of strings, any/all of the following values are possible ['SMALL', 'MEDIUM', 'LARGE'] or ['small', 'medium', 'large'] -- constants are preferred --.
1077
+ imageResolutions: ['MEDIUM', 'LARGE'],
1078
+
1079
+ // `imageFaces`: An Array of strings, any/all of the following values are possible ['NO_FACES', 'ONE_FACE', 'TWO_FACES', 'ANY'] or ['0', '1', '2', '*'] -- constants(capitalized) are preferred -- (* => means group/multiple of faces).
1080
+ imageFaces: ['1', '*'],
1081
+
1082
+ // `imageMainColors`: An Array of strings, represents the color stringy value it must be any/all of the following only no other colors ['PURPLE', 'RED', 'ORANGE', 'PINK', 'GRASS_GREEN', 'YELLOW', 'AZURE', 'CHARTREUSE', 'TEAL'] or ['purple', 'red', 'orange', 'pink', 'grass_green', 'yellow', 'azure', 'chartreuse', 'teal'] -- constants(capitalized) are preferred --.
1083
+ imageMainColors: ['TEAL', 'YELLOW'],
1084
+
1085
+ // `imageDominantColors`: An Array of strings, represents the color stringy value it must be any/all of the following only no other colors ['PURPLE', 'RED', 'ORANGE', 'PINK', 'GRASS_GREEN', 'YELLOW', 'AZURE', 'CHARTREUSE', 'TEAL'] or ['purple', 'red', 'orange', 'pink', 'grass_green', 'yellow', 'azure', 'chartreuse', 'teal'] -- constants(capitalized) are preferred --.
1086
+ imageDominantColors: ['pink', 'red'],
1087
+
1088
+ // `metadata`: An Array of objects contains { key, operator, value, condition }, key and value are required for all metadata types, operator is required for single and multiple select metadatas only, condition is required in case operator is 'HAS' to add extra condition (another operator and value) to have metadata working properly, the value either the api_key or the internal unique value, the operators are [IS, NOT, HAS], condition operators are ['AND', 'OR', 'NOT'], all operators must be upper case, also for 'IS' operator we support empty and non empty options to filter all empty/non empty metadata
1089
+ metadata: [
1090
+ { key: 'cities', value: ['@itm_v1_08bbe7e5_4@', '@itm_v1_905066ed_9@'] },
1091
+ { key: 'brand', value: 'adidas' },
1092
+ { key: 'color', operator: 'IS', value: 'yellow' },
1093
+ { key: 'file', operator: 'HAS', value: 'png', condition: {operator: 'OR', value: 'jpg'} },
1094
+ ],
1095
+
1096
+ // `labels`: An Array of strings, currently accepts 1 label only and the value should be label sid **with** (#).
1097
+ labels: ['#lbbp8dnyu'],
1098
+
1099
+ // `folders`: An Array of strings, currently accepts 1 folder path only.
1100
+ folders: ['/hello-world'],
1101
+
1102
+ // possible values: 'empty' | 'non-empty' | 'specific' (Specific date) | 'range' (Range of 2 dates) | ['', -1] (Before today) | [0] (today) | [1, ''] (After today) | [0, 2] (Within 7 days) | [0, 3] (Within 30 days)
1103
+ licenseExpiry: { value: [1, ''], operator: ':' }
1104
+ }
1105
+ ```
1106
+
1107
+ ```js
1108
+ // filter with operator syntax example
1109
+ {
1110
+ [property]: {
1111
+ value: '...', // required, depends on the filter its type is provided
1112
+ operator: ':' // optional, if needed otherwise the default one is used ':'
1113
+ key: '...', // optional, if needed.
1114
+ }
1115
+ }
1116
+ ```
1117
+
1118
+ > Note: Constant values are better to be used as they are less prone for changes.
1119
+
1120
+ > Note: To lock any of the above properties by using `disabledFiltersAndSearch` or `forceFilters` then you have to provide a value for the property to be locked.
1121
+
1122
+ > Note: Operators are allowed to be provided for all the above filters but some of them are not supported on BE.
1123
+
1124
+ ### `search`
1125
+
1126
+ <u>Type:</u> `object`.
1127
+
1128
+ <u>Default:</u> `{}`
1129
+
1130
+ Search object to be considered in the views have searching enabled and will be locked if `disableFiltersAndSearch` is `true`, consists of the following:
1131
+
1132
+ | Property | Type | Default | Description |
1133
+ | ------------- | ------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1134
+ | **`query`** | `string` | `undefined` | The search query string shown in the search input and used in searching, if using with `disabledFiltersAndSearch` then the property must contain a stringy value to lock the search or at least empty text `''` |
1135
+ | **`tags`** | `string[]` | `undefined` | The search tags found in the search input as advanced search prefxed with symbol (#) -- different from tags of filters -- |
1136
+ | **`filters`** | `string[][]` | `undefined` | The advanced search filters found also in search input by prefixing with the symbol (@) the value consists of array of 2 strings array the first string represents the key, second string represents the value and whole array represents an item -- different from filters --. |
1137
+
1138
+ ```js
1139
+ {
1140
+ // `query`: A string search query shown in the search input.
1141
+ query: '',
1142
+
1143
+ // `tags`: An array of strings **contains** (#). The search input's tags used as advanced search on writing inside the input starting with (#) symbol and spaced tags are surrounded with double quote "" .
1144
+ tags: ['#Cairo', '"#Las Vegas"'],
1145
+
1146
+ // `filters`: An Array of array consists of 2 strings, the 1st string refers to the filter's key and 2nd refers to the filter's value. The search input's filters used as advanced search on writing inside the input starting with (@) symbol.
1147
+ filters: [["key", "value"], ["filename", "Test file"]]
1148
+ }
1149
+ ```
1150
+
1151
+ > Note: To lock any of the above properties by using `disabledFiltersAndSearch` then you have to provide a value for the property to be locked at least empty value would be fine.
1152
+
1153
+ ### `disableFiltersAndSearch`
1154
+
1155
+ <u>Type:</u> `boolean`.
1156
+
1157
+ <u>Default:</u> `false`
1158
+
1159
+ If `true` then the only provided `filters` & `search` objects will be used as filters & search and disable both the filters & search input in UI dis-allowing the user to change/un-select any of them at all keeping the selected/provided filters not disabled but no changes possible for them.
1160
+
1161
+ > Note: if search query is empty it won't be disabled if you need to disable it with no text provide an empty string `''`.
1162
+
1163
+ > Note: Enabling this option will dismiss applying the filters & search from the url queries.
1164
+
1165
+ ### `forceFilters`
1166
+
1167
+ If `true` then the provided `filters` will always get applied with no possibility to remove from the UI, but the user still has the option to extend with more filters from the UI unless the provided filter accepts 1 value only.
1168
+
1169
+ > Note: Enabling this option will dismiss applying the filters from the url queries.
1170
+
1171
+ ### `disableFileResolutionFallback`
1172
+
1173
+ <u>Type:</u> `boolean`.
1174
+
1175
+ <u>Default:</u> `false`
1176
+
1177
+ If `true` it will disable fallback request to load resolution info if not found in file details in grid/list layout.
1178
+
1179
+ ### `hideLeftSideBar`
1180
+
1181
+ <u>Type:</u> `boolean`.
1182
+
1183
+ <u>Default:</u> `false`
1184
+
1185
+ Hide the folders tree sidebar and its toggle icon.
1186
+
1187
+ ### `defaultFieldKeyOfBulkEditPanel`
1188
+
1189
+ <u>Type:</u> `string`.
1190
+
1191
+ <u>Default:</u> `'tags'` fallbacks to `'title'`
1192
+
1193
+ Assigns the default field of the bulk edit panel to be opened on showing the bulk edit panel as the focused/default field, it should be one of the general field keys (`tags`/`title`/`description`) or any field key -- lowered case -- of the shown file custom metadata fields (depends on the token).
1194
+
1195
+ ### `enableAIDescription`
1196
+
1197
+ <u>Type:</u> `boolean`.
1198
+
1199
+ <u>Default:</u> `false`
1200
+
1201
+ Enables the generate description by AI in the description input of file window.
1202
+
1203
+ ## Events
1204
+
1205
+ The explorer plugin emits different events that you could subscribe to or add your handler to be called with the provided arguments passed while emitting/firing the event, the events are listed below with examples show the parameters for handler:
1206
+
1207
+ ### `objects-removed`
1208
+
1209
+ Emitted when objects (folders/labels/files) have been removed from the user's side.
1210
+
1211
+ `params`:
1212
+
1213
+ - `removedObjectsUuids`: An array of removed objects' uuids (for labels the sids will be the value).
1214
+ - `removedObjectsType`: `folders`/`labels`/`files`/`items` (files + folders).
1215
+
1216
+ example
1217
+
1218
+ ```js
1219
+ scaleflexWidget.on("objects-removed", (removedObjectsUuids = [], objectsType) => {
1220
+ console.log(
1221
+ "Objects with the following Uuids have been removed:",
1222
+ removedObjectsUuids,
1223
+ objectsType
1224
+ );
1225
+ });
1226
+ ```
1227
+
1228
+ ### `folders-moved`
1229
+
1230
+ Emitted when folder(s) are moved from path to another.
1231
+
1232
+ `params`:
1233
+
1234
+ - `movedFoldersUuids`: An array of folders uuids that are moved.
1235
+ - `newPath`: A string of the new path which the folders moved to.
1236
+
1237
+ example
1238
+
1239
+ ```js
1240
+ scaleflexWidget.on('objects-removed', (movedFoldersUuids = [], newPath) => {
1241
+ console.log(`Following folders uuids ${movedFoldersUuids.join(,)} are moved to this new path (${newPath}).`)
1242
+ })
1243
+ ```
1244
+
1245
+ <!-- Variables -->
1246
+
1247
+ [npm-url]: https://www.npmjs.com/package/@scaleflex/widget-explorer
1248
+ [license-url]: https://opensource.org/licenses/MIT
1249
+ [sfx-url]: https://www.scaleflex.com/
1250
+ [version-url]: https://www.npmjs.com/package/@scaleflex/widget-explorer
1251
+ [codeSandbox-url]: https://codesandbox.io/s/filerobot-widget-v3-c5l9th
1252
+ [npm-image]: https://img.shields.io/npm/v/@telus/remark-config.svg?style=for-the-badge&logo=npm
1253
+ [license-image]: https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge
1254
+ [made-by-image]: https://img.shields.io/badge/%3C%2F%3E%20with%20%E2%99%A5%20by-the%20Scaleflex%20team-6986fa.svg?style=for-the-badge
1255
+ [plugins-image]: https://img.shields.io/static/v1?label=Scaleflex&message=Plugins&color=yellow&style=for-the-badge
1256
+ [filerobot-image]: https://img.shields.io/static/v1?label=Scaleflex&message=website&color=orange&style=for-the-badge
1257
+ [filerobot-version]: https://img.shields.io/npm/v/@scaleflex/widget-explorer?label=Version&style=for-the-badge&logo=npm
1258
+ [codeSandbox-image]: https://img.shields.io/badge/CodeSandbox-black?style=for-the-badge&logo=CodeSandbox