@webiny/app-admin 0.0.0-unstable.d4f203fa97 → 0.0.0-unstable.d65ec29d44

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 (290) hide show
  1. package/base/Admin.js +7 -21
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +6 -25
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +0 -8
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.js +0 -5
  8. package/base/providers/ApolloProvider.js.map +1 -1
  9. package/base/providers/TelemetryProvider.js +1 -7
  10. package/base/providers/TelemetryProvider.js.map +1 -1
  11. package/base/providers/UiStateProvider.js +0 -5
  12. package/base/providers/UiStateProvider.js.map +1 -1
  13. package/base/providers/ViewCompositionProvider.js +3 -16
  14. package/base/providers/ViewCompositionProvider.js.map +1 -1
  15. package/base/ui/Brand.d.ts +2 -2
  16. package/base/ui/Brand.js +3 -7
  17. package/base/ui/Brand.js.map +1 -1
  18. package/base/ui/CenteredView.js +2 -7
  19. package/base/ui/CenteredView.js.map +1 -1
  20. package/base/ui/Dashboard.d.ts +2 -2
  21. package/base/ui/Dashboard.js +3 -7
  22. package/base/ui/Dashboard.js.map +1 -1
  23. package/base/ui/Layout.d.ts +2 -2
  24. package/base/ui/Layout.js +4 -9
  25. package/base/ui/Layout.js.map +1 -1
  26. package/base/ui/LocaleSelector.d.ts +2 -2
  27. package/base/ui/LocaleSelector.js +3 -7
  28. package/base/ui/LocaleSelector.js.map +1 -1
  29. package/base/ui/LoginScreen.d.ts +1 -1
  30. package/base/ui/LoginScreen.js +2 -8
  31. package/base/ui/LoginScreen.js.map +1 -1
  32. package/base/ui/Logo.d.ts +2 -2
  33. package/base/ui/Logo.js +4 -10
  34. package/base/ui/Logo.js.map +1 -1
  35. package/base/ui/Menu.js +2 -31
  36. package/base/ui/Menu.js.map +1 -1
  37. package/base/ui/Navigation.d.ts +3 -3
  38. package/base/ui/Navigation.js +16 -49
  39. package/base/ui/Navigation.js.map +1 -1
  40. package/base/ui/NotFound.d.ts +2 -2
  41. package/base/ui/NotFound.js +3 -7
  42. package/base/ui/NotFound.js.map +1 -1
  43. package/base/ui/Search.d.ts +2 -2
  44. package/base/ui/Search.js +8 -26
  45. package/base/ui/Search.js.map +1 -1
  46. package/base/ui/Tags.js +1 -8
  47. package/base/ui/Tags.js.map +1 -1
  48. package/base/ui/UserMenu.d.ts +7 -7
  49. package/base/ui/UserMenu.js +13 -37
  50. package/base/ui/UserMenu.js.map +1 -1
  51. package/components/AdminLayout.js +1 -6
  52. package/components/AdminLayout.js.map +1 -1
  53. package/components/AppInstaller/AppInstaller.js +18 -52
  54. package/components/AppInstaller/AppInstaller.js.map +1 -1
  55. package/components/AppInstaller/Sidebar.js +9 -32
  56. package/components/AppInstaller/Sidebar.js.map +1 -1
  57. package/components/AppInstaller/index.js +0 -7
  58. package/components/AppInstaller/index.js.map +1 -1
  59. package/components/AppInstaller/styled.js +0 -4
  60. package/components/AppInstaller/styled.js.map +1 -1
  61. package/components/AppInstaller/useInstaller.js +66 -122
  62. package/components/AppInstaller/useInstaller.js.map +1 -1
  63. package/components/EmptyView.js +3 -11
  64. package/components/EmptyView.js.map +1 -1
  65. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -14
  66. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  67. package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -9
  68. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  69. package/components/FileManager/BottomInfoBar.js +0 -12
  70. package/components/FileManager/BottomInfoBar.js.map +1 -1
  71. package/components/FileManager/DropFilesHere.js +3 -12
  72. package/components/FileManager/DropFilesHere.js.map +1 -1
  73. package/components/FileManager/File.js +5 -18
  74. package/components/FileManager/File.js.map +1 -1
  75. package/components/FileManager/FileDetails/Name.js +45 -75
  76. package/components/FileManager/FileDetails/Name.js.map +1 -1
  77. package/components/FileManager/FileDetails/Tags.js +85 -138
  78. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  79. package/components/FileManager/FileDetails.js +94 -161
  80. package/components/FileManager/FileDetails.js.map +1 -1
  81. package/components/FileManager/FileManagerContext.js +12 -45
  82. package/components/FileManager/FileManagerContext.js.map +1 -1
  83. package/components/FileManager/FileManagerView.js +177 -294
  84. package/components/FileManager/FileManagerView.js.map +1 -1
  85. package/components/FileManager/LeftSidebar.js +10 -29
  86. package/components/FileManager/LeftSidebar.js.map +1 -1
  87. package/components/FileManager/NoPermissionView.js +0 -13
  88. package/components/FileManager/NoPermissionView.js.map +1 -1
  89. package/components/FileManager/NoResults.js +0 -6
  90. package/components/FileManager/NoResults.js.map +1 -1
  91. package/components/FileManager/getFileTypePlugin.js +9 -15
  92. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  93. package/components/FileManager/getFileUploader.js +0 -5
  94. package/components/FileManager/getFileUploader.js.map +1 -1
  95. package/components/FileManager/graphql.js +3 -14
  96. package/components/FileManager/graphql.js.map +1 -1
  97. package/components/FileManager/outputFileSelectionError.js +0 -14
  98. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  99. package/components/FileManager.js +17 -43
  100. package/components/FileManager.js.map +1 -1
  101. package/components/FloatingActionButton.js +0 -6
  102. package/components/FloatingActionButton.js.map +1 -1
  103. package/components/MultiImageUpload.js +1 -10
  104. package/components/MultiImageUpload.js.map +1 -1
  105. package/components/OverlayLayout/OverlayLayout.js +7 -36
  106. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  107. package/components/OverlayLayout/index.js +0 -2
  108. package/components/OverlayLayout/index.js.map +1 -1
  109. package/components/Permissions/Permissions.d.ts +2 -0
  110. package/components/Permissions/Permissions.js +25 -27
  111. package/components/Permissions/Permissions.js.map +1 -1
  112. package/components/Permissions/StyledComponents.js +0 -7
  113. package/components/Permissions/StyledComponents.js.map +1 -1
  114. package/components/Permissions/index.js +0 -3
  115. package/components/Permissions/index.js.map +1 -1
  116. package/components/RichTextEditor/RichTextEditor.js +0 -7
  117. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  118. package/components/RichTextEditor/index.js +0 -2
  119. package/components/RichTextEditor/index.js.map +1 -1
  120. package/components/RichTextEditor/tools/header/index.js +62 -102
  121. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  122. package/components/RichTextEditor/tools/image/index.js +15 -36
  123. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  124. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  125. package/components/RichTextEditor/tools/image/tunes.js +5 -22
  126. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  127. package/components/RichTextEditor/tools/image/ui.js +16 -39
  128. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  129. package/components/RichTextEditor/tools/paragraph/index.js +55 -81
  130. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  131. package/components/RichTextEditor/tools/textColor/index.js +15 -41
  132. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  133. package/components/RichTextEditor/tools/utils.js +0 -2
  134. package/components/RichTextEditor/tools/utils.js.map +1 -1
  135. package/components/Routes.js +6 -13
  136. package/components/Routes.js.map +1 -1
  137. package/components/SearchUI.d.ts +1 -0
  138. package/components/SearchUI.js +12 -12
  139. package/components/SearchUI.js.map +1 -1
  140. package/components/SimpleForm/SimpleForm.js +3 -32
  141. package/components/SimpleForm/SimpleForm.js.map +1 -1
  142. package/components/SimpleForm/index.js +0 -1
  143. package/components/SimpleForm/index.js.map +1 -1
  144. package/components/SimpleUI/InputField.d.ts +2 -0
  145. package/components/SimpleUI/InputField.js +16 -30
  146. package/components/SimpleUI/InputField.js.map +1 -1
  147. package/components/SingleImageUpload.js +12 -28
  148. package/components/SingleImageUpload.js.map +1 -1
  149. package/components/SplitView/SplitView.js +0 -20
  150. package/components/SplitView/SplitView.js.map +1 -1
  151. package/components/SplitView/index.js +0 -1
  152. package/components/SplitView/index.js.map +1 -1
  153. package/components/index.js +0 -1
  154. package/components/index.js.map +1 -1
  155. package/hooks/useConfirmationDialog.d.ts +3 -1
  156. package/hooks/useConfirmationDialog.js +12 -20
  157. package/hooks/useConfirmationDialog.js.map +1 -1
  158. package/hooks/useDialog.js +0 -5
  159. package/hooks/useDialog.js.map +1 -1
  160. package/hooks/useSnackbar.js +0 -5
  161. package/hooks/useSnackbar.js.map +1 -1
  162. package/index.d.ts +2 -2
  163. package/index.js +4 -52
  164. package/index.js.map +1 -1
  165. package/package.json +20 -21
  166. package/plugins/FileManagerFileTypePlugin.js +0 -15
  167. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  168. package/plugins/MenuPlugin.js +0 -15
  169. package/plugins/MenuPlugin.js.map +1 -1
  170. package/plugins/PermissionRendererPlugin.js +0 -15
  171. package/plugins/PermissionRendererPlugin.js.map +1 -1
  172. package/plugins/fileManager/fileDefault.js +0 -6
  173. package/plugins/fileManager/fileDefault.js.map +1 -1
  174. package/plugins/fileManager/fileImage/DeleteAction.js +16 -40
  175. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  176. package/plugins/fileManager/fileImage/EditAction.js +22 -58
  177. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  178. package/plugins/fileManager/fileImage/index.js +0 -8
  179. package/plugins/fileManager/fileImage/index.js.map +1 -1
  180. package/plugins/fileManager/index.js +0 -2
  181. package/plugins/fileManager/index.js.map +1 -1
  182. package/plugins/globalSearch/SearchBar.js +3 -51
  183. package/plugins/globalSearch/SearchBar.js.map +1 -1
  184. package/plugins/globalSearch/SearchBarDropdown.js +13 -31
  185. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  186. package/plugins/globalSearch/index.js.map +1 -1
  187. package/plugins/globalSearch/styled.js +1 -5
  188. package/plugins/globalSearch/styled.js.map +1 -1
  189. package/plugins/uiLayoutRenderer/index.js +2 -16
  190. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  191. package/styles/material-theme-assignments.scss +4 -0
  192. package/styles/theme.scss +31 -1
  193. package/ui/UIElement.js +0 -1
  194. package/ui/UIElement.js.map +1 -1
  195. package/ui/UILayout.js +0 -1
  196. package/ui/UILayout.js.map +1 -1
  197. package/ui/UIRenderer.js +0 -1
  198. package/ui/UIRenderer.js.map +1 -1
  199. package/ui/UIView.js +0 -1
  200. package/ui/UIView.js.map +1 -1
  201. package/ui/elements/AccordionElement.js +2 -28
  202. package/ui/elements/AccordionElement.js.map +1 -1
  203. package/ui/elements/ButtonElement.js +0 -19
  204. package/ui/elements/ButtonElement.js.map +1 -1
  205. package/ui/elements/ButtonGroupElement.js +0 -19
  206. package/ui/elements/ButtonGroupElement.js.map +1 -1
  207. package/ui/elements/GenericElement.js +0 -2
  208. package/ui/elements/GenericElement.js.map +1 -1
  209. package/ui/elements/LabelElement.js +0 -14
  210. package/ui/elements/LabelElement.js.map +1 -1
  211. package/ui/elements/NavigationMenuElement.js +3 -36
  212. package/ui/elements/NavigationMenuElement.js.map +1 -1
  213. package/ui/elements/PanelElement.js +0 -11
  214. package/ui/elements/PanelElement.js.map +1 -1
  215. package/ui/elements/PlaceholderElement.js +0 -11
  216. package/ui/elements/PlaceholderElement.js.map +1 -1
  217. package/ui/elements/SmallButtonElement.js +0 -19
  218. package/ui/elements/SmallButtonElement.js.map +1 -1
  219. package/ui/elements/TypographyElement.js +0 -19
  220. package/ui/elements/TypographyElement.js.map +1 -1
  221. package/ui/elements/ViewElement.js +0 -2
  222. package/ui/elements/ViewElement.js.map +1 -1
  223. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +0 -16
  224. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  225. package/ui/elements/form/DynamicFieldsetElement.js +11 -34
  226. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  227. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +0 -15
  228. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  229. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +0 -22
  230. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  231. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +3 -22
  232. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  233. package/ui/elements/form/FileManagerElement/styled.js +0 -5
  234. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  235. package/ui/elements/form/FileManagerElement.js +0 -20
  236. package/ui/elements/form/FileManagerElement.js.map +1 -1
  237. package/ui/elements/form/FormElement.js +0 -21
  238. package/ui/elements/form/FormElement.js.map +1 -1
  239. package/ui/elements/form/FormFieldElement.js +0 -33
  240. package/ui/elements/form/FormFieldElement.js.map +1 -1
  241. package/ui/elements/form/HiddenElement.js +0 -17
  242. package/ui/elements/form/HiddenElement.js.map +1 -1
  243. package/ui/elements/form/InputElement.js +0 -18
  244. package/ui/elements/form/InputElement.js.map +1 -1
  245. package/ui/elements/form/PasswordElement.js +0 -15
  246. package/ui/elements/form/PasswordElement.js.map +1 -1
  247. package/ui/elements/form/SelectElement.js +1 -19
  248. package/ui/elements/form/SelectElement.js.map +1 -1
  249. package/ui/elements/form/TextareaElement.js +0 -17
  250. package/ui/elements/form/TextareaElement.js.map +1 -1
  251. package/ui/views/AdminView/ContentElement.js +1 -25
  252. package/ui/views/AdminView/ContentElement.js.map +1 -1
  253. package/ui/views/AdminView/HeaderElement.js +0 -40
  254. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  255. package/ui/views/AdminView/HeaderSectionCenterElement.js +0 -20
  256. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  257. package/ui/views/AdminView/HeaderSectionLeftElement.js +0 -20
  258. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  259. package/ui/views/AdminView/HeaderSectionRightElement.js +0 -20
  260. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  261. package/ui/views/AdminView/components/Dialog.js +10 -21
  262. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  263. package/ui/views/AdminView/components/Hamburger.js +0 -8
  264. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  265. package/ui/views/AdminView/components/Snackbar.js +0 -9
  266. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  267. package/ui/views/FormView/FormContainerElement.js +0 -21
  268. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  269. package/ui/views/FormView/FormContentElement.js +0 -11
  270. package/ui/views/FormView/FormContentElement.js.map +1 -1
  271. package/ui/views/FormView/FormFooterElement.js +0 -19
  272. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  273. package/ui/views/FormView/FormHeaderElement.js +2 -24
  274. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  275. package/ui/views/FormView.js +0 -41
  276. package/ui/views/FormView.js.map +1 -1
  277. package/ui/views/OverlayView/ContentElement.js +0 -19
  278. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  279. package/ui/views/OverlayView/HeaderElement.js +3 -25
  280. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  281. package/ui/views/OverlayView/HeaderTitleElement.js +0 -22
  282. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  283. package/ui/views/OverlayView/useOverlayView.js +3 -13
  284. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  285. package/ui/views/OverlayView.js +3 -37
  286. package/ui/views/OverlayView.js.map +1 -1
  287. package/ui/views/SplitView/SplitViewPanelElement.js +2 -22
  288. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  289. package/ui/views/SplitView.js +0 -40
  290. package/ui/views/SplitView.js.map +1 -1
@@ -1,54 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireDefault(require("react"));
19
-
20
13
  var _Tooltip = require("@webiny/ui/Tooltip");
21
-
22
14
  var _Button = require("@webiny/ui/Button");
23
-
24
15
  var _useSnackbar2 = require("../../../hooks/useSnackbar");
25
-
26
16
  var _reactHooks = require("@apollo/react-hooks");
27
-
28
17
  var _i18n = require("@webiny/app/i18n");
29
-
30
18
  var _delete = require("../../../components/FileManager/icons/delete.svg");
31
-
32
19
  var _graphql = require("../../../components/FileManager/graphql");
33
-
34
20
  var _templateObject;
35
-
36
21
  var t = _i18n.i18n.ns("app-admin/file-manager/files/delete-action");
37
-
38
22
  var DeleteAction = function DeleteAction(props) {
39
23
  var file = props.file;
40
-
41
24
  var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
42
- showSnackbar = _useSnackbar.showSnackbar;
43
-
25
+ showSnackbar = _useSnackbar.showSnackbar;
44
26
  var _useMutation = (0, _reactHooks.useMutation)(_graphql.DELETE_FILE, {
45
- variables: {
46
- id: file.id
47
- }
48
- }),
49
- _useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
50
- deleteFile = _useMutation2[0];
51
-
27
+ variables: {
28
+ id: file.id
29
+ }
30
+ }),
31
+ _useMutation2 = (0, _slicedToArray2.default)(_useMutation, 1),
32
+ deleteFile = _useMutation2[0];
52
33
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
53
34
  content: /*#__PURE__*/_react.default.createElement("span", null, "Edit image"),
54
35
  placement: "bottom"
@@ -60,24 +41,19 @@ var DeleteAction = function DeleteAction(props) {
60
41
  }),
61
42
  onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
62
43
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
63
- while (1) {
64
- switch (_context.prev = _context.next) {
65
- case 0:
66
- _context.next = 2;
67
- return deleteFile();
68
-
69
- case 2:
70
- showSnackbar(t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["File deleted."]))));
71
-
72
- case 3:
73
- case "end":
74
- return _context.stop();
75
- }
44
+ while (1) switch (_context.prev = _context.next) {
45
+ case 0:
46
+ _context.next = 2;
47
+ return deleteFile();
48
+ case 2:
49
+ showSnackbar(t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["File deleted."]))));
50
+ case 3:
51
+ case "end":
52
+ return _context.stop();
76
53
  }
77
54
  }, _callee);
78
55
  }))
79
56
  })));
80
57
  };
81
-
82
58
  var _default = DeleteAction;
83
59
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","DeleteAction","props","file","useSnackbar","showSnackbar","useMutation","DELETE_FILE","variables","id","deleteFile","margin"],"sources":["DeleteAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FileManagerFileItem } from \"~/components/FileManager\";\nconst t = i18n.ns(\"app-admin/file-manager/files/delete-action\");\n\nimport { ReactComponent as DeleteIcon } from \"../../../components/FileManager/icons/delete.svg\";\nimport { DELETE_FILE } from \"~/components/FileManager/graphql\";\n\ninterface DeleteActionProps {\n file: FileManagerFileItem;\n}\nconst DeleteAction: React.FC<DeleteActionProps> = props => {\n const { file } = props;\n const { showSnackbar } = useSnackbar();\n const [deleteFile] = useMutation(DELETE_FILE, {\n variables: {\n id: file.id\n }\n });\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n await deleteFile();\n showSnackbar(t`File deleted.`);\n }}\n />\n </Tooltip>\n </>\n );\n};\n\nexport default DeleteAction;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;;;AAHA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,4CAAR,CAAV;;AAQA,IAAMC,YAAyC,GAAG,SAA5CA,YAA4C,CAAAC,KAAK,EAAI;EACvD,IAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EACA,mBAAqB,IAAAC,uBAAA,EAAYC,oBAAZ,EAAyB;IAC1CC,SAAS,EAAE;MACPC,EAAE,EAAEN,IAAI,CAACM;IADF;EAD+B,CAAzB,CAArB;EAAA;EAAA,IAAOC,UAAP;;EAMA,oBACI,yEACI,6BAAC,gBAAD;IAAS,OAAO,eAAE,wDAAlB;IAA2C,SAAS,EAAE;EAAtD,gBACI,6BAAC,kBAAD;IACI,IAAI,eAAE,6BAAC,sBAAD;MAAY,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAV;IAAnB,EADV;IAEI,OAAO,sGAAE;MAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACCD,UAAU,EADX;;YAAA;cAELL,YAAY,CAACP,CAAD,iGAAZ;;YAFK;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAAF;EAFX,EADJ,CADJ,CADJ;AAaH,CAtBD;;eAwBeG,Y"}
1
+ {"version":3,"names":["t","i18n","ns","DeleteAction","props","file","useSnackbar","showSnackbar","useMutation","DELETE_FILE","variables","id","deleteFile","margin"],"sources":["DeleteAction.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { FileManagerFileItem } from \"~/components/FileManager\";\nconst t = i18n.ns(\"app-admin/file-manager/files/delete-action\");\n\nimport { ReactComponent as DeleteIcon } from \"../../../components/FileManager/icons/delete.svg\";\nimport { DELETE_FILE } from \"~/components/FileManager/graphql\";\n\ninterface DeleteActionProps {\n file: FileManagerFileItem;\n}\nconst DeleteAction: React.FC<DeleteActionProps> = props => {\n const { file } = props;\n const { showSnackbar } = useSnackbar();\n const [deleteFile] = useMutation(DELETE_FILE, {\n variables: {\n id: file.id\n }\n });\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n await deleteFile();\n showSnackbar(t`File deleted.`);\n }}\n />\n </Tooltip>\n </>\n );\n};\n\nexport default DeleteAction;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AAA+D;AAH/D,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,4CAA4C,CAAC;AAQ/D,IAAMC,YAAyC,GAAG,SAA5CA,YAAyC,CAAGC,KAAK,EAAI;EACvD,IAAQC,IAAI,GAAKD,KAAK,CAAdC,IAAI;EACZ,mBAAyB,IAAAC,yBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EACpB,mBAAqB,IAAAC,uBAAW,EAACC,oBAAW,EAAE;MAC1CC,SAAS,EAAE;QACPC,EAAE,EAAEN,IAAI,CAACM;MACb;IACJ,CAAC,CAAC;IAAA;IAJKC,UAAU;EAMjB,oBACI,yEACI,6BAAC,gBAAO;IAAC,OAAO,eAAE,2CAAM,YAAU,CAAQ;IAAC,SAAS,EAAE;EAAS,gBAC3D,6BAAC,kBAAU;IACP,IAAI,eAAE,6BAAC,sBAAU;MAAC,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAY;IAAE,EAAI;IACrD,OAAO,sGAAE;MAAA;QAAA;UAAA;YAAA;YAAA,OACCD,UAAU,EAAE;UAAA;YAClBL,YAAY,CAACP,CAAC,iGAAgB;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CAClC;EAAC,EACJ,CACI,CACX;AAEX,CAAC;AAAC,eAEaG,YAAY;AAAA"}
@@ -1,40 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
19
-
20
13
  var React = _interopRequireWildcard(require("react"));
21
-
22
14
  var _reactHotkeyz = require("react-hotkeyz");
23
-
24
15
  var _dataurlToBlob = _interopRequireDefault(require("dataurl-to-blob"));
25
-
26
16
  var _ImageUpload = require("@webiny/ui/ImageUpload");
27
-
28
17
  var _Tooltip = require("@webiny/ui/Tooltip");
29
-
30
18
  var _Button = require("@webiny/ui/Button");
31
-
32
19
  var _outputFileSelectionError = require("../../../components/FileManager/outputFileSelectionError");
33
-
34
20
  var _useSnackbar2 = require("../../../hooks/useSnackbar");
35
-
36
21
  var _edit = require("../icons/edit.svg");
37
-
38
22
  /**
39
23
  * Package react-hotkeyz has no types.
40
24
  */
@@ -44,68 +28,55 @@ var _edit = require("../icons/edit.svg");
44
28
  * Package dataurl-to-blob has no types.
45
29
  */
46
30
  // @ts-ignore
31
+
47
32
  function toDataUrl(url) {
48
33
  return new Promise(function (resolve) {
49
34
  var xhr = new window.XMLHttpRequest();
50
-
51
35
  xhr.onload = function () {
52
36
  var reader = new window.FileReader();
53
-
54
37
  reader.onloadend = function () {
55
38
  resolve(reader.result);
56
39
  };
57
-
58
40
  reader.readAsDataURL(xhr.response);
59
41
  };
60
-
61
42
  xhr.open("GET", url);
62
43
  xhr.responseType = "blob";
63
44
  xhr.send();
64
45
  });
65
46
  }
66
-
67
47
  var initialState = {
68
48
  showImageEditor: false,
69
49
  dataUrl: null
70
50
  };
71
-
72
51
  var reducer = function reducer(state, action) {
73
52
  var next = (0, _objectSpread2.default)({}, state);
74
-
75
53
  switch (action.type) {
76
54
  case "setDataUrl":
77
55
  next.dataUrl = action.dataUrl;
78
56
  next.showImageEditor = true;
79
57
  break;
80
-
81
58
  case "hideImageEditor":
82
59
  next.dataUrl = null;
83
60
  next.showImageEditor = false;
84
61
  break;
85
62
  }
86
-
87
63
  return next;
88
64
  };
89
-
90
65
  var EditAction = function EditAction(props) {
91
66
  var file = props.file,
92
- uploadFile = props.uploadFile,
93
- validateFiles = props.validateFiles,
94
- canEdit = props.canEdit;
95
-
67
+ uploadFile = props.uploadFile,
68
+ validateFiles = props.validateFiles,
69
+ canEdit = props.canEdit;
96
70
  var _React$useReducer = React.useReducer(reducer, initialState),
97
- _React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
98
- state = _React$useReducer2[0],
99
- dispatch = _React$useReducer2[1];
100
-
71
+ _React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
72
+ state = _React$useReducer2[0],
73
+ dispatch = _React$useReducer2[1];
101
74
  var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
102
- showSnackbar = _useSnackbar.showSnackbar; // Render nothing if the user don't have required permission for "edit".
103
-
104
-
75
+ showSnackbar = _useSnackbar.showSnackbar;
76
+ // Render nothing if the user don't have required permission for "edit".
105
77
  if (!canEdit(file)) {
106
78
  return null;
107
79
  }
108
-
109
80
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Tooltip.Tooltip, {
110
81
  content: /*#__PURE__*/React.createElement("span", null, "Edit image"),
111
82
  placement: "bottom"
@@ -119,23 +90,19 @@ var EditAction = function EditAction(props) {
119
90
  onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
120
91
  var dataUrl;
121
92
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
122
- while (1) {
123
- switch (_context.prev = _context.next) {
124
- case 0:
125
- _context.next = 2;
126
- return toDataUrl(file.src);
127
-
128
- case 2:
129
- dataUrl = _context.sent;
130
- dispatch({
131
- type: "setDataUrl",
132
- dataUrl: dataUrl
133
- });
134
-
135
- case 4:
136
- case "end":
137
- return _context.stop();
138
- }
93
+ while (1) switch (_context.prev = _context.next) {
94
+ case 0:
95
+ _context.next = 2;
96
+ return toDataUrl(file.src);
97
+ case 2:
98
+ dataUrl = _context.sent;
99
+ dispatch({
100
+ type: "setDataUrl",
101
+ dataUrl: dataUrl
102
+ });
103
+ case 4:
104
+ case "end":
105
+ return _context.stop();
139
106
  }
140
107
  }, _callee);
141
108
  }))
@@ -155,7 +122,6 @@ var EditAction = function EditAction(props) {
155
122
  onAccept: function onAccept(src) {
156
123
  var blob = (0, _dataurlToBlob.default)(src);
157
124
  var errors = validateFiles([blob]);
158
-
159
125
  if (errors.length) {
160
126
  /**
161
127
  * TODO @ts-refactor
@@ -167,13 +133,11 @@ var EditAction = function EditAction(props) {
167
133
  blob.name = file.name;
168
134
  uploadFile(blob);
169
135
  }
170
-
171
136
  dispatch({
172
137
  type: "hideImageEditor"
173
138
  });
174
139
  }
175
140
  })));
176
141
  };
177
-
178
142
  var _default = EditAction;
179
143
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","type","EditAction","props","file","uploadFile","validateFiles","canEdit","React","useReducer","dispatch","useSnackbar","showSnackbar","margin","src","blob","dataURLtoBlob","errors","length","outputFileSelectionError","name"],"sources":["EditAction.tsx"],"sourcesContent":["import * as React from \"react\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n/**\n * Package dataurl-to-blob has no types.\n */\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { outputFileSelectionError } from \"~/components/FileManager/outputFileSelectionError\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { ReactComponent as EditIcon } from \"../icons/edit.svg\";\nimport { FileItem } from \"~/components/FileManager/types\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n uploadFile: (file: FileItem) => void;\n validateFiles: (blobs: any[]) => Error[];\n canEdit: (file: FileItem) => boolean;\n}\n\nconst EditAction: React.FC<EditActionProps> = props => {\n const { file, uploadFile, validateFiles, canEdit } = props;\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const { showSnackbar } = useSnackbar();\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n const errors = validateFiles([blob]);\n\n if (errors.length) {\n /**\n * TODO @ts-refactor\n * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError\n */\n // @ts-ignore\n showSnackbar(outputFileSelectionError(errors));\n } else {\n blob.name = file.name;\n uploadFile(blob);\n }\n\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n\nexport default EditAction;\n"],"mappings":"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"}
1
+ {"version":3,"names":["toDataUrl","url","Promise","resolve","xhr","window","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","response","open","responseType","send","initialState","showImageEditor","dataUrl","reducer","state","action","next","type","EditAction","props","file","uploadFile","validateFiles","canEdit","React","useReducer","dispatch","useSnackbar","showSnackbar","margin","src","blob","dataURLtoBlob","errors","length","outputFileSelectionError","name"],"sources":["EditAction.tsx"],"sourcesContent":["import * as React from \"react\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { Hotkeys } from \"react-hotkeyz\";\n/**\n * Package dataurl-to-blob has no types.\n */\n// @ts-ignore\nimport dataURLtoBlob from \"dataurl-to-blob\";\nimport { ImageEditorDialog } from \"@webiny/ui/ImageUpload\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { outputFileSelectionError } from \"~/components/FileManager/outputFileSelectionError\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { ReactComponent as EditIcon } from \"../icons/edit.svg\";\nimport { FileItem } from \"~/components/FileManager/types\";\n\nfunction toDataUrl(url: string): Promise<string> {\n return new Promise((resolve: (value: string) => void) => {\n const xhr = new window.XMLHttpRequest();\n xhr.onload = function () {\n const reader = new window.FileReader();\n reader.onloadend = function () {\n resolve(reader.result as string);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.send();\n });\n}\ninterface State {\n showImageEditor: boolean;\n dataUrl: string | null;\n}\ninterface Action {\n type: \"setDataUrl\" | \"hideImageEditor\";\n dataUrl?: string | null;\n}\nconst initialState: State = {\n showImageEditor: false,\n dataUrl: null\n};\nconst reducer = (state: State, action: Action): State => {\n const next: State = { ...state };\n\n switch (action.type) {\n case \"setDataUrl\":\n next.dataUrl = action.dataUrl as string;\n next.showImageEditor = true;\n break;\n case \"hideImageEditor\":\n next.dataUrl = null;\n next.showImageEditor = false;\n break;\n }\n\n return next;\n};\n\ninterface EditActionProps {\n file: FileItem;\n uploadFile: (file: FileItem) => void;\n validateFiles: (blobs: any[]) => Error[];\n canEdit: (file: FileItem) => boolean;\n}\n\nconst EditAction: React.FC<EditActionProps> = props => {\n const { file, uploadFile, validateFiles, canEdit } = props;\n const [state, dispatch] = React.useReducer(reducer, initialState);\n const { showSnackbar } = useSnackbar();\n // Render nothing if the user don't have required permission for \"edit\".\n if (!canEdit(file)) {\n return null;\n }\n\n return (\n <>\n <Tooltip content={<span>Edit image</span>} placement={\"bottom\"}>\n <IconButton\n data-testid={\"fm-edit-image-button\"}\n icon={<EditIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={async () => {\n const dataUrl = await toDataUrl(file.src);\n dispatch({ type: \"setDataUrl\", dataUrl });\n }}\n />\n </Tooltip>\n <Hotkeys zIndex={60} disabled={!state.dataUrl}>\n <ImageEditorDialog\n data-testid={\"fm-image-editor-dialog\"}\n dialogZIndex={100}\n open={state.showImageEditor}\n src={state.dataUrl as string}\n onClose={() => dispatch({ type: \"hideImageEditor\" })}\n onAccept={src => {\n const blob = dataURLtoBlob(src);\n const errors = validateFiles([blob]);\n\n if (errors.length) {\n /**\n * TODO @ts-refactor\n * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError\n */\n // @ts-ignore\n showSnackbar(outputFileSelectionError(errors));\n } else {\n blob.name = file.name;\n uploadFile(blob);\n }\n\n dispatch({ type: \"hideImageEditor\" });\n }}\n />\n </Hotkeys>\n </>\n );\n};\n\nexport default EditAction;\n"],"mappings":"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"}
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.imageFileTypePlugin = void 0;
11
-
12
9
  var React = _interopRequireWildcard(require("react"));
13
-
14
10
  var _emotion = require("emotion");
15
-
16
11
  var _components = require("@webiny/app/components");
17
-
18
12
  var _EditAction = _interopRequireDefault(require("./EditAction"));
19
-
20
13
  var _FileManagerFileTypePlugin = require("../../FileManagerFileTypePlugin");
21
-
22
14
  var styles = /*#__PURE__*/(0, _emotion.css)({
23
15
  maxHeight: 200,
24
16
  maxWidth: 200,
@@ -1 +1 @@
1
- {"version":3,"names":["styles","css","maxHeight","maxWidth","width","position","top","left","transform","imageFileTypePlugin","FileManagerFileTypePlugin","types","actions","EditAction","render","file","src","name"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { css } from \"emotion\";\nimport { Image } from \"@webiny/app/components\";\n\nimport EditAction from \"./EditAction\";\nimport { FileManagerFileTypePlugin } from \"~/plugins/FileManagerFileTypePlugin\";\n\nconst styles = css({\n maxHeight: 200,\n maxWidth: 200,\n width: \"auto\",\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n});\n\nexport const imageFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"image/*\"],\n actions: [EditAction],\n render({ file }) {\n return (\n <Image className={styles} src={file.src} alt={file.name} transform={{ width: 300 }} />\n );\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,MAAM,gBAAG,IAAAC,YAAA,EAAI;EACfC,SAAS,EAAE,GADI;EAEfC,QAAQ,EAAE,GAFK;EAGfC,KAAK,EAAE,MAHQ;EAIfC,QAAQ,EAAE,UAJK;EAKfC,GAAG,EAAE,KALU;EAMfC,IAAI,EAAE,KANS;EAOfC,SAAS,EAAE;AAPI,CAAJ,kBAAf;AAUO,IAAMC,mBAAmB,GAAG,IAAIC,oDAAJ,CAA8B;EAC7DC,KAAK,EAAE,CAAC,SAAD,CADsD;EAE7DC,OAAO,EAAE,CAACC,mBAAD,CAFoD;EAG7DC,MAH6D,wBAG5C;IAAA,IAARC,IAAQ,QAARA,IAAQ;IACb,oBACI,oBAAC,iBAAD;MAAO,SAAS,EAAEf,MAAlB;MAA0B,GAAG,EAAEe,IAAI,CAACC,GAApC;MAAyC,GAAG,EAAED,IAAI,CAACE,IAAnD;MAAyD,SAAS,EAAE;QAAEb,KAAK,EAAE;MAAT;IAApE,EADJ;EAGH;AAP4D,CAA9B,CAA5B"}
1
+ {"version":3,"names":["styles","css","maxHeight","maxWidth","width","position","top","left","transform","imageFileTypePlugin","FileManagerFileTypePlugin","types","actions","EditAction","render","file","src","name"],"sources":["index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { css } from \"emotion\";\nimport { Image } from \"@webiny/app/components\";\n\nimport EditAction from \"./EditAction\";\nimport { FileManagerFileTypePlugin } from \"~/plugins/FileManagerFileTypePlugin\";\n\nconst styles = css({\n maxHeight: 200,\n maxWidth: 200,\n width: \"auto\",\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n});\n\nexport const imageFileTypePlugin = new FileManagerFileTypePlugin({\n types: [\"image/*\"],\n actions: [EditAction],\n render({ file }) {\n return (\n <Image className={styles} src={file.src} alt={file.name} transform={{ width: 300 }} />\n );\n }\n});\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA;AACA;AAEA,IAAMA,MAAM,gBAAG,IAAAC,YAAG,EAAC;EACfC,SAAS,EAAE,GAAG;EACdC,QAAQ,EAAE,GAAG;EACbC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,KAAK;EACVC,IAAI,EAAE,KAAK;EACXC,SAAS,EAAE;AACf,CAAC,kBAAC;AAEK,IAAMC,mBAAmB,GAAG,IAAIC,oDAAyB,CAAC;EAC7DC,KAAK,EAAE,CAAC,SAAS,CAAC;EAClBC,OAAO,EAAE,CAACC,mBAAU,CAAC;EACrBC,MAAM,wBAAW;IAAA,IAARC,IAAI,QAAJA,IAAI;IACT,oBACI,oBAAC,iBAAK;MAAC,SAAS,EAAEf,MAAO;MAAC,GAAG,EAAEe,IAAI,CAACC,GAAI;MAAC,GAAG,EAAED,IAAI,CAACE,IAAK;MAAC,SAAS,EAAE;QAAEb,KAAK,EAAE;MAAI;IAAE,EAAG;EAE9F;AACJ,CAAC,CAAC;AAAC"}
@@ -15,7 +15,5 @@ Object.defineProperty(exports, "imageFileTypePlugin", {
15
15
  return _fileImage.imageFileTypePlugin;
16
16
  }
17
17
  });
18
-
19
18
  var _fileDefault = require("./fileDefault");
20
-
21
19
  var _fileImage = require("./fileImage");
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { defaultFileTypePlugin } from \"./fileDefault\";\nexport { imageFileTypePlugin } from \"./fileImage\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { defaultFileTypePlugin } from \"./fileDefault\";\nexport { imageFileTypePlugin } from \"./fileImage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
@@ -1,54 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var React = _interopRequireWildcard(require("react"));
27
-
28
17
  var _dotPropImmutable = require("dot-prop-immutable");
29
-
30
18
  var _reactRouter = require("@webiny/react-router");
31
-
32
19
  var _downshift = _interopRequireDefault(require("downshift"));
33
-
34
20
  var _plugins = require("@webiny/plugins");
35
-
36
21
  var _classnames = _interopRequireDefault(require("classnames"));
37
-
38
22
  var _reactHotkeyz = require("react-hotkeyz");
39
-
40
23
  var _Icon = require("@webiny/ui/Icon");
41
-
42
24
  var _Elevation = require("@webiny/ui/Elevation");
43
-
44
25
  var _SearchBarDropdown = _interopRequireDefault(require("./SearchBarDropdown"));
45
-
46
26
  var _roundSearch24px = require("./icons/round-search-24px.svg");
47
-
48
27
  var _styled = require("./styled");
49
-
50
28
  var _ = require("../..");
51
-
52
29
  /**
53
30
  * Package react-hotkeyz does not have types.
54
31
  */
@@ -58,9 +35,7 @@ var _ = require("../..");
58
35
  // Local components
59
36
  var SearchBar = /*#__PURE__*/function (_React$Component) {
60
37
  (0, _inherits2.default)(SearchBar, _React$Component);
61
-
62
38
  var _super = (0, _createSuper2.default)(SearchBar);
63
-
64
39
  /**
65
40
  * Helps us trigger some of the downshift's methods (eg. clearSelection) and helps us to avoid adding state.
66
41
  */
@@ -76,7 +51,6 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
76
51
  */
77
52
  function SearchBar(props) {
78
53
  var _this;
79
-
80
54
  (0, _classCallCheck2.default)(this, SearchBar);
81
55
  _this = _super.call(this, props);
82
56
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
@@ -90,7 +64,6 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
90
64
  get list() {
91
65
  return _plugins.plugins.byType("admin-global-search");
92
66
  },
93
-
94
67
  hotKeys: _plugins.plugins.byType("admin-global-search-prevent-hotkey"),
95
68
  // Current plugin - set by examining current route and its query params (on construct).
96
69
  current: undefined
@@ -101,18 +74,14 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
101
74
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleOpenHotkey", function (e) {
102
75
  for (var i = 0; i < _this.state.plugins.hotKeys.length; i++) {
103
76
  var hotKey = _this.state.plugins.hotKeys[i];
104
-
105
77
  if (hotKey.preventOpen(e)) {
106
78
  return;
107
79
  }
108
80
  }
109
-
110
81
  e.preventDefault();
111
-
112
82
  if (!_this.input.current) {
113
83
  return;
114
84
  }
115
-
116
85
  _this.input.current.focus();
117
86
  });
118
87
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "submitSearchTerm", function (plugin) {
@@ -121,7 +90,6 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
121
90
  return (0, _dotPropImmutable.set)(newState, "plugins.current", plugin);
122
91
  }, function () {
123
92
  var query = new URLSearchParams();
124
-
125
93
  if (_this.state.searchTerm.current) {
126
94
  // If "search" key in the plugin was defined, it means SearchInput values were set. Otherwise,
127
95
  // we need to send the plain string into the "search" query param. This behavior was needed
@@ -134,7 +102,6 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
134
102
  query.set("search", _this.state.searchTerm.current);
135
103
  }
136
104
  }
137
-
138
105
  _this.props.history.push({
139
106
  pathname: plugin.route,
140
107
  search: query.toString()
@@ -150,29 +117,23 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
150
117
  _this.state.plugins.current = _this.state.plugins.list.find(function (p) {
151
118
  return p.route === props.location.pathname;
152
119
  });
153
-
154
120
  if (_this.state.plugins.current) {
155
121
  var search;
156
122
  var query = new URLSearchParams(props.location.search);
157
-
158
123
  try {
159
124
  search = JSON.parse(query.get("search") || "").query;
160
125
  } catch (e) {
161
126
  search = query.get("search");
162
127
  }
163
-
164
128
  _this.state.searchTerm.current = search || "";
165
129
  _this.state.searchTerm.previous = _this.state.searchTerm.current;
166
130
  }
167
-
168
131
  return _this;
169
132
  }
170
-
171
133
  (0, _createClass2.default)(SearchBar, [{
172
134
  key: "render",
173
135
  value: function render() {
174
136
  var _this2 = this;
175
-
176
137
  return /*#__PURE__*/React.createElement(_downshift.default, {
177
138
  ref: this.downshift,
178
139
  itemToString: function itemToString(item) {
@@ -180,9 +141,9 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
180
141
  }
181
142
  }, function (downshiftProps) {
182
143
  var isOpen = downshiftProps.isOpen,
183
- openMenu = downshiftProps.openMenu,
184
- closeMenu = downshiftProps.closeMenu,
185
- getInputProps = downshiftProps.getInputProps;
144
+ openMenu = downshiftProps.openMenu,
145
+ closeMenu = downshiftProps.closeMenu,
146
+ getInputProps = downshiftProps.getInputProps;
186
147
  return /*#__PURE__*/React.createElement("div", {
187
148
  style: {
188
149
  width: "100%"
@@ -202,16 +163,13 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
202
163
  keys: {
203
164
  esc: function esc() {
204
165
  _this2.cancelSearchTerm();
205
-
206
166
  closeMenu();
207
167
  },
208
168
  enter: function enter() {
209
169
  return setTimeout(function () {
210
170
  var selectedItem = _this2.downshift.current.state.selectedItem;
211
-
212
171
  if (selectedItem) {
213
172
  closeMenu();
214
-
215
173
  _this2.submitSearchTerm(selectedItem);
216
174
  }
217
175
  });
@@ -234,7 +192,6 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
234
192
  onClick: openMenu,
235
193
  onBlur: function onBlur() {
236
194
  _this2.cancelSearchTerm();
237
-
238
195
  _this2.setState({
239
196
  active: false
240
197
  });
@@ -243,12 +200,10 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
243
200
  _this2.setState({
244
201
  active: true
245
202
  });
246
-
247
203
  openMenu();
248
204
  },
249
205
  onChange: function onChange(e) {
250
206
  var value = e.target.value || "";
251
-
252
207
  _this2.setState(function (state) {
253
208
  state.searchTerm.current = value;
254
209
  return state;
@@ -262,12 +217,9 @@ var SearchBar = /*#__PURE__*/function (_React$Component) {
262
217
  }]);
263
218
  return SearchBar;
264
219
  }(React.Component);
265
-
266
220
  var SearchBarContainer = function SearchBarContainer() {
267
221
  var routerProps = (0, _reactRouter.useRouter)();
268
222
  return /*#__PURE__*/React.createElement(SearchBar, routerProps);
269
223
  };
270
-
271
224
  var _default = (0, _.makeComposable)("SearchBarContainer", SearchBarContainer);
272
-
273
225
  exports.default = _default;