@emailmaker/filemanager 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 (84) hide show
  1. package/app/themeProvider/ThemeProvider.d.ts +7 -0
  2. package/app/themeProvider/index.d.ts +1 -0
  3. package/components/CloseButton/CloseButton.d.ts +10 -0
  4. package/components/EmIcons/EmIcons.d.ts +14 -0
  5. package/components/FileContent/FileContent.d.ts +30 -0
  6. package/components/FileContent/GridView.d.ts +11 -0
  7. package/components/FileManagerApp/ActionsHeader.d.ts +14 -0
  8. package/components/FileManagerApp/FileManagerApp.d.ts +29 -0
  9. package/components/FileModals/FileModals.d.ts +37 -0
  10. package/components/FolderSidebar/FolderSidebar.d.ts +20 -0
  11. package/components/ImageAI/ImageAI.d.ts +4 -0
  12. package/components/ImageAI/SlideShowForImageAI/SlideShowForImageAI.d.ts +7 -0
  13. package/components/ImageAI/useImageAIGeneration/useImageAIGeneration.d.ts +2 -0
  14. package/components/ImageGif/ImageGif.d.ts +4 -0
  15. package/components/ImageStock/ImageStock.d.ts +4 -0
  16. package/components/LimitsCounter/LimitsCounter.d.ts +10 -0
  17. package/components/PixieEditor/PixieEditorIframe.d.ts +10 -0
  18. package/components/PixieEditor/index.d.ts +1 -0
  19. package/components/SearchInput/SearchInput.d.ts +8 -0
  20. package/components/SearchInput/index.d.ts +1 -0
  21. package/components/Tag/index.d.ts +11 -0
  22. package/components/UploadProgress/UploadProgress.d.ts +20 -0
  23. package/components/UploadProgress/index.d.ts +2 -0
  24. package/components/ViewModeToggle/ViewModeToggle.d.ts +9 -0
  25. package/components/index.d.ts +5 -0
  26. package/config/config.d.ts +5 -0
  27. package/config/usersConfigs/index.d.ts +26 -0
  28. package/constants/index.d.ts +11 -0
  29. package/debug-script.js +1 -0
  30. package/dev/index.d.ts +4 -0
  31. package/file-manager.css +1 -0
  32. package/file-manager.d.ts +46 -0
  33. package/file-manager.esm.js +2 -0
  34. package/file-manager.esm.js.map +1 -0
  35. package/file-manager.js +2 -0
  36. package/file-manager.js.LICENSE.txt +110 -0
  37. package/helpers/gtm.d.ts +16 -0
  38. package/hooks/core/context.d.ts +15 -0
  39. package/hooks/core/files/index.d.ts +4 -0
  40. package/hooks/core/files/useFilesAPI.d.ts +16 -0
  41. package/hooks/core/files/useFilesAPIHelpers.d.ts +18 -0
  42. package/hooks/core/files/useFilesModals.d.ts +20 -0
  43. package/hooks/core/files/useFilesSelection.d.ts +10 -0
  44. package/hooks/core/index.d.ts +11 -0
  45. package/hooks/core/temp/context.d.ts +0 -0
  46. package/hooks/core/types.d.ts +160 -0
  47. package/hooks/core/useFiles.d.ts +37 -0
  48. package/hooks/core/useFolderModals.d.ts +13 -0
  49. package/hooks/core/useFolders.d.ts +19 -0
  50. package/hooks/core/useModals.d.ts +17 -0
  51. package/hooks/core/useNavigation.d.ts +15 -0
  52. package/hooks/core/usePagination.d.ts +12 -0
  53. package/hooks/core/useSortAndFilter.d.ts +20 -0
  54. package/hooks/index.d.ts +5 -0
  55. package/hooks/useCustomIcons.d.ts +17 -0
  56. package/hooks/useFileActions.d.ts +21 -0
  57. package/hooks/useFileUpload.d.ts +16 -0
  58. package/hooks/useLastDirectory.d.ts +18 -0
  59. package/hooks/usePixieEditor.d.ts +15 -0
  60. package/hooks/useSidebarResize.d.ts +9 -0
  61. package/hooks/useViewMode.d.ts +7 -0
  62. package/i18n.d.ts +3 -0
  63. package/index.d.ts +13 -0
  64. package/index.html +141 -0
  65. package/loacal_module/pixie/dist/images/empty-canvas-bg.png +0 -0
  66. package/loacal_module/pixie/dist/pixie.es.js +2 -0
  67. package/loacal_module/pixie/dist/pixie.es.js.LICENSE.txt +86 -0
  68. package/loacal_module/pixie/dist/pixie.es.js.map +1 -0
  69. package/loacal_module/pixie/dist/pixie.umd.js +2 -0
  70. package/loacal_module/pixie/dist/pixie.umd.js.LICENSE.txt +116 -0
  71. package/loacal_module/pixie/dist/pixie.umd.js.map +1 -0
  72. package/mockServiceWorker.js +1 -0
  73. package/package.json +30 -0
  74. package/pixie-editor.html +187 -0
  75. package/shared/config.d.ts +13 -0
  76. package/shared/helpers/getParendFolderPath.d.ts +1 -0
  77. package/shared/helpers/index.d.ts +1 -0
  78. package/suppress-resize-observer-errors.js +1 -0
  79. package/test-pixie-loading.html +108 -0
  80. package/types.d.ts +379 -0
  81. package/utils/fileValidation.d.ts +34 -0
  82. package/utils/resizeObserverHandler.d.ts +6 -0
  83. package/utils/themeUtils.d.ts +17 -0
  84. package/widgets/layout/errorBoundary/errorBoundary.d.ts +19 -0
@@ -0,0 +1,110 @@
1
+ /*!
2
+ Copyright (c) 2018 Jed Watson.
3
+ Licensed under the MIT License (MIT), see
4
+ http://jedwatson.github.io/classnames
5
+ */
6
+
7
+ /**
8
+ * @license
9
+ * Lodash <https://lodash.com/>
10
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
11
+ * Released under MIT license <https://lodash.com/license>
12
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
13
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
14
+ */
15
+
16
+ /**
17
+ * @license React
18
+ * react-dom-client.production.js
19
+ *
20
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
21
+ *
22
+ * This source code is licensed under the MIT license found in the
23
+ * LICENSE file in the root directory of this source tree.
24
+ */
25
+
26
+ /**
27
+ * @license React
28
+ * react-is.production.min.js
29
+ *
30
+ * Copyright (c) Facebook, Inc. and its affiliates.
31
+ *
32
+ * This source code is licensed under the MIT license found in the
33
+ * LICENSE file in the root directory of this source tree.
34
+ */
35
+
36
+ /**
37
+ * @license React
38
+ * react-jsx-runtime.production.js
39
+ *
40
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
41
+ *
42
+ * This source code is licensed under the MIT license found in the
43
+ * LICENSE file in the root directory of this source tree.
44
+ */
45
+
46
+ /**
47
+ * @license React
48
+ * scheduler.production.js
49
+ *
50
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
51
+ *
52
+ * This source code is licensed under the MIT license found in the
53
+ * LICENSE file in the root directory of this source tree.
54
+ */
55
+
56
+ /**![appstore](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ2NCAxNDRIMTYwYy04LjggMC0xNiA3LjItMTYgMTZ2MzA0YzAgOC44IDcuMiAxNiAxNiAxNmgzMDRjOC44IDAgMTYtNy4yIDE2LTE2VjE2MGMwLTguOC03LjItMTYtMTYtMTZ6bS01MiAyNjhIMjEyVjIxMmgyMDB2MjAwem00NTItMjY4SDU2MGMtOC44IDAtMTYgNy4yLTE2IDE2djMwNGMwIDguOCA3LjIgMTYgMTYgMTZoMzA0YzguOCAwIDE2LTcuMiAxNi0xNlYxNjBjMC04LjgtNy4yLTE2LTE2LTE2em0tNTIgMjY4SDYxMlYyMTJoMjAwdjIwMHpNNDY0IDU0NEgxNjBjLTguOCAwLTE2IDcuMi0xNiAxNnYzMDRjMCA4LjggNy4yIDE2IDE2IDE2aDMwNGM4LjggMCAxNi03LjIgMTYtMTZWNTYwYzAtOC44LTcuMi0xNi0xNi0xNnptLTUyIDI2OEgyMTJWNjEyaDIwMHYyMDB6bTQ1Mi0yNjhINTYwYy04LjggMC0xNiA3LjItMTYgMTZ2MzA0YzAgOC44IDcuMiAxNiAxNiAxNmgzMDRjOC44IDAgMTYtNy4yIDE2LTE2VjU2MGMwLTguOC03LjItMTYtMTYtMTZ6bS01MiAyNjhINjEyVjYxMmgyMDB2MjAweiIgLz48L3N2Zz4=) */
57
+
58
+ /**![arrow-left](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg3MiA0NzRIMjg2LjlsMzUwLjItMzA0YzUuNi00LjkgMi4yLTE0LTUuMi0xNGgtODguNWMtMy45IDAtNy42IDEuNC0xMC41IDMuOUwxNTUgNDg3LjhhMzEuOTYgMzEuOTYgMCAwMDAgNDguM0w1MzUuMSA4NjZjMS41IDEuMyAzLjMgMiA1LjIgMmg5MS41YzcuNCAwIDEwLjgtOS4yIDUuMi0xNEwyODYuOSA1NTBIODcyYzQuNCAwIDgtMy42IDgtOHYtNjBjMC00LjQtMy42LTgtOC04eiIgLz48L3N2Zz4=) */
59
+
60
+ /**![arrow-right](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg2OSA0ODcuOEw0OTEuMiAxNTkuOWMtMi45LTIuNS02LjYtMy45LTEwLjUtMy45aC04OC41Yy03LjQgMC0xMC44IDkuMi01LjIgMTRsMzUwLjIgMzA0SDE1MmMtNC40IDAtOCAzLjYtOCA4djYwYzAgNC40IDMuNiA4IDggOGg1ODUuMUwzODYuOSA4NTRjLTUuNiA0LjktMi4yIDE0IDUuMiAxNGg5MS41YzEuOSAwIDMuOC0uNyA1LjItMkw4NjkgNTM2LjJhMzIuMDcgMzIuMDcgMCAwMDAtNDguNHoiIC8+PC9zdmc+) */
61
+
62
+ /**![bars](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkxMiAxOTJIMzI4Yy00LjQgMC04IDMuNi04IDh2NTZjMCA0LjQgMy42IDggOCA4aDU4NGM0LjQgMCA4LTMuNiA4LTh2LTU2YzAtNC40LTMuNi04LTgtOHptMCAyODRIMzI4Yy00LjQgMC04IDMuNi04IDh2NTZjMCA0LjQgMy42IDggOCA4aDU4NGM0LjQgMCA4LTMuNiA4LTh2LTU2YzAtNC40LTMuNi04LTgtOHptMCAyODRIMzI4Yy00LjQgMC04IDMuNi04IDh2NTZjMCA0LjQgMy42IDggOCA4aDU4NGM0LjQgMCA4LTMuNiA4LTh2LTU2YzAtNC40LTMuNi04LTgtOHpNMTA0IDIyOGE1NiA1NiAwIDEwMTEyIDAgNTYgNTYgMCAxMC0xMTIgMHptMCAyODRhNTYgNTYgMCAxMDExMiAwIDU2IDU2IDAgMTAtMTEyIDB6bTAgMjg0YTU2IDU2IDAgMTAxMTIgMCA1NiA1NiAwIDEwLTExMiAweiIgLz48L3N2Zz4=) */
63
+
64
+ /**![check-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0xOTMuNSAzMDEuN2wtMjEwLjYgMjkyYTMxLjggMzEuOCAwIDAxLTUxLjcgMEwzMTguNSA0ODQuOWMtMy44LTUuMyAwLTEyLjcgNi41LTEyLjdoNDYuOWMxMC4yIDAgMTkuOSA0LjkgMjUuOSAxMy4zbDcxLjIgOTguOCAxNTcuMi0yMThjNi04LjMgMTUuNi0xMy4zIDI1LjktMTMuM0g2OTljNi41IDAgMTAuMyA3LjQgNi41IDEyLjd6IiAvPjwvc3ZnPg==) */
65
+
66
+ /**![check-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTY5OSAzNTNoLTQ2LjljLTEwLjIgMC0xOS45IDQuOS0yNS45IDEzLjNMNDY5IDU4NC4zbC03MS4yLTk4LjhjLTYtOC4zLTE1LjYtMTMuMy0yNS45LTEzLjNIMzI1Yy02LjUgMC0xMC4zIDcuNC02LjUgMTIuN2wxMjQuNiAxNzIuOGEzMS44IDMxLjggMCAwMDUxLjcgMGwyMTAuNi0yOTJjMy45LTUuMy4xLTEyLjctNi40LTEyLjd6IiAvPjxwYXRoIGQ9Ik01MTIgNjRDMjY0LjYgNjQgNjQgMjY0LjYgNjQgNTEyczIwMC42IDQ0OCA0NDggNDQ4IDQ0OC0yMDAuNiA0NDgtNDQ4Uzc1OS40IDY0IDUxMiA2NHptMCA4MjBjLTIwNS40IDAtMzcyLTE2Ni42LTM3Mi0zNzJzMTY2LjYtMzcyIDM3Mi0zNzIgMzcyIDE2Ni42IDM3MiAzNzItMTY2LjYgMzcyLTM3MiAzNzJ6IiAvPjwvc3ZnPg==) */
67
+
68
+ /**![check](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkxMiAxOTBoLTY5LjljLTkuOCAwLTE5LjEgNC41LTI1LjEgMTIuMkw0MDQuNyA3MjQuNSAyMDcgNDc0YTMyIDMyIDAgMDAtMjUuMS0xMi4ySDExMmMtNi43IDAtMTAuNCA3LjctNi4zIDEyLjlsMjczLjkgMzQ3YzEyLjggMTYuMiAzNy40IDE2LjIgNTAuMyAwbDQ4OC40LTYxOC45YzQuMS01LjEuNC0xMi44LTYuMy0xMi44eiIgLz48L3N2Zz4=) */
69
+
70
+ /**![close-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNTEyIDY0YzI0Ny40IDAgNDQ4IDIwMC42IDQ0OCA0NDhTNzU5LjQgOTYwIDUxMiA5NjAgNjQgNzU5LjQgNjQgNTEyIDI2NC42IDY0IDUxMiA2NHptMTI3Ljk4IDI3NC44MmgtLjA0bC0uMDguMDZMNTEyIDQ2Ni43NSAzODQuMTQgMzM4Ljg4Yy0uMDQtLjA1LS4wNi0uMDYtLjA4LS4wNmEuMTIuMTIgMCAwMC0uMDcgMGMtLjAzIDAtLjA1LjAxLS4wOS4wNWwtNDUuMDIgNDUuMDJhLjIuMiAwIDAwLS4wNS4wOS4xMi4xMiAwIDAwMCAuMDd2LjAyYS4yNy4yNyAwIDAwLjA2LjA2TDQ2Ni43NSA1MTIgMzM4Ljg4IDYzOS44NmMtLjA1LjA0LS4wNi4wNi0uMDYuMDhhLjEyLjEyIDAgMDAwIC4wN2MwIC4wMy4wMS4wNS4wNS4wOWw0NS4wMiA0NS4wMmEuMi4yIDAgMDAuMDkuMDUuMTIuMTIgMCAwMC4wNyAwYy4wMiAwIC4wNC0uMDEuMDgtLjA1TDUxMiA1NTcuMjVsMTI3Ljg2IDEyNy44N2MuMDQuMDQuMDYuMDUuMDguMDVhLjEyLjEyIDAgMDAuMDcgMGMuMDMgMCAuMDUtLjAxLjA5LS4wNWw0NS4wMi00NS4wMmEuMi4yIDAgMDAuMDUtLjA5LjEyLjEyIDAgMDAwLS4wN3YtLjAyYS4yNy4yNyAwIDAwLS4wNS0uMDZMNTU3LjI1IDUxMmwxMjcuODctMTI3Ljg2Yy4wNC0uMDQuMDUtLjA2LjA1LS4wOGEuMTIuMTIgMCAwMDAtLjA3YzAtLjAzLS4wMS0uMDUtLjA1LS4wOWwtNDUuMDItNDUuMDJhLjIuMiAwIDAwLS4wOS0uMDUuMTIuMTIgMCAwMC0uMDcgMHoiIC8+PC9zdmc+) */
71
+
72
+ /**![close](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIGZpbGwtcnVsZT0iZXZlbm9kZCIgdmlld0JveD0iNjQgNjQgODk2IDg5NiIgZm9jdXNhYmxlPSJmYWxzZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNzk5Ljg2IDE2Ni4zMWMuMDIgMCAuMDQuMDIuMDguMDZsNTcuNjkgNTcuN2MuMDQuMDMuMDUuMDUuMDYuMDhhLjEyLjEyIDAgMDEwIC4wNmMwIC4wMy0uMDIuMDUtLjA2LjA5TDU2OS45MyA1MTJsMjg3LjcgMjg3LjdjLjA0LjA0LjA1LjA2LjA2LjA5YS4xMi4xMiAwIDAxMCAuMDdjMCAuMDItLjAyLjA0LS4wNi4wOGwtNTcuNyA1Ny42OWMtLjAzLjA0LS4wNS4wNS0uMDcuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMyAwLS4wNS0uMDItLjA5LS4wNkw1MTIgNTY5LjkzbC0yODcuNyAyODcuN2MtLjA0LjA0LS4wNi4wNS0uMDkuMDZhLjEyLjEyIDAgMDEtLjA3IDBjLS4wMiAwLS4wNC0uMDItLjA4LS4wNmwtNTcuNjktNTcuN2MtLjA0LS4wMy0uMDUtLjA1LS4wNi0uMDdhLjEyLjEyIDAgMDEwLS4wN2MwLS4wMy4wMi0uMDUuMDYtLjA5TDQ1NC4wNyA1MTJsLTI4Ny43LTI4Ny43Yy0uMDQtLjA0LS4wNS0uMDYtLjA2LS4wOWEuMTIuMTIgMCAwMTAtLjA3YzAtLjAyLjAyLS4wNC4wNi0uMDhsNTcuNy01Ny42OWMuMDMtLjA0LjA1LS4wNS4wNy0uMDZhLjEyLjEyIDAgMDEuMDcgMGMuMDMgMCAuMDUuMDIuMDkuMDZMNTEyIDQ1NC4wN2wyODcuNy0yODcuN2MuMDQtLjA0LjA2LS4wNS4wOS0uMDZhLjEyLjEyIDAgMDEuMDcgMHoiIC8+PC9zdmc+) */
73
+
74
+ /**![copy](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTgzMiA2NEgyOTZjLTQuNCAwLTggMy42LTggOHY1NmMwIDQuNCAzLjYgOCA4IDhoNDk2djY4OGMwIDQuNCAzLjYgOCA4IDhoNTZjNC40IDAgOC0zLjYgOC04Vjk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyek03MDQgMTkySDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2NTMwLjdjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsMTczLjMgMTczLjNjMi4yIDIuMiA0LjcgNCA3LjQgNS41djEuOWg0LjJjMy41IDEuMyA3LjIgMiAxMSAySDcwNGMxNy43IDAgMzItMTQuMyAzMi0zMlYyMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTM1MCA4NTYuMkwyNjMuOSA3NzBIMzUwdjg2LjJ6TTY2NCA4ODhINDE0Vjc0NmMwLTIyLjEtMTcuOS00MC00MC00MEgyMzJWMjY0aDQzMnY2MjR6IiAvPjwvc3ZnPg==) */
75
+
76
+ /**![delete](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTM2MCAxODRoLThjNC40IDAgOC0zLjYgOC04djhoMzA0di04YzAgNC40IDMuNiA4IDggOGgtOHY3Mmg3MnYtODBjMC0zNS4zLTI4LjctNjQtNjQtNjRIMzUyYy0zNS4zIDAtNjQgMjguNy02NCA2NHY4MGg3MnYtNzJ6bTUwNCA3MkgxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjMyYzAgNC40IDMuNiA4IDggOGg2MC40bDI0LjcgNTIzYzEuNiAzNC4xIDI5LjggNjEgNjMuOSA2MWg0NTRjMzQuMiAwIDYyLjMtMjYuOCA2My45LTYxbDI0LjctNTIzSDg4OGM0LjQgMCA4LTMuNiA4LTh2LTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek03MzEuMyA4NDBIMjkyLjdsLTI0LjItNTEyaDQ4N2wtMjQuMiA1MTJ6IiAvPjwvc3ZnPg==) */
77
+
78
+ /**![down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4NCAyNTZoLTc1Yy01LjEgMC05LjkgMi41LTEyLjkgNi42TDUxMiA2NTQuMiAyMjcuOSAyNjIuNmMtMy00LjEtNy44LTYuNi0xMi45LTYuNmgtNzVjLTYuNSAwLTEwLjMgNy40LTYuNSAxMi43bDM1Mi42IDQ4Ni4xYzEyLjggMTcuNiAzOSAxNy42IDUxLjcgMGwzNTIuNi00ODYuMWMzLjktNS4zLjEtMTIuNy02LjQtMTIuN3oiIC8+PC9zdmc+) */
79
+
80
+ /**![edit](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTI1Ny43IDc1MmMyIDAgNC0uMiA2LS41TDQzMS45IDcyMmMyLS40IDMuOS0xLjMgNS4zLTIuOGw0MjMuOS00MjMuOWE5Ljk2IDkuOTYgMCAwMDAtMTQuMUw2OTQuOSAxMTQuOWMtMS45LTEuOS00LjQtMi45LTcuMS0yLjlzLTUuMiAxLTcuMSAyLjlMMjU2LjggNTM4LjhjLTEuNSAxLjUtMi40IDMuMy0yLjggNS4zbC0yOS41IDE2OC4yYTMzLjUgMzMuNSAwIDAwOS40IDI5LjhjNi42IDYuNCAxNC45IDkuOSAyMy44IDkuOXptNjcuNC0xNzQuNEw2ODcuOCAyMTVsNzMuMyA3My4zLTM2Mi43IDM2Mi42LTg4LjkgMTUuNyAxNS42LTg5ek04ODAgODM2SDE0NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ2MzZjMCA0LjQgMy42IDggOCA4aDc4NGM0LjQgMCA4LTMuNiA4LTh2LTM2YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiIgLz48L3N2Zz4=) */
81
+
82
+ /**![exclamation-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0tMzIgMjMyYzAtNC40IDMuNi04IDgtOGg0OGM0LjQgMCA4IDMuNiA4IDh2MjcyYzAgNC40LTMuNiA4LTggOGgtNDhjLTQuNCAwLTgtMy42LTgtOFYyOTZ6bTMyIDQ0MGE0OC4wMSA0OC4wMSAwIDAxMC05NiA0OC4wMSA0OC4wMSAwIDAxMCA5NnoiIC8+PC9zdmc+) */
83
+
84
+ /**![exclamation-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0wIDgyMGMtMjA1LjQgMC0zNzItMTY2LjYtMzcyLTM3MnMxNjYuNi0zNzIgMzcyLTM3MiAzNzIgMTY2LjYgMzcyIDM3Mi0xNjYuNiAzNzItMzcyIDM3MnoiIC8+PHBhdGggZD0iTTQ2NCA2ODhhNDggNDggMCAxMDk2IDAgNDggNDggMCAxMC05NiAwem0yNC0xMTJoNDhjNC40IDAgOC0zLjYgOC04VjI5NmMwLTQuNC0zLjYtOC04LThoLTQ4Yy00LjQgMC04IDMuNi04IDh2MjcyYzAgNC40IDMuNiA4IDggOHoiIC8+PC9zdmc+) */
85
+
86
+ /**![file-image](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU1My4xIDUwOS4xbC03Ny44IDk5LjItNDEuMS01Mi40YTggOCAwIDAwLTEyLjYgMGwtOTkuOCAxMjcuMmE3Ljk4IDcuOTggMCAwMDYuMyAxMi45SDY5NmM2LjcgMCAxMC40LTcuNyA2LjMtMTIuOWwtMTM2LjUtMTc0YTguMSA4LjEgMCAwMC0xMi43IDB6TTM2MCA0NDJhNDAgNDAgMCAxMDgwIDAgNDAgNDAgMCAxMC04MCAwem00OTQuNi0xNTMuNEw2MzkuNCA3My40Yy02LTYtMTQuMS05LjQtMjIuNi05LjRIMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnY4MzJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjQwYzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMxMS4zYzAtOC41LTMuNC0xNi43LTkuNC0yMi43ek03OTAuMiAzMjZINjAyVjEzNy44TDc5MC4yIDMyNnptMS44IDU2MkgyMzJWMTM2aDMwMnYyMTZhNDIgNDIgMCAwMDQyIDQyaDIxNnY0OTR6IiAvPjwvc3ZnPg==) */
87
+
88
+ /**![file](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg1NC42IDI4OC42TDYzOS40IDczLjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNEgxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjgzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg2NDBjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzExLjNjMC04LjUtMy40LTE2LjctOS40LTIyLjd6TTc5MC4yIDMyNkg2MDJWMTM3LjhMNzkwLjIgMzI2em0xLjggNTYySDIzMlYxMzZoMzAydjIxNmE0MiA0MiAwIDAwNDIgNDJoMjE2djQ5NHoiIC8+PC9zdmc+) */
89
+
90
+ /**![folder-add](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQ4NCA0NDMuMVY1MjhoLTg0LjVjLTQuMSAwLTcuNSAzLjEtNy41IDd2NDJjMCAzLjggMy40IDcgNy41IDdINDg0djg0LjljMCAzLjkgMy4yIDcuMSA3IDcuMWg0MmMzLjkgMCA3LTMuMiA3LTcuMVY1ODRoODQuNWM0LjEgMCA3LjUtMy4yIDcuNS03di00MmMwLTMuOS0zLjQtNy03LjUtN0g1NDB2LTg0LjljMC0zLjktMy4xLTcuMS03LTcuMWgtNDJjLTMuOCAwLTcgMy4yLTcgNy4xem0zOTYtMTQ0LjdINTIxTDQwMy43IDE4Ni4yYTguMTUgOC4xNSAwIDAwLTUuNS0yLjJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1OTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjMzMC40YzAtMTcuNy0xNC4zLTMyLTMyLTMyek04NDAgNzY4SDE4NFYyNTZoMTg4LjVsMTE5LjYgMTE0LjRIODQwVjc2OHoiIC8+PC9zdmc+) */
91
+
92
+ /**![folder-open](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyOCA0NDRIODIwVjMzMC40YzAtMTcuNy0xNC4zLTMyLTMyLTMySDQ3M0wzNTUuNyAxODYuMmE4LjE1IDguMTUgMCAwMC01LjUtMi4ySDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1OTJjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjk4YzEzIDAgMjQuOC03LjkgMjkuNy0yMGwxMzQtMzMyYzEuNS0zLjggMi4zLTcuOSAyLjMtMTIgMC0xNy43LTE0LjMtMzItMzItMzJ6TTEzNiAyNTZoMTg4LjVsMTE5LjYgMTE0LjRINzQ4VjQ0NEgyMzhjLTEzIDAtMjQuOCA3LjktMjkuNyAyMEwxMzYgNjQzLjJWMjU2em02MzUuMyA1MTJIMTU5bDEwMy4zLTI1Nmg2MTIuNEw3NzEuMyA3Njh6IiAvPjwvc3ZnPg==) */
93
+
94
+ /**![folder](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4MCAyOTguNEg1MjFMNDAzLjcgMTg2LjJhOC4xNSA4LjE1IDAgMDAtNS41LTIuMkgxNDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjU5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmg3MzZjMTcuNyAwIDMyLTE0LjMgMzItMzJWMzMwLjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTg0MCA3NjhIMTg0VjI1NmgxODguNWwxMTkuNiAxMTQuNEg4NDBWNzY4eiIgLz48L3N2Zz4=) */
95
+
96
+ /**![info-circle](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNiA2NCA2NCAyNjQuNiA2NCA1MTJzMjAwLjYgNDQ4IDQ0OCA0NDggNDQ4LTIwMC42IDQ0OC00NDhTNzU5LjQgNjQgNTEyIDY0em0zMiA2NjRjMCA0LjQtMy42IDgtOCA4aC00OGMtNC40IDAtOC0zLjYtOC04VjQ1NmMwLTQuNCAzLjYtOCA4LThoNDhjNC40IDAgOCAzLjYgOCA4djI3MnptLTMyLTM0NGE0OC4wMSA0OC4wMSAwIDAxMC05NiA0OC4wMSA0OC4wMSAwIDAxMCA5NnoiIC8+PC9zdmc+) */
97
+
98
+ /**![link](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTU3NCA2NjUuNGE4LjAzIDguMDMgMCAwMC0xMS4zIDBMNDQ2LjUgNzgxLjZjLTUzLjggNTMuOC0xNDQuNiA1OS41LTIwNCAwLTU5LjUtNTkuNS01My44LTE1MC4yIDAtMjA0bDExNi4yLTExNi4yYzMuMS0zLjEgMy4xLTguMiAwLTExLjNsLTM5LjgtMzkuOGE4LjAzIDguMDMgMCAwMC0xMS4zIDBMMTkxLjQgNTI2LjVjLTg0LjYgODQuNi04NC42IDIyMS41IDAgMzA2czIyMS41IDg0LjYgMzA2IDBsMTE2LjItMTE2LjJjMy4xLTMuMSAzLjEtOC4yIDAtMTEuM0w1NzQgNjY1LjR6bTI1OC42LTQ3NGMtODQuNi04NC42LTIyMS41LTg0LjYtMzA2IDBMNDEwLjMgMzA3LjZhOC4wMyA4LjAzIDAgMDAwIDExLjNsMzkuNyAzOS43YzMuMSAzLjEgOC4yIDMuMSAxMS4zIDBsMTE2LjItMTE2LjJjNTMuOC01My44IDE0NC42LTU5LjUgMjA0IDAgNTkuNSA1OS41IDUzLjggMTUwLjIgMCAyMDRMNjY1LjMgNTYyLjZhOC4wMyA4LjAzIDAgMDAwIDExLjNsMzkuOCAzOS44YzMuMSAzLjEgOC4yIDMuMSAxMS4zIDBsMTE2LjItMTE2LjJjODQuNS04NC42IDg0LjUtMjIxLjUgMC0zMDYuMXpNNjEwLjEgMzcyLjNhOC4wMyA4LjAzIDAgMDAtMTEuMyAwTDM3Mi4zIDU5OC43YTguMDMgOC4wMyAwIDAwMCAxMS4zbDM5LjYgMzkuNmMzLjEgMy4xIDguMiAzLjEgMTEuMyAwbDIyNi40LTIyNi40YzMuMS0zLjEgMy4xLTguMiAwLTExLjNsLTM5LjUtMzkuNnoiIC8+PC9zdmc+) */
99
+
100
+ /**![loading](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTk4OCA1NDhjLTE5LjkgMC0zNi0xNi4xLTM2LTM2IDAtNTkuNC0xMS42LTExNy0zNC42LTE3MS4zYTQ0MC40NSA0NDAuNDUgMCAwMC05NC4zLTEzOS45IDQzNy43MSA0MzcuNzEgMCAwMC0xMzkuOS05NC4zQzYyOSA4My42IDU3MS40IDcyIDUxMiA3MmMtMTkuOSAwLTM2LTE2LjEtMzYtMzZzMTYuMS0zNiAzNi0zNmM2OS4xIDAgMTM2LjIgMTMuNSAxOTkuMyA0MC4zQzc3Mi4zIDY2IDgyNyAxMDMgODc0IDE1MGM0NyA0NyA4My45IDEwMS44IDEwOS43IDE2Mi43IDI2LjcgNjMuMSA0MC4yIDEzMC4yIDQwLjIgMTk5LjMuMSAxOS45LTE2IDM2LTM1LjkgMzZ6IiAvPjwvc3ZnPg==) */
101
+
102
+ /**![minus](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg3MiA0NzRIMTUyYy00LjQgMC04IDMuNi04IDh2NjBjMCA0LjQgMy42IDggOCA4aDcyMGM0LjQgMCA4LTMuNiA4LTh2LTYwYzAtNC40LTMuNi04LTgtOHoiIC8+PC9zdmc+) */
103
+
104
+ /**![picture](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkyOCAxNjBIOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMydjY0MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmg4MzJjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMyem0tNDAgNjMySDEzNnYtMzkuOWwxMzguNS0xNjQuMyAxNTAuMSAxNzhMNjU4LjEgNDg5IDg4OCA3NjEuNlY3OTJ6bTAtMTI5LjhMNjY0LjIgMzk2LjhjLTMuMi0zLjgtOS0zLjgtMTIuMiAwTDQyNC42IDY2Ni40bC0xNDQtMTcwLjdjLTMuMi0zLjgtOS0zLjgtMTIuMiAwTDEzNiA2NTIuN1YyMzJoNzUydjQzMC4yek0zMDQgNDU2YTg4IDg4IDAgMTAwLTE3NiA4OCA4OCAwIDAwMCAxNzZ6bTAtMTE2YzE1LjUgMCAyOCAxMi41IDI4IDI4cy0xMi41IDI4LTI4IDI4LTI4LTEyLjUtMjgtMjggMTIuNS0yOCAyOC0yOHoiIC8+PC9zdmc+) */
105
+
106
+ /**![right](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTc2NS43IDQ4Ni44TDMxNC45IDEzNC43QTcuOTcgNy45NyAwIDAwMzAyIDE0MXY3Ny4zYzAgNC45IDIuMyA5LjYgNi4xIDEyLjZsMzYwIDI4MS4xLTM2MCAyODEuMWMtMy45IDMtNi4xIDcuNy02LjEgMTIuNlY4ODNjMCA2LjcgNy43IDEwLjQgMTIuOSA2LjNsNDUwLjgtMzUyLjFhMzEuOTYgMzEuOTYgMCAwMDAtNTAuNHoiIC8+PC9zdmc+) */
107
+
108
+ /**![search](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTkwOS42IDg1NC41TDY0OS45IDU5NC44QzY5MC4yIDU0Mi43IDcxMiA0NzkgNzEyIDQxMmMwLTgwLjItMzEuMy0xNTUuNC04Ny45LTIxMi4xLTU2LjYtNTYuNy0xMzItODcuOS0yMTIuMS04Ny45cy0xNTUuNSAzMS4zLTIxMi4xIDg3LjlDMTQzLjIgMjU2LjUgMTEyIDMzMS44IDExMiA0MTJjMCA4MC4xIDMxLjMgMTU1LjUgODcuOSAyMTIuMUMyNTYuNSA2ODAuOCAzMzEuOCA3MTIgNDEyIDcxMmM2NyAwIDEzMC42LTIxLjggMTgyLjctNjJsMjU5LjcgMjU5LjZhOC4yIDguMiAwIDAwMTEuNiAwbDQzLjYtNDMuNWE4LjIgOC4yIDAgMDAwLTExLjZ6TTU3MC40IDU3MC40QzUyOCA2MTIuNyA0NzEuOCA2MzYgNDEyIDYzNnMtMTE2LTIzLjMtMTU4LjQtNjUuNkMyMTEuMyA1MjggMTg4IDQ3MS44IDE4OCA0MTJzMjMuMy0xMTYuMSA2NS42LTE1OC40QzI5NiAyMTEuMyAzNTIuMiAxODggNDEyIDE4OHMxMTYuMSAyMy4yIDE1OC40IDY1LjZTNjM2IDM1Mi4yIDYzNiA0MTJzLTIzLjMgMTE2LjEtNjUuNiAxNTguNHoiIC8+PC9zdmc+) */
109
+
110
+ /**![upload](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQwMCAzMTcuN2g3My45VjY1NmMwIDQuNCAzLjYgOCA4IDhoNjBjNC40IDAgOC0zLjYgOC04VjMxNy43SDYyNGM2LjcgMCAxMC40LTcuNyA2LjMtMTIuOUw1MTguMyAxNjNhOCA4IDAgMDAtMTIuNiAwbC0xMTIgMTQxLjdjLTQuMSA1LjMtLjQgMTMgNi4zIDEzek04NzggNjI2aC02MGMtNC40IDAtOCAzLjYtOCA4djE1NEgyMTRWNjM0YzAtNC40LTMuNi04LTgtOGgtNjBjLTQuNCAwLTggMy42LTggOHYxOThjMCAxNy43IDE0LjMgMzIgMzIgMzJoNjg0YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjYzNGMwLTQuNC0zLjYtOC04LTh6IiAvPjwvc3ZnPg==) */
@@ -0,0 +1,16 @@
1
+ declare global {
2
+ interface Window {
3
+ dataLayer?: any[];
4
+ }
5
+ }
6
+ interface GTMEvent {
7
+ event: string;
8
+ eventData?: string;
9
+ action?: string;
10
+ label?: string;
11
+ appLabel?: string;
12
+ value?: number;
13
+ [key: string]: any;
14
+ }
15
+ export declare const usePushToDataLayer: () => (eventObj: GTMEvent, delay?: number) => void;
16
+ export {};
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { FileManagerOptions } from '../../types';
3
+ import { FileManagerState, FileManagerActions } from './types';
4
+ export interface FileManagerContextValue {
5
+ state: FileManagerState;
6
+ actions: Partial<FileManagerActions>;
7
+ options: FileManagerOptions;
8
+ }
9
+ export declare const FileManagerContext: React.Context<FileManagerContextValue>;
10
+ export declare const useFileManagerContext: () => FileManagerContextValue;
11
+ export interface FileManagerProviderProps {
12
+ children: ReactNode;
13
+ options: FileManagerOptions;
14
+ }
15
+ export declare const FileManagerProvider: React.FC<FileManagerProviderProps>;
@@ -0,0 +1,4 @@
1
+ export { useFilesAPI, type UseFilesAPIActions } from './useFilesAPI';
2
+ export { useFilesSelection, type UseFilesSelectionState, type UseFilesSelectionActions } from './useFilesSelection';
3
+ export { useFilesModals, type UseFilesModalsState, type UseFilesModalsActions } from './useFilesModals';
4
+ export * from './useFilesAPIHelpers';
@@ -0,0 +1,16 @@
1
+ import { FilesQueryParams } from '../../../types';
2
+ export interface UseFilesAPIActions {
3
+ fetchFiles: (params?: FilesQueryParams) => Promise<void>;
4
+ handleDeleteFile: (fileId: string) => Promise<void>;
5
+ handleDeleteFolder: (folderId: string) => Promise<void>;
6
+ handleAddFile: (progressCallbacks?: {
7
+ onStart: (file: globalThis.File) => void;
8
+ onProgress: (fileName: string, progress: number) => void;
9
+ onComplete: (fileName: string) => void;
10
+ onError: (fileName: string, error: string) => void;
11
+ }) => Promise<void>;
12
+ handleAddFileByUrl: (url?: string | null) => Promise<void>;
13
+ handleDroppedFiles: (droppedFiles: globalThis.File[]) => Promise<void>;
14
+ getFileData: (fileId: string) => Promise<Blob | undefined>;
15
+ }
16
+ export declare const useFilesAPI: () => UseFilesAPIActions;
@@ -0,0 +1,18 @@
1
+ import { File as AppFile, Folder, FilesQueryParams } from '../../../types';
2
+ export interface ApiPagination {
3
+ page: number;
4
+ limit: number;
5
+ total: number;
6
+ }
7
+ interface ApiResponse {
8
+ data?: AppFile[];
9
+ files?: AppFile[];
10
+ pagination?: ApiPagination;
11
+ }
12
+ export declare const buildFilesURL: (baseURL: string, params?: FilesQueryParams) => string;
13
+ export declare const processApiResponse: (data: ApiResponse | AppFile[]) => {
14
+ files: AppFile[];
15
+ pagination?: ApiPagination;
16
+ };
17
+ export declare const addSubfoldersToFiles: (files: AppFile[], params: FilesQueryParams, getFolders: (() => Promise<Folder[]>) | undefined, getFoldersEndpoint: string | undefined) => Promise<AppFile[]>;
18
+ export {};
@@ -0,0 +1,20 @@
1
+ import { FilesQueryParams } from '../../../types';
2
+ export interface UseFilesModalsState {
3
+ isRenamingFile: boolean;
4
+ fileToRename: string | null;
5
+ }
6
+ export interface UseFilesModalsActions {
7
+ showRenameModal: (fileId: string) => void;
8
+ handleRenameCancel: () => void;
9
+ handleRenameOk: () => Promise<void>;
10
+ showMoveModal: () => void;
11
+ handleMoveCancel: () => void;
12
+ handleMoveOk: () => Promise<void>;
13
+ showCopyModal: () => void;
14
+ handleCopyCancel: () => void;
15
+ handleCopyOk: () => Promise<void>;
16
+ }
17
+ export declare const useFilesModals: (fetchFiles: (params?: FilesQueryParams) => Promise<void>) => {
18
+ state: UseFilesModalsState;
19
+ actions: UseFilesModalsActions;
20
+ };
@@ -0,0 +1,10 @@
1
+ export interface UseFilesSelectionState {
2
+ selectedFiles: Set<string>;
3
+ }
4
+ export interface UseFilesSelectionActions {
5
+ toggleFileSelection: (fileId: string) => void;
6
+ }
7
+ export declare const useFilesSelection: () => {
8
+ state: UseFilesSelectionState;
9
+ actions: UseFilesSelectionActions;
10
+ };
@@ -0,0 +1,11 @@
1
+ export type { FileManagerState, FileManagerActions, FileManagerHookBase, SearchSortState, ModalState, ApiResponse, FileManagerContextType, SortByType, SortOrderType, } from './types';
2
+ import { FileManagerContext as FileManagerContextInterface } from './types';
3
+ export type { FileManagerContextInterface };
4
+ export { FileManagerContext, useFileManagerContext, FileManagerProvider } from './context';
5
+ export type { FileManagerContextValue, FileManagerProviderProps } from './context';
6
+ export * from './useFiles';
7
+ export * from './useFolders';
8
+ export * from './useModals';
9
+ export * from './useNavigation';
10
+ export * from './usePagination';
11
+ export * from './useSortAndFilter';
File without changes
@@ -0,0 +1,160 @@
1
+ import { FormInstance } from 'antd/es/form';
2
+ import { File, Folder, FileManagerDataProviders, PaginationState, PathItem, MenuItem, FilesQueryParams, LibraryMenuKey } from '../../types';
3
+ export type SortByType = 'name' | 'size' | 'date' | 'type';
4
+ export type SortOrderType = 'asc' | 'desc';
5
+ export type SortOptionType = 'date-desc' | 'date-asc' | 'size-desc' | 'size-asc' | 'name-asc' | 'name-desc' | 'type-asc';
6
+ export declare const parseSortOption: (option: SortOptionType) => {
7
+ sortBy: SortByType;
8
+ sortOrder: SortOrderType;
9
+ };
10
+ export declare const createSortOption: (sortBy: SortByType, sortOrder: SortOrderType) => SortOptionType;
11
+ export interface FileManagerState {
12
+ folders: Folder[];
13
+ files: File[];
14
+ selectedFolder: string | null;
15
+ searchTerm: string;
16
+ sortField: string;
17
+ sortBy: SortByType;
18
+ sortOrder: SortOrderType;
19
+ pathHistory: PathItem[];
20
+ selectedFiles: Set<string>;
21
+ loading: boolean;
22
+ pagination: PaginationState;
23
+ isModalVisible: boolean;
24
+ isUrlModalVisible: boolean;
25
+ isRenameModalVisible: boolean;
26
+ isMoveModalVisible: boolean;
27
+ isRenameFolderModalVisible: boolean;
28
+ isCopyModalVisible: boolean;
29
+ form: FormInstance;
30
+ urlForm: FormInstance;
31
+ renameForm: FormInstance;
32
+ moveForm: FormInstance;
33
+ renameFolderForm: FormInstance;
34
+ copyForm: FormInstance;
35
+ fileToRename: string | null;
36
+ activeLibraryItem: string;
37
+ folderToRename: string | null;
38
+ }
39
+ export interface FileManagerActions {
40
+ setFolders: (folders: Folder[]) => void;
41
+ setFiles: (files: File[]) => void;
42
+ setSelectedFolder: (folderId: string | null) => void;
43
+ setSearchTerm: (term: string) => void;
44
+ setSortField: (field: string) => void;
45
+ setSortBy: (sortBy: SortByType) => void;
46
+ setSortOrder: (sortOrder: SortOrderType) => void;
47
+ setPathHistory: (history: PathItem[]) => void;
48
+ setSelectedFiles: (files: Set<string>) => void;
49
+ setLoading: (isLoading: boolean) => void;
50
+ setPagination: (pagination: Partial<PaginationState>) => void;
51
+ setIsModalVisible: (visible: boolean) => void;
52
+ setIsUrlModalVisible: (visible: boolean) => void;
53
+ setIsRenameModalVisible: (visible: boolean) => void;
54
+ setIsMoveModalVisible: (visible: boolean) => void;
55
+ setIsRenameFolderModalVisible: (visible: boolean) => void;
56
+ setIsCopyModalVisible: (visible: boolean) => void;
57
+ setFileToRename: (fileId: string | null) => void;
58
+ setActiveLibraryItem: (item: LibraryMenuKey) => void;
59
+ setFolderToRename: (folderId: string | null) => void;
60
+ updatePathHistoryOnFolderRename: (folderId: string, newName: string) => void;
61
+ fetchFolders: () => Promise<void>;
62
+ handleCreateFolder: () => void;
63
+ handleModalOk: () => Promise<void>;
64
+ handleModalCancel: () => void;
65
+ generateMenuItems: () => MenuItem[];
66
+ fetchFiles: (params?: FilesQueryParams) => Promise<void>;
67
+ handleDeleteFile: (fileId: string) => Promise<void>;
68
+ toggleFileSelection: (fileId: string) => void;
69
+ handleItemClick: (record: File) => void;
70
+ handleAddFile: () => Promise<void>;
71
+ handleDroppedFiles: (droppedFiles: globalThis.File[]) => Promise<void>;
72
+ handleFolderSelect: (folderId: string) => void;
73
+ handleBreadcrumbClick: (index: number) => void;
74
+ showRenameModal: (fileId: string) => void;
75
+ handleRenameCancel: () => void;
76
+ handleRenameOk: () => Promise<void>;
77
+ handleAddFileByUrl: () => Promise<void>;
78
+ showMoveModal: () => void;
79
+ handleMoveCancel: () => void;
80
+ handleMoveOk: () => Promise<void>;
81
+ showCopyModal: () => void;
82
+ handleCopyCancel: () => void;
83
+ handleCopyOk: () => Promise<void>;
84
+ }
85
+ export interface FileManagerContext {
86
+ apiEndpoints: Record<string, string | undefined>;
87
+ dataProviders?: FileManagerDataProviders;
88
+ onPathChange?: (path: string[]) => void;
89
+ }
90
+ export interface FileManagerHookBase {
91
+ state: Partial<FileManagerState>;
92
+ actions: Partial<FileManagerActions>;
93
+ }
94
+ export interface SearchSortState {
95
+ searchQuery: string;
96
+ sortBy: SortByType;
97
+ sortDirection: SortOrderType;
98
+ currentPage: number;
99
+ itemsPerPage: number;
100
+ }
101
+ export interface ModalState {
102
+ isAddFolderModalOpen: boolean;
103
+ isAddFileModalOpen: boolean;
104
+ isAddFileByUrlModalOpen: boolean;
105
+ isRenameModalOpen: boolean;
106
+ fileToRenameObj: File | null;
107
+ folderToRename: Folder | null;
108
+ }
109
+ export interface ApiResponse<T> {
110
+ success: boolean;
111
+ data?: T;
112
+ error?: string;
113
+ }
114
+ export interface FileManagerContextType {
115
+ folders: Folder[];
116
+ files: File[];
117
+ selectedFolder: string | null;
118
+ searchTerm: string;
119
+ sortField: string;
120
+ sortBy: SortByType;
121
+ sortOrder: SortOrderType;
122
+ pathHistory: PathItem[];
123
+ selectedFiles: Set<string>;
124
+ loading: boolean;
125
+ pagination: PaginationState;
126
+ searchQuery: string;
127
+ sortDirection: SortOrderType;
128
+ currentPage: number;
129
+ itemsPerPage: number;
130
+ isAddFolderModalOpen: boolean;
131
+ isAddFileModalOpen: boolean;
132
+ isAddFileByUrlModalOpen: boolean;
133
+ isRenameModalOpen: boolean;
134
+ fileToRename: string | null;
135
+ fileToRenameObj: File | null;
136
+ folderToRename: Folder | null;
137
+ addFile: (file: File) => Promise<void>;
138
+ addFileByUrl: (url: string, name: string) => Promise<void>;
139
+ deleteFiles: (fileIds: string[]) => Promise<void>;
140
+ renameFile: (fileId: string, newName: string) => Promise<void>;
141
+ addFolder: (folderName: string) => Promise<void>;
142
+ deleteFolder: (folderId: string) => Promise<void>;
143
+ renameFolder: (folderId: string, newName: string) => Promise<void>;
144
+ navigateToFolder: (folderId: string | null) => void;
145
+ toggleSelectFile: (fileId: string) => void;
146
+ toggleSelectFolder: (folderId: string) => void;
147
+ clearSelection: () => void;
148
+ openAddFolderModal: () => void;
149
+ closeAddFolderModal: () => void;
150
+ openAddFileModal: () => void;
151
+ closeAddFileModal: () => void;
152
+ openAddFileByUrlModal: () => void;
153
+ closeAddFileByUrlModal: () => void;
154
+ openRenameModal: (item: File | Folder) => void;
155
+ closeRenameModal: () => void;
156
+ setSearchQuery: (query: string) => void;
157
+ setSortBy: (field: SortByType) => void;
158
+ setSortDirection: (direction: SortOrderType) => void;
159
+ setCurrentPage: (page: number) => void;
160
+ }
@@ -0,0 +1,37 @@
1
+ import { File as AppFile, FilesQueryParams } from '../../types';
2
+ import { FileManagerHookBase } from './types';
3
+ export interface UseFilesState {
4
+ files: AppFile[];
5
+ selectedFiles: Set<string>;
6
+ loading: boolean;
7
+ isAddingFileByUrl: boolean;
8
+ isRenamingFile: boolean;
9
+ fileToRename: string | null;
10
+ }
11
+ export interface UseFilesActions {
12
+ fetchFiles: (params?: FilesQueryParams) => Promise<void>;
13
+ handleDeleteFile: (fileId: string) => Promise<void>;
14
+ handleDeleteFolder: (folderId: string) => Promise<void>;
15
+ handleAddFile: (progressCallbacks?: {
16
+ onStart: (file: globalThis.File) => void;
17
+ onProgress: (fileName: string, progress: number) => void;
18
+ onComplete: (fileName: string) => void;
19
+ onError: (fileName: string, error: string) => void;
20
+ }) => Promise<void>;
21
+ handleAddFileByUrl: (url?: string | null) => Promise<void>;
22
+ toggleFileSelection: (fileId: string) => void;
23
+ showRenameModal: (fileId: string) => void;
24
+ handleRenameCancel: () => void;
25
+ handleRenameOk: () => Promise<void>;
26
+ handleDroppedFiles: (droppedFiles: globalThis.File[]) => Promise<void>;
27
+ showMoveModal: () => void;
28
+ handleMoveCancel: () => void;
29
+ handleMoveOk: () => Promise<void>;
30
+ showCopyModal: () => void;
31
+ handleCopyCancel: () => void;
32
+ handleCopyOk: () => Promise<void>;
33
+ }
34
+ export declare const useFiles: () => FileManagerHookBase & {
35
+ state: UseFilesState;
36
+ actions: UseFilesActions;
37
+ };
@@ -0,0 +1,13 @@
1
+ export interface UseFolderModalsState {
2
+ isRenamingFolder: boolean;
3
+ folderToRename: string | null;
4
+ }
5
+ export interface UseFolderModalsActions {
6
+ showRenameFolderModal: (folderId: string) => void;
7
+ handleRenameFolderCancel: () => void;
8
+ handleRenameFolderOk: () => Promise<void>;
9
+ }
10
+ export declare const useFolderModals: (fetchFolders: () => Promise<void>) => {
11
+ state: UseFolderModalsState;
12
+ actions: UseFolderModalsActions;
13
+ };
@@ -0,0 +1,19 @@
1
+ import { Folder, MenuItem } from '../../types';
2
+ import { FileManagerHookBase } from './types';
3
+ export interface UseFoldersState {
4
+ folders: Folder[];
5
+ isCreatingFolder: boolean;
6
+ loading: boolean;
7
+ }
8
+ export interface UseFoldersActions {
9
+ fetchFolders: () => Promise<void>;
10
+ handleCreateFolder: () => void;
11
+ handleModalOk: () => Promise<void>;
12
+ handleModalCancel: () => void;
13
+ generateMenuItems: () => MenuItem[];
14
+ renameFolder: (folderId: string, newName: string) => Promise<void>;
15
+ }
16
+ export declare const useFolders: () => FileManagerHookBase & {
17
+ state: UseFoldersState;
18
+ actions: UseFoldersActions;
19
+ };
@@ -0,0 +1,17 @@
1
+ import { File, Folder } from '../../types';
2
+ import { ModalState } from './types';
3
+ export interface UseModalsActions {
4
+ openAddFolderModal: () => void;
5
+ closeAddFolderModal: () => void;
6
+ openAddFileModal: () => void;
7
+ closeAddFileModal: () => void;
8
+ openAddFileByUrlModal: () => void;
9
+ closeAddFileByUrlModal: () => void;
10
+ openRenameModal: (item: File | Folder) => void;
11
+ closeRenameModal: () => void;
12
+ }
13
+ export interface UseModalsResult {
14
+ state: ModalState;
15
+ actions: UseModalsActions;
16
+ }
17
+ export declare const useModals: () => UseModalsResult;
@@ -0,0 +1,15 @@
1
+ import { File as AppFile } from '../../types';
2
+ import { FileManagerHookBase } from './types';
3
+ /**
4
+ * Хук для навигации по структуре папок
5
+ */
6
+ export declare const useNavigation: () => FileManagerHookBase & {
7
+ selectedFolder: string | null;
8
+ pathHistory: Array<{
9
+ id: string;
10
+ name: string;
11
+ }>;
12
+ handleFolderSelect: (folderId: string) => void;
13
+ handleBreadcrumbClick: (index: number) => void;
14
+ handleItemClick: (record: AppFile) => void;
15
+ };
@@ -0,0 +1,12 @@
1
+ import { PaginationState } from '../../types';
2
+ import { FileManagerHookBase } from './types';
3
+ export interface UsePaginationState {
4
+ pagination: PaginationState;
5
+ }
6
+ export interface UsePaginationActions {
7
+ handlePaginationChange: (page: number, pageSize?: number) => void;
8
+ }
9
+ export declare const usePagination: () => FileManagerHookBase & {
10
+ state: UsePaginationState;
11
+ actions: UsePaginationActions;
12
+ };
@@ -0,0 +1,20 @@
1
+ import { FilesQueryParams } from '../../types';
2
+ import { FileManagerHookBase, SortByType, SortOrderType } from './types';
3
+ export interface UseSortAndFilterState {
4
+ searchTerm: string;
5
+ sortBy: SortByType;
6
+ sortOrder: SortOrderType;
7
+ }
8
+ export interface UseSortAndFilterActions {
9
+ setSearchTerm: (term: string) => void;
10
+ setSortBy: (sortBy: SortByType) => void;
11
+ setSortOrder: (sortOrder: SortOrderType) => void;
12
+ handleSearch: (searchTerm: string) => void;
13
+ handleSort: (sortBy: SortByType, sortOrder: SortOrderType) => void;
14
+ handlePaginationChange: (page: number, pageSize?: number) => void;
15
+ getCurrentQueryParams: () => FilesQueryParams;
16
+ }
17
+ export declare const useSortAndFilter: (fetchFilesFn?: (params?: FilesQueryParams) => Promise<void>) => FileManagerHookBase & {
18
+ state: UseSortAndFilterState;
19
+ actions: UseSortAndFilterActions;
20
+ };
@@ -0,0 +1,5 @@
1
+ export * from './core';
2
+ export { useFileActions } from './useFileActions';
3
+ export { usePixieEditor } from './usePixieEditor';
4
+ export { useSidebarResize } from './useSidebarResize';
5
+ export { useLastDirectory } from './useLastDirectory';
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { IconProps } from '../types';
3
+ export declare const useCustomIcons: () => {
4
+ RootFolderIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
5
+ FolderIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
6
+ FolderOpenIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
7
+ AddFolderIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
8
+ FileIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
9
+ UploadIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
10
+ UploadByUrlIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
11
+ ExpandArrowIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
12
+ CollapseArrowIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
13
+ FolderPreviewIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
14
+ GridViewIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
15
+ ListViewIcon: (props?: IconProps) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
16
+ getCustomIcon: (iconName: keyof NonNullable<import("../types").CustomIcons | undefined>, defaultIcon: React.ComponentType<any>, props?: IconProps) => React.ReactElement;
17
+ };
@@ -0,0 +1,21 @@
1
+ import { File as AppFile, ThumbnailFile } from '../types';
2
+ interface UseFileActionsProps {
3
+ files: AppFile[];
4
+ selectedFiles: Set<string>;
5
+ toggleFileSelection: (fileId: string) => void;
6
+ showRenameModal: (fileId: string) => void;
7
+ showMoveModal: () => void;
8
+ showCopyModal: () => void;
9
+ handleDeleteFile: (fileId: string) => void;
10
+ handleDeleteFolder: (folderId: string) => void;
11
+ onEdit: (file?: AppFile | ThumbnailFile) => void;
12
+ }
13
+ export declare const useFileActions: ({ files, selectedFiles, toggleFileSelection, showRenameModal, showMoveModal, showCopyModal, handleDeleteFile, handleDeleteFolder, onEdit, }: UseFileActionsProps) => {
14
+ handleClearSelection: () => void;
15
+ handleRename: () => void;
16
+ handleDeleteSelected: () => void;
17
+ handleCopy: () => void;
18
+ handleMove: () => void;
19
+ handleEdit: () => void;
20
+ };
21
+ export {};
@@ -0,0 +1,16 @@
1
+ import { UploadFileItem } from '../components/UploadProgress/UploadProgress';
2
+ export interface UseFileUploadReturn {
3
+ uploadFiles: UploadFileItem[];
4
+ isUploadVisible: boolean;
5
+ isUploadMinimized: boolean;
6
+ totalFiles: number;
7
+ completedFiles: number;
8
+ startUpload: (files: globalThis.File[]) => string[];
9
+ updateProgress: (fileId: string, progress: number) => void;
10
+ markAsSuccess: (fileId: string) => void;
11
+ markAsError: (fileId: string, error: string) => void;
12
+ closeUpload: () => void;
13
+ minimizeUpload: () => void;
14
+ insertFile: (fileId: string) => void;
15
+ }
16
+ export declare const useFileUpload: () => UseFileUploadReturn;
@@ -0,0 +1,18 @@
1
+ export interface LastDirectoryData {
2
+ folderId: string | null;
3
+ pathHistory: Array<{
4
+ id: string;
5
+ name: string;
6
+ }>;
7
+ timestamp: number;
8
+ }
9
+ export interface UseLastDirectoryResult {
10
+ getLastDirectory: () => LastDirectoryData | null;
11
+ saveLastDirectory: (folderId: string | null, pathHistory: Array<{
12
+ id: string;
13
+ name: string;
14
+ }>) => void;
15
+ clearLastDirectory: () => void;
16
+ hasValidLastDirectory: () => boolean;
17
+ }
18
+ export declare const useLastDirectory: () => UseLastDirectoryResult;