@webiny/app-admin 5.36.2 → 5.37.0-beta.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 (196) hide show
  1. package/base/Admin.js +3 -2
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +9 -6
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  6. package/base/providers/ApolloProvider.js.map +1 -1
  7. package/base/providers/TelemetryProvider.js +1 -3
  8. package/base/providers/TelemetryProvider.js.map +1 -1
  9. package/base/providers/UiStateProvider.js.map +1 -1
  10. package/base/providers/ViewCompositionProvider.js.map +1 -1
  11. package/base/ui/Brand.js.map +1 -1
  12. package/base/ui/CenteredView.js.map +1 -1
  13. package/base/ui/Dashboard.js.map +1 -1
  14. package/base/ui/FileManager.d.ts +1 -0
  15. package/base/ui/FileManager.js +10 -1
  16. package/base/ui/FileManager.js.map +1 -1
  17. package/base/ui/Layout.js.map +1 -1
  18. package/base/ui/LocaleSelector.js.map +1 -1
  19. package/base/ui/LoginScreen.js.map +1 -1
  20. package/base/ui/Logo.js.map +1 -1
  21. package/base/ui/Menu.js.map +1 -1
  22. package/base/ui/Navigation.js.map +1 -1
  23. package/base/ui/NotFound.js.map +1 -1
  24. package/base/ui/Search.js.map +1 -1
  25. package/base/ui/Tags.js.map +1 -1
  26. package/base/ui/UserMenu.js.map +1 -1
  27. package/components/AdminLayout.js.map +1 -1
  28. package/components/AppInstaller/AppInstaller.js.map +1 -1
  29. package/components/AppInstaller/Sidebar.js.map +1 -1
  30. package/components/AppInstaller/index.js.map +1 -1
  31. package/components/AppInstaller/styled.js.map +1 -1
  32. package/components/AppInstaller/useInstaller.js.map +1 -1
  33. package/components/Buttons/Buttons.d.ts +20 -0
  34. package/components/Buttons/Buttons.js +59 -0
  35. package/components/Buttons/Buttons.js.map +1 -0
  36. package/components/Buttons/Buttons.styles.d.ts +7 -0
  37. package/components/Buttons/Buttons.styles.js +13 -0
  38. package/components/Buttons/Buttons.styles.js.map +1 -0
  39. package/components/Buttons/index.d.ts +2 -0
  40. package/components/Buttons/index.js +19 -0
  41. package/components/Buttons/index.js.map +1 -0
  42. package/components/Buttons/useButtons.d.ts +14 -0
  43. package/components/Buttons/useButtons.js +30 -0
  44. package/components/Buttons/useButtons.js.map +1 -0
  45. package/components/EmptyView.js.map +1 -1
  46. package/components/Filters/Filters.d.ts +15 -0
  47. package/components/Filters/Filters.js +28 -0
  48. package/components/Filters/Filters.js.map +1 -0
  49. package/components/Filters/Filters.styles.d.ts +15 -0
  50. package/components/Filters/Filters.styles.js +23 -0
  51. package/components/Filters/Filters.styles.js.map +1 -0
  52. package/components/Filters/index.d.ts +1 -0
  53. package/components/Filters/index.js +16 -0
  54. package/components/Filters/index.js.map +1 -0
  55. package/components/FloatingActionButton.js.map +1 -1
  56. package/components/LexicalEditor/LexicalEditor.d.ts +8 -0
  57. package/components/LexicalEditor/LexicalEditor.js +28 -0
  58. package/components/LexicalEditor/LexicalEditor.js.map +1 -0
  59. package/components/LexicalEditor/index.d.ts +1 -0
  60. package/components/LexicalEditor/index.js +12 -0
  61. package/components/LexicalEditor/index.js.map +1 -0
  62. package/components/MultiImageUpload.js +4 -0
  63. package/components/MultiImageUpload.js.map +1 -1
  64. package/components/OptionsMenu/OptionsMenu.d.ts +9 -0
  65. package/components/OptionsMenu/OptionsMenu.js +28 -0
  66. package/components/OptionsMenu/OptionsMenu.js.map +1 -0
  67. package/components/OptionsMenu/OptionsMenu.styles.d.ts +31 -0
  68. package/components/OptionsMenu/OptionsMenu.styles.js +14 -0
  69. package/components/OptionsMenu/OptionsMenu.styles.js.map +1 -0
  70. package/components/OptionsMenu/OptionsMenuItem.d.ts +10 -0
  71. package/components/OptionsMenu/OptionsMenuItem.js +22 -0
  72. package/components/OptionsMenu/OptionsMenuItem.js.map +1 -0
  73. package/components/OptionsMenu/index.d.ts +3 -0
  74. package/components/OptionsMenu/index.js +39 -0
  75. package/components/OptionsMenu/index.js.map +1 -0
  76. package/components/OptionsMenu/useOptionsMenuItem.d.ts +11 -0
  77. package/components/OptionsMenu/useOptionsMenuItem.js +27 -0
  78. package/components/OptionsMenu/useOptionsMenuItem.js.map +1 -0
  79. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  80. package/components/OverlayLayout/index.js.map +1 -1
  81. package/components/Permissions/CannotUseAaclAlert.d.ts +2 -0
  82. package/components/Permissions/CannotUseAaclAlert.js +20 -0
  83. package/components/Permissions/CannotUseAaclAlert.js.map +1 -0
  84. package/components/Permissions/Permissions.js.map +1 -1
  85. package/components/Permissions/StyledComponents.js.map +1 -1
  86. package/components/Permissions/index.d.ts +1 -0
  87. package/components/Permissions/index.js +10 -2
  88. package/components/Permissions/index.js.map +1 -1
  89. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  90. package/components/RichTextEditor/index.js.map +1 -1
  91. package/components/RichTextEditor/tools/header/index.js +0 -10
  92. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  93. package/components/RichTextEditor/tools/image/index.js +0 -7
  94. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  95. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  96. package/components/RichTextEditor/tools/image/tunes.js +0 -5
  97. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  98. package/components/RichTextEditor/tools/image/ui.js +0 -6
  99. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  100. package/components/RichTextEditor/tools/paragraph/index.js +10 -11
  101. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  102. package/components/RichTextEditor/tools/textColor/index.js +0 -10
  103. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  104. package/components/RichTextEditor/tools/utils.js +4 -4
  105. package/components/RichTextEditor/tools/utils.js.map +1 -1
  106. package/components/Routes.js.map +1 -1
  107. package/components/SearchUI.js.map +1 -1
  108. package/components/SimpleForm/SimpleForm.js.map +1 -1
  109. package/components/SimpleForm/index.js.map +1 -1
  110. package/components/SimpleUI/InputField.js.map +1 -1
  111. package/components/SingleImageUpload.js.map +1 -1
  112. package/components/SplitView/SplitView.js +4 -4
  113. package/components/SplitView/SplitView.js.map +1 -1
  114. package/components/SplitView/index.js.map +1 -1
  115. package/components/index.js.map +1 -1
  116. package/hooks/useConfirmationDialog.d.ts +5 -3
  117. package/hooks/useConfirmationDialog.js +12 -6
  118. package/hooks/useConfirmationDialog.js.map +1 -1
  119. package/hooks/useDialog.js +2 -0
  120. package/hooks/useDialog.js.map +1 -1
  121. package/hooks/useSnackbar.js.map +1 -1
  122. package/index.d.ts +6 -0
  123. package/index.js +69 -2
  124. package/index.js.map +1 -1
  125. package/package.json +23 -22
  126. package/plugins/MenuPlugin.js +0 -2
  127. package/plugins/MenuPlugin.js.map +1 -1
  128. package/plugins/PermissionRendererPlugin.js +0 -2
  129. package/plugins/PermissionRendererPlugin.js.map +1 -1
  130. package/plugins/globalSearch/SearchBar.js +11 -8
  131. package/plugins/globalSearch/SearchBar.js.map +1 -1
  132. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  133. package/plugins/globalSearch/index.js.map +1 -1
  134. package/plugins/globalSearch/styled.js.map +1 -1
  135. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  136. package/types.d.ts +10 -1
  137. package/types.js.map +1 -1
  138. package/ui/UIElement.js.map +1 -1
  139. package/ui/UILayout.js.map +1 -1
  140. package/ui/UIRenderer.js.map +1 -1
  141. package/ui/UIView.js.map +1 -1
  142. package/ui/elements/AccordionElement.js.map +1 -1
  143. package/ui/elements/ButtonElement.js +2 -2
  144. package/ui/elements/ButtonElement.js.map +1 -1
  145. package/ui/elements/ButtonGroupElement.js.map +1 -1
  146. package/ui/elements/GenericElement.js.map +1 -1
  147. package/ui/elements/LabelElement.js.map +1 -1
  148. package/ui/elements/NavigationMenuElement.js +4 -4
  149. package/ui/elements/NavigationMenuElement.js.map +1 -1
  150. package/ui/elements/PanelElement.js.map +1 -1
  151. package/ui/elements/PlaceholderElement.js.map +1 -1
  152. package/ui/elements/SmallButtonElement.js.map +1 -1
  153. package/ui/elements/TypographyElement.js.map +1 -1
  154. package/ui/elements/ViewElement.js.map +1 -1
  155. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  156. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  157. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  158. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  159. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  160. package/ui/elements/form/FileManagerElement/styled.js +1 -1
  161. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  162. package/ui/elements/form/FileManagerElement.js +0 -3
  163. package/ui/elements/form/FileManagerElement.js.map +1 -1
  164. package/ui/elements/form/FormElement.js.map +1 -1
  165. package/ui/elements/form/FormFieldElement.js.map +1 -1
  166. package/ui/elements/form/HiddenElement.js.map +1 -1
  167. package/ui/elements/form/InputElement.js.map +1 -1
  168. package/ui/elements/form/PasswordElement.js.map +1 -1
  169. package/ui/elements/form/SelectElement.js.map +1 -1
  170. package/ui/elements/form/TextareaElement.js.map +1 -1
  171. package/ui/views/AdminView/ContentElement.js.map +1 -1
  172. package/ui/views/AdminView/HeaderElement.js +3 -3
  173. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  174. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  175. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  176. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  177. package/ui/views/AdminView/components/Dialog.js +9 -9
  178. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  179. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  180. package/ui/views/AdminView/components/Snackbar.js +3 -3
  181. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  182. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  183. package/ui/views/FormView/FormContentElement.js.map +1 -1
  184. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  185. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  186. package/ui/views/FormView.js.map +1 -1
  187. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  188. package/ui/views/OverlayView/HeaderElement.js +0 -1
  189. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  190. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  191. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  192. package/ui/views/OverlayView.js +4 -6
  193. package/ui/views/OverlayView.js.map +1 -1
  194. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  195. package/ui/views/SplitView.js +0 -2
  196. package/ui/views/SplitView.js.map +1 -1
package/base/Admin.js CHANGED
@@ -16,13 +16,14 @@ var _Search = require("./ui/Search");
16
16
  var _UserMenu = require("./ui/UserMenu");
17
17
  var _Navigation = require("./ui/Navigation");
18
18
  var _Progress = require("@webiny/ui/Progress");
19
+ var _appTheme = require("@webiny/app-theme");
19
20
  var Admin = function Admin(_ref) {
20
21
  var children = _ref.children,
21
22
  createApolloClient = _ref.createApolloClient;
22
23
  var ApolloProvider = (0, _ApolloProvider.createApolloProvider)(createApolloClient);
23
24
  var TelemetryProvider = (0, _TelemetryProvider.createTelemetryProvider)();
24
25
  var UiStateProvider = (0, _UiStateProvider.createUiStateProvider)();
25
- return /*#__PURE__*/_react.default.createElement(ApolloProvider, null, /*#__PURE__*/_react.default.createElement(_appWcp.WcpProvider, {
26
+ return /*#__PURE__*/_react.default.createElement(ApolloProvider, null, /*#__PURE__*/_react.default.createElement(_appTheme.ThemeProvider, null, /*#__PURE__*/_react.default.createElement(_appWcp.WcpProvider, {
26
27
  loader: /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
27
28
  label: "Loading..."
28
29
  })
@@ -36,6 +37,6 @@ var Admin = function Admin(_ref) {
36
37
  hoc: _UserMenu.UserMenuProvider
37
38
  }), /*#__PURE__*/_react.default.createElement(_app.Provider, {
38
39
  hoc: _Navigation.NavigationProvider
39
- }), /*#__PURE__*/_react.default.createElement(_Base.Base, null), children)));
40
+ }), /*#__PURE__*/_react.default.createElement(_Base.Base, null), children))));
40
41
  };
41
42
  exports.Admin = Admin;
package/base/Admin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Admin","children","createApolloClient","ApolloProvider","createApolloProvider","TelemetryProvider","createTelemetryProvider","UiStateProvider","createUiStateProvider","SearchProvider","UserMenuProvider","NavigationProvider"],"sources":["Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport { App, Provider } from \"@webiny/app\";\nimport { WcpProvider } from \"@webiny/app-wcp\";\nimport { ApolloClientFactory, createApolloProvider } from \"./providers/ApolloProvider\";\nimport { Base } from \"./Base\";\nimport { createTelemetryProvider } from \"./providers/TelemetryProvider\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider\";\nimport { SearchProvider } from \"./ui/Search\";\nimport { UserMenuProvider } from \"./ui/UserMenu\";\nimport { NavigationProvider } from \"./ui/Navigation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nexport interface AdminProps {\n createApolloClient: ApolloClientFactory;\n children?: React.ReactNode;\n}\n\nexport const Admin: React.FC<AdminProps> = ({ children, createApolloClient }) => {\n const ApolloProvider = createApolloProvider(createApolloClient);\n const TelemetryProvider = createTelemetryProvider();\n const UiStateProvider = createUiStateProvider();\n\n return (\n <ApolloProvider>\n <WcpProvider loader={<CircularProgress label={\"Loading...\"} />}>\n <App>\n <Provider hoc={TelemetryProvider} />\n <Provider hoc={UiStateProvider} />\n <Provider hoc={SearchProvider} />\n <Provider hoc={UserMenuProvider} />\n <Provider hoc={NavigationProvider} />\n <Base />\n {children}\n </App>\n </WcpProvider>\n </ApolloProvider>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,IAAMA,KAA2B,GAAG,SAA9BA,KAA2B,OAAyC;EAAA,IAAnCC,QAAQ,QAARA,QAAQ;IAAEC,kBAAkB,QAAlBA,kBAAkB;EACtE,IAAMC,cAAc,GAAG,IAAAC,oCAAoB,EAACF,kBAAkB,CAAC;EAC/D,IAAMG,iBAAiB,GAAG,IAAAC,0CAAuB,GAAE;EACnD,IAAMC,eAAe,GAAG,IAAAC,sCAAqB,GAAE;EAE/C,oBACI,6BAAC,cAAc,qBACX,6BAAC,mBAAW;IAAC,MAAM,eAAE,6BAAC,0BAAgB;MAAC,KAAK,EAAE;IAAa;EAAI,gBAC3D,6BAAC,QAAG,qBACA,6BAAC,aAAQ;IAAC,GAAG,EAAEH;EAAkB,EAAG,eACpC,6BAAC,aAAQ;IAAC,GAAG,EAAEE;EAAgB,EAAG,eAClC,6BAAC,aAAQ;IAAC,GAAG,EAAEE;EAAe,EAAG,eACjC,6BAAC,aAAQ;IAAC,GAAG,EAAEC;EAAiB,EAAG,eACnC,6BAAC,aAAQ;IAAC,GAAG,EAAEC;EAAmB,EAAG,eACrC,6BAAC,UAAI,OAAG,EACPV,QAAQ,CACP,CACI,CACD;AAEzB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","_appWcp","_ApolloProvider","_Base","_TelemetryProvider","_UiStateProvider","_Search","_UserMenu","_Navigation","_Progress","_appTheme","Admin","_ref","children","createApolloClient","ApolloProvider","createApolloProvider","TelemetryProvider","createTelemetryProvider","UiStateProvider","createUiStateProvider","default","createElement","ThemeProvider","WcpProvider","loader","CircularProgress","label","App","Provider","hoc","SearchProvider","UserMenuProvider","NavigationProvider","Base","exports"],"sources":["Admin.tsx"],"sourcesContent":["import React from \"react\";\nimport { App, Provider } from \"@webiny/app\";\nimport { WcpProvider } from \"@webiny/app-wcp\";\nimport { ApolloClientFactory, createApolloProvider } from \"./providers/ApolloProvider\";\nimport { Base } from \"./Base\";\nimport { createTelemetryProvider } from \"./providers/TelemetryProvider\";\nimport { createUiStateProvider } from \"./providers/UiStateProvider\";\nimport { SearchProvider } from \"./ui/Search\";\nimport { UserMenuProvider } from \"./ui/UserMenu\";\nimport { NavigationProvider } from \"./ui/Navigation\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { ThemeProvider } from \"@webiny/app-theme\";\n\nexport interface AdminProps {\n createApolloClient: ApolloClientFactory;\n children?: React.ReactNode;\n}\n\nexport const Admin: React.FC<AdminProps> = ({ children, createApolloClient }) => {\n const ApolloProvider = createApolloProvider(createApolloClient);\n const TelemetryProvider = createTelemetryProvider();\n const UiStateProvider = createUiStateProvider();\n\n return (\n <ApolloProvider>\n <ThemeProvider>\n <WcpProvider loader={<CircularProgress label={\"Loading...\"} />}>\n <App>\n <Provider hoc={TelemetryProvider} />\n <Provider hoc={UiStateProvider} />\n <Provider hoc={SearchProvider} />\n <Provider hoc={UserMenuProvider} />\n <Provider hoc={NavigationProvider} />\n <Base />\n {children}\n </App>\n </WcpProvider>\n </ThemeProvider>\n </ApolloProvider>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AAOO,IAAMY,KAA2B,GAAG,SAA9BA,KAA2BA,CAAAC,IAAA,EAAyC;EAAA,IAAnCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,kBAAkB,GAAAF,IAAA,CAAlBE,kBAAkB;EACtE,IAAMC,cAAc,GAAG,IAAAC,oCAAoB,EAACF,kBAAkB,CAAC;EAC/D,IAAMG,iBAAiB,GAAG,IAAAC,0CAAuB,EAAC,CAAC;EACnD,IAAMC,eAAe,GAAG,IAAAC,sCAAqB,EAAC,CAAC;EAE/C,oBACIvB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACP,cAAc,qBACXlB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACZ,SAAA,CAAAa,aAAa,qBACV1B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACrB,OAAA,CAAAuB,WAAW;IAACC,MAAM,eAAE5B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACb,SAAA,CAAAiB,gBAAgB;MAACC,KAAK,EAAE;IAAa,CAAE;EAAE,gBAC3D9B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA4B,GAAG,qBACA/B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA6B,QAAQ;IAACC,GAAG,EAAEb;EAAkB,CAAE,CAAC,eACpCpB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA6B,QAAQ;IAACC,GAAG,EAAEX;EAAgB,CAAE,CAAC,eAClCtB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA6B,QAAQ;IAACC,GAAG,EAAEC;EAAe,CAAE,CAAC,eACjClC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA6B,QAAQ;IAACC,GAAG,EAAEE;EAAiB,CAAE,CAAC,eACnCnC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACtB,IAAA,CAAA6B,QAAQ;IAACC,GAAG,EAAEG;EAAmB,CAAE,CAAC,eACrCpC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACnB,KAAA,CAAA+B,IAAI,MAAE,CAAC,EACPrB,QACA,CACI,CACF,CACH,CAAC;AAEzB,CAAC;AAACsB,OAAA,CAAAxB,KAAA,GAAAA,KAAA"}
package/base/Base.js CHANGED
@@ -6,25 +6,28 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Base = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _insert_drive_file = require("@material-design-icons/svg/filled/insert_drive_file.svg");
10
+ var _settings = require("@material-design-icons/svg/outlined/settings.svg");
9
11
  var _app = require("@webiny/app");
10
- var _ = require("./..");
11
12
  var _plugins = require("@webiny/plugins");
13
+ var _appSecurity = require("@webiny/app-security");
14
+ var _ = require("./..");
12
15
  var _iconDocumentation = require("../assets/icons/icon-documentation.svg");
13
16
  var _slackLogo = require("../assets/icons/slack-logo.svg");
14
17
  var _githubBrands = require("../assets/icons/github-brands.svg");
15
- var _insert_drive_file = require("@material-design-icons/svg/filled/insert_drive_file.svg");
16
- var _settings = require("@material-design-icons/svg/outlined/settings.svg");
17
18
  var _FileManager = require("./ui/FileManager");
18
19
  var _globalSearch = require("../plugins/globalSearch");
19
20
  var _uiLayoutRenderer = require("../plugins/uiLayoutRenderer");
20
21
  var BaseExtension = function BaseExtension() {
21
22
  _plugins.plugins.register([_globalSearch.globalSearchHotkey, _uiLayoutRenderer.uiLayoutPlugin]);
22
- return /*#__PURE__*/_react.default.createElement(_app.Plugins, null, /*#__PURE__*/_react.default.createElement(_.AddMenu, {
23
+ return /*#__PURE__*/_react.default.createElement(_app.Plugin, null, /*#__PURE__*/_react.default.createElement(_.AddMenu, {
23
24
  name: "settings",
24
25
  label: "Settings",
25
26
  icon: /*#__PURE__*/_react.default.createElement(_settings.ReactComponent, null),
26
27
  pin: "last"
27
- }), /*#__PURE__*/_react.default.createElement(_FileManager.FileManager, null, function (_ref) {
28
+ }), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
29
+ name: "fm.file"
30
+ }, /*#__PURE__*/_react.default.createElement(_FileManager.FileManager, null, function (_ref) {
28
31
  var showFileManager = _ref.showFileManager;
29
32
  return /*#__PURE__*/_react.default.createElement(_.AddMenu, {
30
33
  name: "fileManager",
@@ -34,7 +37,7 @@ var BaseExtension = function BaseExtension() {
34
37
  onClick: showFileManager,
35
38
  testId: "admin-drawer-footer-menu-file-manager"
36
39
  });
37
- }), /*#__PURE__*/_react.default.createElement(_.AddMenu, {
40
+ })), /*#__PURE__*/_react.default.createElement(_.AddMenu, {
38
41
  name: "documentation",
39
42
  label: "Documentation",
40
43
  icon: /*#__PURE__*/_react.default.createElement(_iconDocumentation.ReactComponent, null),
package/base/Base.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["BaseExtension","plugins","register","globalSearchHotkey","uiLayoutPlugin","showFileManager","Base","memo"],"sources":["Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { Plugins } from \"@webiny/app\";\nimport { AddMenu, AddRoute, Dashboard, Layout, NotFound } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { ReactComponent as DocsIcon } from \"~/assets/icons/icon-documentation.svg\";\nimport { ReactComponent as SlackIcon } from \"~/assets/icons/slack-logo.svg\";\nimport { ReactComponent as GithubIcon } from \"~/assets/icons/github-brands.svg\";\nimport { ReactComponent as FileIcon } from \"@material-design-icons/svg/filled/insert_drive_file.svg\";\nimport { ReactComponent as SettingsIcon } from \"@material-design-icons/svg/outlined/settings.svg\";\nimport { FileManager } from \"~/base/ui/FileManager\";\nimport { globalSearchHotkey } from \"~/plugins/globalSearch\";\nimport { uiLayoutPlugin } from \"~/plugins/uiLayoutRenderer\";\n\nconst BaseExtension: React.FC = () => {\n plugins.register([globalSearchHotkey, uiLayoutPlugin]);\n\n return (\n <Plugins>\n <AddMenu name={\"settings\"} label={\"Settings\"} icon={<SettingsIcon />} pin={\"last\"} />\n <FileManager>\n {({ showFileManager }) => (\n <AddMenu\n name={\"fileManager\"}\n label={\"File Manager\"}\n icon={<FileIcon />}\n tags={[\"footer\"]}\n onClick={showFileManager}\n testId={\"admin-drawer-footer-menu-file-manager\"}\n />\n )}\n </FileManager>\n <AddMenu\n name={\"documentation\"}\n label={\"Documentation\"}\n icon={<DocsIcon />}\n path={\"https://www.webiny.com/docs\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddMenu\n name={\"slack\"}\n label={\"Slack\"}\n icon={<SlackIcon />}\n path={\"https://www.webiny.com/slack/\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddMenu\n name={\"github\"}\n label={\"Github\"}\n icon={<GithubIcon />}\n path={\"https://github.com/webiny/webiny-js\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddRoute path={\"/\"}>\n <Layout title={\"Welcome!\"}>\n <Dashboard />\n </Layout>\n </AddRoute>\n <AddRoute path={\"*\"}>\n <Layout title={\"Not Accessible\"}>\n <NotFound />\n </Layout>\n </AddRoute>\n </Plugins>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAMA,aAAuB,GAAG,SAA1BA,aAAuB,GAAS;EAClCC,gBAAO,CAACC,QAAQ,CAAC,CAACC,gCAAkB,EAAEC,gCAAc,CAAC,CAAC;EAEtD,oBACI,6BAAC,YAAO,qBACJ,6BAAC,SAAO;IAAC,IAAI,EAAE,UAAW;IAAC,KAAK,EAAE,UAAW;IAAC,IAAI,eAAE,6BAAC,wBAAY,OAAI;IAAC,GAAG,EAAE;EAAO,EAAG,eACrF,6BAAC,wBAAW,QACP;IAAA,IAAGC,eAAe,QAAfA,eAAe;IAAA,oBACf,6BAAC,SAAO;MACJ,IAAI,EAAE,aAAc;MACpB,KAAK,EAAE,cAAe;MACtB,IAAI,eAAE,6BAAC,iCAAQ,OAAI;MACnB,IAAI,EAAE,CAAC,QAAQ,CAAE;MACjB,OAAO,EAAEA,eAAgB;MACzB,MAAM,EAAE;IAAwC,EAClD;EAAA,CACL,CACS,eACd,6BAAC,SAAO;IACJ,IAAI,EAAE,eAAgB;IACtB,KAAK,EAAE,eAAgB;IACvB,IAAI,eAAE,6BAAC,iCAAQ,OAAI;IACnB,IAAI,EAAE,6BAA8B;IACpC,GAAG,EAAE,qBAAsB;IAC3B,MAAM,EAAE,QAAS;IACjB,IAAI,EAAE,CAAC,QAAQ;EAAE,EACnB,eACF,6BAAC,SAAO;IACJ,IAAI,EAAE,OAAQ;IACd,KAAK,EAAE,OAAQ;IACf,IAAI,eAAE,6BAAC,yBAAS,OAAI;IACpB,IAAI,EAAE,+BAAgC;IACtC,GAAG,EAAE,qBAAsB;IAC3B,MAAM,EAAE,QAAS;IACjB,IAAI,EAAE,CAAC,QAAQ;EAAE,EACnB,eACF,6BAAC,SAAO;IACJ,IAAI,EAAE,QAAS;IACf,KAAK,EAAE,QAAS;IAChB,IAAI,eAAE,6BAAC,4BAAU,OAAI;IACrB,IAAI,EAAE,qCAAsC;IAC5C,GAAG,EAAE,qBAAsB;IAC3B,MAAM,EAAE,QAAS;IACjB,IAAI,EAAE,CAAC,QAAQ;EAAE,EACnB,eACF,6BAAC,UAAQ;IAAC,IAAI,EAAE;EAAI,gBAChB,6BAAC,QAAM;IAAC,KAAK,EAAE;EAAW,gBACtB,6BAAC,WAAS,OAAG,CACR,CACF,eACX,6BAAC,UAAQ;IAAC,IAAI,EAAE;EAAI,gBAChB,6BAAC,QAAM;IAAC,KAAK,EAAE;EAAiB,gBAC5B,6BAAC,UAAQ,OAAG,CACP,CACF,CACL;AAElB,CAAC;AAEM,IAAMC,IAAI,gBAAG,IAAAC,WAAI,EAACP,aAAa,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_insert_drive_file","_settings","_app","_plugins","_appSecurity","_","_iconDocumentation","_slackLogo","_githubBrands","_FileManager","_globalSearch","_uiLayoutRenderer","BaseExtension","plugins","register","globalSearchHotkey","uiLayoutPlugin","default","createElement","Plugin","AddMenu","name","label","icon","ReactComponent","pin","HasPermission","FileManager","_ref","showFileManager","tags","onClick","testId","path","rel","target","AddRoute","Layout","title","Dashboard","NotFound","Base","memo","exports"],"sources":["Base.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { ReactComponent as FileIcon } from \"@material-design-icons/svg/filled/insert_drive_file.svg\";\nimport { ReactComponent as SettingsIcon } from \"@material-design-icons/svg/outlined/settings.svg\";\nimport { Plugin } from \"@webiny/app\";\nimport { plugins } from \"@webiny/plugins\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { AddMenu, AddRoute, Dashboard, Layout, NotFound } from \"~/index\";\nimport { ReactComponent as DocsIcon } from \"~/assets/icons/icon-documentation.svg\";\nimport { ReactComponent as SlackIcon } from \"~/assets/icons/slack-logo.svg\";\nimport { ReactComponent as GithubIcon } from \"~/assets/icons/github-brands.svg\";\nimport { FileManager } from \"~/base/ui/FileManager\";\nimport { globalSearchHotkey } from \"~/plugins/globalSearch\";\nimport { uiLayoutPlugin } from \"~/plugins/uiLayoutRenderer\";\n\nconst BaseExtension: React.FC = () => {\n plugins.register([globalSearchHotkey, uiLayoutPlugin]);\n\n return (\n <Plugin>\n <AddMenu name={\"settings\"} label={\"Settings\"} icon={<SettingsIcon />} pin={\"last\"} />\n <HasPermission name={\"fm.file\"}>\n <FileManager>\n {({ showFileManager }) => (\n <AddMenu\n name={\"fileManager\"}\n label={\"File Manager\"}\n icon={<FileIcon />}\n tags={[\"footer\"]}\n onClick={showFileManager}\n testId={\"admin-drawer-footer-menu-file-manager\"}\n />\n )}\n </FileManager>\n </HasPermission>\n <AddMenu\n name={\"documentation\"}\n label={\"Documentation\"}\n icon={<DocsIcon />}\n path={\"https://www.webiny.com/docs\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddMenu\n name={\"slack\"}\n label={\"Slack\"}\n icon={<SlackIcon />}\n path={\"https://www.webiny.com/slack/\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddMenu\n name={\"github\"}\n label={\"Github\"}\n icon={<GithubIcon />}\n path={\"https://github.com/webiny/webiny-js\"}\n rel={\"noopener noreferrer\"}\n target={\"_blank\"}\n tags={[\"footer\"]}\n />\n <AddRoute path={\"/\"}>\n <Layout title={\"Welcome!\"}>\n <Dashboard />\n </Layout>\n </AddRoute>\n <AddRoute path={\"*\"}>\n <Layout title={\"Not Accessible\"}>\n <NotFound />\n </Layout>\n </AddRoute>\n </Plugin>\n );\n};\n\nexport const Base = memo(BaseExtension);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["AddGraphQLQuerySelection","props","useState","operationName","nanoid","name","useEffect","plugin","AddQuerySelectionPlugin","plugins","register","unregister"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { nanoid } from \"nanoid\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection: React.FC<Props> = props => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${nanoid()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AASO,IAAMA,wBAAyC,GAAG,SAA5CA,wBAAyC,CAAGC,KAAK,EAAI;EAC9D,gBAAe,IAAAC,eAAQ,qCAA6BD,KAAK,CAACE,aAAa,cAAI,IAAAC,cAAM,GAAE,EAAG;IAAA;IAA/EC,IAAI;EAEX,IAAAC,gBAAS,EAAC,YAAM;IACZ,IAAMC,MAAM,GAAG,IAAIC,gDAAuB,CAACP,KAAK,CAAC;IAEjDM,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBI,gBAAO,CAACC,QAAQ,CAACH,MAAM,CAAC;IAExB,OAAO,YAAM;MACTE,gBAAO,CAACE,UAAU,CAACN,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","require","_plugins","_nanoid","_AddQuerySelectionPlugin","AddGraphQLQuerySelection","props","_useState","useState","concat","operationName","nanoid","_useState2","_slicedToArray2","default","name","useEffect","plugin","AddQuerySelectionPlugin","plugins","register","unregister","exports"],"sources":["AddGraphQLQuerySelection.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { nanoid } from \"nanoid\";\nimport { AddQuerySelectionPlugin } from \"@webiny/app/plugins/AddQuerySelectionPlugin\";\nimport { DocumentNode } from \"graphql\";\n\ninterface Props {\n operationName: string;\n selectionPath: string;\n addSelection: DocumentNode;\n}\n\nexport const AddGraphQLQuerySelection: React.FC<Props> = props => {\n const [name] = useState(`AddGraphQLQuerySelection:${props.operationName}:${nanoid()}`);\n\n useEffect(() => {\n const plugin = new AddQuerySelectionPlugin(props);\n\n plugin.name = name;\n plugins.register(plugin);\n\n return () => {\n plugins.unregister(name);\n };\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AASO,IAAMI,wBAAyC,GAAG,SAA5CA,wBAAyCA,CAAGC,KAAK,EAAI;EAC9D,IAAAC,SAAA,GAAe,IAAAC,eAAQ,8BAAAC,MAAA,CAA6BH,KAAK,CAACI,aAAa,OAAAD,MAAA,CAAI,IAAAE,cAAM,EAAC,CAAC,CAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAP,SAAA;IAA/EQ,IAAI,GAAAH,UAAA;EAEX,IAAAI,gBAAS,EAAC,YAAM;IACZ,IAAMC,MAAM,GAAG,IAAIC,gDAAuB,CAACZ,KAAK,CAAC;IAEjDW,MAAM,CAACF,IAAI,GAAGA,IAAI;IAClBI,gBAAO,CAACC,QAAQ,CAACH,MAAM,CAAC;IAExB,OAAO,YAAM;MACTE,gBAAO,CAACE,UAAU,CAACN,IAAI,CAAC;IAC5B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAACO,OAAA,CAAAjB,wBAAA,GAAAA,wBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createApolloProvider","clientFactory","ApolloProvider","children","uri","process","env","REACT_APP_GRAPHQL_API_URL"],"sources":["ApolloProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { ApolloProvider as Apollo } from \"@apollo/react-components\";\nimport ApolloClient from \"apollo-client\";\n\ninterface Options {\n uri: string;\n}\n\nexport interface ApolloClientFactory {\n (options: Options): ApolloClient<any>;\n}\n\nexport const createApolloProvider = (clientFactory: ApolloClientFactory) => {\n return function ApolloProvider({ children }) {\n const uri = process.env.REACT_APP_GRAPHQL_API_URL as string;\n return <Apollo client={clientFactory({ uri })}>{children}</Apollo>;\n } as React.FC;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAWO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIC,aAAkC,EAAK;EACxE,OAAO,SAASC,cAAc,OAAe;IAAA,IAAZC,QAAQ,QAARA,QAAQ;IACrC,IAAMC,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,yBAAmC;IAC3D,oBAAO,6BAAC,+BAAM;MAAC,MAAM,EAAEN,aAAa,CAAC;QAAEG,GAAG,EAAHA;MAAI,CAAC;IAAE,GAAED,QAAQ,CAAU;EACtE,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactComponents","createApolloProvider","clientFactory","ApolloProvider","_ref","children","uri","process","env","REACT_APP_GRAPHQL_API_URL","default","createElement","client","exports"],"sources":["ApolloProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { ApolloProvider as Apollo } from \"@apollo/react-components\";\nimport ApolloClient from \"apollo-client\";\n\ninterface Options {\n uri: string;\n}\n\nexport interface ApolloClientFactory {\n (options: Options): ApolloClient<any>;\n}\n\nexport const createApolloProvider = (clientFactory: ApolloClientFactory) => {\n return function ApolloProvider({ children }) {\n const uri = process.env.REACT_APP_GRAPHQL_API_URL as string;\n return <Apollo client={clientFactory({ uri })}>{children}</Apollo>;\n } as React.FC;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAWO,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,aAAkC,EAAK;EACxE,OAAO,SAASC,cAAcA,CAAAC,IAAA,EAAe;IAAA,IAAZC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACrC,IAAMC,GAAG,GAAGC,OAAO,CAACC,GAAG,CAACC,yBAAmC;IAC3D,oBAAOZ,MAAA,CAAAa,OAAA,CAAAC,aAAA,CAACX,gBAAA,CAAAG,cAAM;MAACS,MAAM,EAAEV,aAAa,CAAC;QAAEI,GAAG,EAAHA;MAAI,CAAC;IAAE,GAAED,QAAiB,CAAC;EACtE,CAAC;AACL,CAAC;AAACQ,OAAA,CAAAZ,oBAAA,GAAAA,oBAAA"}
@@ -9,9 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _react2 = require("@webiny/telemetry/react");
10
10
  /**
11
11
  * Package @webiny/telemetry is not a typescript project.
12
- */
13
- // @ts-ignore
14
-
12
+ */ // @ts-ignore
15
13
  var eventSent = false;
16
14
  var createTelemetryProvider = function createTelemetryProvider() {
17
15
  return function (Component) {
@@ -1 +1 @@
1
- {"version":3,"names":["eventSent","createTelemetryProvider","Component","TelemetryProvider","children","useEffect","sendEvent"],"sources":["TelemetryProvider.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n/**\n * Package @webiny/telemetry is not a typescript project.\n */\n// @ts-ignore\nimport { sendEvent } from \"@webiny/telemetry/react\";\n\nlet eventSent = false;\n\nexport const createTelemetryProvider =\n () =>\n (Component: React.FC): React.FC => {\n return function TelemetryProvider({ children }) {\n useEffect(() => {\n if (eventSent) {\n return;\n }\n\n eventSent = true;\n sendEvent(\"app-start\");\n }, []);\n\n return <Component>{children}</Component>;\n };\n };\n"],"mappings":";;;;;;;AAAA;AAKA;AAJA;AACA;AACA;AACA;;AAGA,IAAIA,SAAS,GAAG,KAAK;AAEd,IAAMC,uBAAuB,GAChC,SADSA,uBAAuB;EAAA,OAEhC,UAACC,SAAmB,EAAe;IAC/B,OAAO,SAASC,iBAAiB,OAAe;MAAA,IAAZC,QAAQ,QAARA,QAAQ;MACxC,IAAAC,gBAAS,EAAC,YAAM;QACZ,IAAIL,SAAS,EAAE;UACX;QACJ;QAEAA,SAAS,GAAG,IAAI;QAChB,IAAAM,iBAAS,EAAC,WAAW,CAAC;MAC1B,CAAC,EAAE,EAAE,CAAC;MAEN,oBAAO,6BAAC,SAAS,QAAEF,QAAQ,CAAa;IAC5C,CAAC;EACL,CAAC;AAAA;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_react2","eventSent","createTelemetryProvider","Component","TelemetryProvider","_ref","children","useEffect","sendEvent","default","createElement","exports"],"sources":["TelemetryProvider.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\n/**\n * Package @webiny/telemetry is not a typescript project.\n */\n// @ts-ignore\nimport { sendEvent } from \"@webiny/telemetry/react\";\n\nlet eventSent = false;\n\nexport const createTelemetryProvider =\n () =>\n (Component: React.FC): React.FC => {\n return function TelemetryProvider({ children }) {\n useEffect(() => {\n if (eventSent) {\n return;\n }\n\n eventSent = true;\n sendEvent(\"app-start\");\n }, []);\n\n return <Component>{children}</Component>;\n };\n };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AAJA;AACA;AACA,GAFA,CAGA;AAGA,IAAIE,SAAS,GAAG,KAAK;AAEd,IAAMC,uBAAuB,GAChC,SADSA,uBAAuBA,CAAA;EAAA,OAEhC,UAACC,SAAmB,EAAe;IAC/B,OAAO,SAASC,iBAAiBA,CAAAC,IAAA,EAAe;MAAA,IAAZC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MACxC,IAAAC,gBAAS,EAAC,YAAM;QACZ,IAAIN,SAAS,EAAE;UACX;QACJ;QAEAA,SAAS,GAAG,IAAI;QAChB,IAAAO,iBAAS,EAAC,WAAW,CAAC;MAC1B,CAAC,EAAE,EAAE,CAAC;MAEN,oBAAOX,MAAA,CAAAY,OAAA,CAAAC,aAAA,CAACP,SAAS,QAAEG,QAAoB,CAAC;IAC5C,CAAC;EACL,CAAC;AAAA;AAACK,OAAA,CAAAT,uBAAA,GAAAA,uBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["createUiStateProvider","Component","UiStateProvider","children"],"sources":["UiStateProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiProvider } from \"@webiny/app/contexts/Ui\";\n\nexport const createUiStateProvider =\n () =>\n (Component: React.ComponentType<unknown>): React.FC => {\n return function UiStateProvider({ children }) {\n return (\n <UiProvider>\n <Component>{children}</Component>\n </UiProvider>\n );\n };\n };\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,qBAAqB,GAC9B,SADSA,qBAAqB;EAAA,OAE9B,UAACC,SAAuC,EAAe;IACnD,OAAO,SAASC,eAAe,OAAe;MAAA,IAAZC,QAAQ,QAARA,QAAQ;MACtC,oBACI,6BAAC,cAAU,qBACP,6BAAC,SAAS,QAAEA,QAAQ,CAAa,CACxB;IAErB,CAAC;EACL,CAAC;AAAA;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_Ui","createUiStateProvider","Component","UiStateProvider","_ref","children","default","createElement","UiProvider","exports"],"sources":["UiStateProvider.tsx"],"sourcesContent":["import React from \"react\";\nimport { UiProvider } from \"@webiny/app/contexts/Ui\";\n\nexport const createUiStateProvider =\n () =>\n (Component: React.ComponentType<unknown>): React.FC => {\n return function UiStateProvider({ children }) {\n return (\n <UiProvider>\n <Component>{children}</Component>\n </UiProvider>\n );\n };\n };\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AAEO,IAAME,qBAAqB,GAC9B,SADSA,qBAAqBA,CAAA;EAAA,OAE9B,UAACC,SAAuC,EAAe;IACnD,OAAO,SAASC,eAAeA,CAAAC,IAAA,EAAe;MAAA,IAAZC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MACtC,oBACIR,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,GAAA,CAAAQ,UAAU,qBACPX,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACL,SAAS,QAAEG,QAAoB,CACxB,CAAC;IAErB,CAAC;EACL,CAAC;AAAA;AAACI,OAAA,CAAAR,qBAAA,GAAAA,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["ViewCompositionContext","createContext","getViewElement","setViewElement","displayName","ViewCompositionProvider","children","useState","state","setState","context","useMemo","view","name","setter","existing","useViewComposition","useContext","createViewCompositionProvider","Component","ViewCompositionProviderHOC"],"sources":["ViewCompositionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from \"react\";\n\nexport interface ViewElement {\n name: string;\n elements: JSX.Element[];\n label?: string;\n [key: string]: any;\n}\n\ninterface ElementSetter {\n (element: ViewElement): ViewElement;\n}\n\nexport interface ViewCompositionContext {\n getViewElement(view: string, name: string): ViewElement | null;\n setViewElement(view: string, name: string, setter: ElementSetter): void;\n}\n\nconst ViewCompositionContext = createContext<ViewCompositionContext>({\n getViewElement: () => {\n return null;\n },\n setViewElement: () => {\n return void 0;\n }\n});\nViewCompositionContext.displayName = \"ViewCompositionContext\";\n\ninterface ViewCompositionProviderState {\n [key: string]: Record<string, any>;\n}\nconst ViewCompositionProvider: React.FC = ({ children }) => {\n const [state, setState] = useState<ViewCompositionProviderState>({});\n\n const context = useMemo(\n () => ({\n getViewElement(view: string, name: string): ViewElement {\n return state[view] && state[view][name];\n },\n setViewElement(view: string, name: string, setter: ElementSetter) {\n setState(state => {\n const existing = state[view] && state[view][name];\n return {\n ...state,\n [view]: {\n ...state[view],\n [name]: setter(existing)\n }\n };\n });\n }\n }),\n [state]\n );\n\n return (\n <ViewCompositionContext.Provider value={context}>\n {children}\n </ViewCompositionContext.Provider>\n );\n};\n\nexport function useViewComposition() {\n return useContext(ViewCompositionContext);\n}\n\nexport const createViewCompositionProvider =\n () =>\n (Component: React.ComponentType<unknown>): React.FC => {\n return function ViewCompositionProviderHOC({ children }) {\n return (\n <ViewCompositionProvider>\n <Component>{children}</Component>\n </ViewCompositionProvider>\n );\n };\n };\n"],"mappings":";;;;;;;;;;;;AAAA;AAkBA,IAAMA,sBAAsB,gBAAG,IAAAC,oBAAa,EAAyB;EACjEC,cAAc,EAAE,0BAAM;IAClB,OAAO,IAAI;EACf,CAAC;EACDC,cAAc,EAAE,0BAAM;IAClB,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFH,sBAAsB,CAACI,WAAW,GAAG,wBAAwB;AAK7D,IAAMC,uBAAiC,GAAG,SAApCA,uBAAiC,OAAqB;EAAA,IAAfC,QAAQ,QAARA,QAAQ;EACjD,gBAA0B,IAAAC,eAAQ,EAA+B,CAAC,CAAC,CAAC;IAAA;IAA7DC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,OAAO,GAAG,IAAAC,cAAO,EACnB;IAAA,OAAO;MACHT,cAAc,0BAACU,IAAY,EAAEC,IAAY,EAAe;QACpD,OAAOL,KAAK,CAACI,IAAI,CAAC,IAAIJ,KAAK,CAACI,IAAI,CAAC,CAACC,IAAI,CAAC;MAC3C,CAAC;MACDV,cAAc,0BAACS,IAAY,EAAEC,IAAY,EAAEC,MAAqB,EAAE;QAC9DL,QAAQ,CAAC,UAAAD,KAAK,EAAI;UACd,IAAMO,QAAQ,GAAGP,KAAK,CAACI,IAAI,CAAC,IAAIJ,KAAK,CAACI,IAAI,CAAC,CAACC,IAAI,CAAC;UACjD,mEACOL,KAAK,yCACPI,IAAI,8DACEJ,KAAK,CAACI,IAAI,CAAC,yCACbC,IAAI,EAAGC,MAAM,CAACC,QAAQ,CAAC;QAGpC,CAAC,CAAC;MACN;IACJ,CAAC;EAAA,CAAC,EACF,CAACP,KAAK,CAAC,CACV;EAED,oBACI,6BAAC,sBAAsB,CAAC,QAAQ;IAAC,KAAK,EAAEE;EAAQ,GAC3CJ,QAAQ,CACqB;AAE1C,CAAC;AAEM,SAASU,kBAAkB,GAAG;EACjC,OAAO,IAAAC,iBAAU,EAACjB,sBAAsB,CAAC;AAC7C;AAEO,IAAMkB,6BAA6B,GACtC,SADSA,6BAA6B;EAAA,OAEtC,UAACC,SAAuC,EAAe;IACnD,OAAO,SAASC,0BAA0B,QAAe;MAAA,IAAZd,QAAQ,SAARA,QAAQ;MACjD,oBACI,6BAAC,uBAAuB,qBACpB,6BAAC,SAAS,QAAEA,QAAQ,CAAa,CACX;IAElC,CAAC;EACL,CAAC;AAAA;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","ViewCompositionContext","createContext","getViewElement","setViewElement","displayName","ViewCompositionProvider","_ref","children","_useState","useState","_useState2","_slicedToArray2","default","state","setState","context","useMemo","view","name","setter","existing","_objectSpread4","_defineProperty2","createElement","Provider","value","useViewComposition","useContext","createViewCompositionProvider","Component","ViewCompositionProviderHOC","_ref2","exports"],"sources":["ViewCompositionProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState } from \"react\";\n\nexport interface ViewElement {\n name: string;\n elements: JSX.Element[];\n label?: string;\n [key: string]: any;\n}\n\ninterface ElementSetter {\n (element: ViewElement): ViewElement;\n}\n\nexport interface ViewCompositionContext {\n getViewElement(view: string, name: string): ViewElement | null;\n setViewElement(view: string, name: string, setter: ElementSetter): void;\n}\n\nconst ViewCompositionContext = createContext<ViewCompositionContext>({\n getViewElement: () => {\n return null;\n },\n setViewElement: () => {\n return void 0;\n }\n});\nViewCompositionContext.displayName = \"ViewCompositionContext\";\n\ninterface ViewCompositionProviderState {\n [key: string]: Record<string, any>;\n}\nconst ViewCompositionProvider: React.FC = ({ children }) => {\n const [state, setState] = useState<ViewCompositionProviderState>({});\n\n const context = useMemo(\n () => ({\n getViewElement(view: string, name: string): ViewElement {\n return state[view] && state[view][name];\n },\n setViewElement(view: string, name: string, setter: ElementSetter) {\n setState(state => {\n const existing = state[view] && state[view][name];\n return {\n ...state,\n [view]: {\n ...state[view],\n [name]: setter(existing)\n }\n };\n });\n }\n }),\n [state]\n );\n\n return (\n <ViewCompositionContext.Provider value={context}>\n {children}\n </ViewCompositionContext.Provider>\n );\n};\n\nexport function useViewComposition() {\n return useContext(ViewCompositionContext);\n}\n\nexport const createViewCompositionProvider =\n () =>\n (Component: React.ComponentType<unknown>): React.FC => {\n return function ViewCompositionProviderHOC({ children }) {\n return (\n <ViewCompositionProvider>\n <Component>{children}</Component>\n </ViewCompositionProvider>\n );\n };\n };\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAkBA,IAAMC,sBAAsB,gBAAG,IAAAC,oBAAa,EAAyB;EACjEC,cAAc,EAAE,SAAAA,eAAA,EAAM;IAClB,OAAO,IAAI;EACf,CAAC;EACDC,cAAc,EAAE,SAAAA,eAAA,EAAM;IAClB,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFH,sBAAsB,CAACI,WAAW,GAAG,wBAAwB;AAK7D,IAAMC,uBAAiC,GAAG,SAApCA,uBAAiCA,CAAAC,IAAA,EAAqB;EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EACjD,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAA+B,CAAC,CAAC,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA7DK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EAEtB,IAAMK,OAAO,GAAG,IAAAC,cAAO,EACnB;IAAA,OAAO;MACHd,cAAc,WAAAA,eAACe,IAAY,EAAEC,IAAY,EAAe;QACpD,OAAOL,KAAK,CAACI,IAAI,CAAC,IAAIJ,KAAK,CAACI,IAAI,CAAC,CAACC,IAAI,CAAC;MAC3C,CAAC;MACDf,cAAc,WAAAA,eAACc,IAAY,EAAEC,IAAY,EAAEC,MAAqB,EAAE;QAC9DL,QAAQ,CAAC,UAAAD,KAAK,EAAI;UACd,IAAMO,QAAQ,GAAGP,KAAK,CAACI,IAAI,CAAC,IAAIJ,KAAK,CAACI,IAAI,CAAC,CAACC,IAAI,CAAC;UACjD,WAAAG,cAAA,CAAAT,OAAA,MAAAS,cAAA,CAAAT,OAAA,MACOC,KAAK,WAAAS,gBAAA,CAAAV,OAAA,MACPK,IAAI,MAAAI,cAAA,CAAAT,OAAA,MAAAS,cAAA,CAAAT,OAAA,MACEC,KAAK,CAACI,IAAI,CAAC,WAAAK,gBAAA,CAAAV,OAAA,MACbM,IAAI,EAAGC,MAAM,CAACC,QAAQ,CAAC;QAGpC,CAAC,CAAC;MACN;IACJ,CAAC;EAAA,CAAC,EACF,CAACP,KAAK,CACV,CAAC;EAED,oBACIhB,MAAA,CAAAe,OAAA,CAAAW,aAAA,CAACvB,sBAAsB,CAACwB,QAAQ;IAACC,KAAK,EAAEV;EAAQ,GAC3CR,QAC4B,CAAC;AAE1C,CAAC;AAEM,SAASmB,kBAAkBA,CAAA,EAAG;EACjC,OAAO,IAAAC,iBAAU,EAAC3B,sBAAsB,CAAC;AAC7C;AAEO,IAAM4B,6BAA6B,GACtC,SADSA,6BAA6BA,CAAA;EAAA,OAEtC,UAACC,SAAuC,EAAe;IACnD,OAAO,SAASC,0BAA0BA,CAAAC,KAAA,EAAe;MAAA,IAAZxB,QAAQ,GAAAwB,KAAA,CAARxB,QAAQ;MACjD,oBACIV,MAAA,CAAAe,OAAA,CAAAW,aAAA,CAAClB,uBAAuB,qBACpBR,MAAA,CAAAe,OAAA,CAAAW,aAAA,CAACM,SAAS,QAAEtB,QAAoB,CACX,CAAC;IAElC,CAAC;EACL,CAAC;AAAA;AAACyB,OAAA,CAAAJ,6BAAA,GAAAA,6BAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Brand","makeComposable","BrandRenderer"],"sources":["Brand.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const Brand = makeComposable(\"Brand\", () => {\n return <BrandRenderer />;\n});\n\nexport const BrandRenderer = makeComposable(\"BrandRenderer\");\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,KAAK,GAAG,IAAAC,mBAAc,EAAC,OAAO,EAAE,YAAM;EAC/C,oBAAO,6BAAC,aAAa,OAAG;AAC5B,CAAC,CAAC;AAAC;AAEI,IAAMC,aAAa,GAAG,IAAAD,mBAAc,EAAC,eAAe,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","Brand","makeComposable","default","createElement","BrandRenderer","exports"],"sources":["Brand.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const Brand = makeComposable(\"Brand\", () => {\n return <BrandRenderer />;\n});\n\nexport const BrandRenderer = makeComposable(\"BrandRenderer\");\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,KAAK,GAAG,IAAAC,mBAAc,EAAC,OAAO,EAAE,YAAM;EAC/C,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACC,aAAa,MAAE,CAAC;AAC5B,CAAC,CAAC;AAACC,OAAA,CAAAL,KAAA,GAAAA,KAAA;AAEI,IAAMI,aAAa,GAAG,IAAAH,mBAAc,EAAC,eAAe,CAAC;AAACI,OAAA,CAAAD,aAAA,GAAAA,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Container","styled","display","justifyContent","Width","props","maxWidth","width","CenteredView","makeComposable","children"],"sources":["CenteredView.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { makeComposable } from \"~/index\";\n\nexport interface CenteredViewProps {\n maxWidth?: number | string;\n}\n\nconst Container = styled.div({\n display: \"flex\",\n justifyContent: \"center\"\n});\n\ninterface Props {\n maxWidth: string | number;\n}\n\nconst Width = styled.div((props: Props) => ({\n maxWidth: props.maxWidth,\n width: \"100%\"\n}));\n\nexport const CenteredView = makeComposable<CenteredViewProps>(\n \"CenteredView\",\n ({ maxWidth = 700, children }) => {\n return (\n <Container>\n <Width maxWidth={maxWidth}>{children}</Width>\n </Container>\n );\n }\n);\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAMA,IAAMA,SAAS,oBAAGC,eAAM;EAAA;EAAA;AAAA,GAAK;EACzBC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE;AACpB,CAAC,CAAC;AAMF,IAAMC,KAAK,oBAAGH,eAAM;EAAA;EAAA;AAAA,GAAK,UAACI,KAAY;EAAA,OAAM;IACxCC,QAAQ,EAAED,KAAK,CAACC,QAAQ;IACxBC,KAAK,EAAE;EACX,CAAC;AAAA,CAAC,CAAC;AAEI,IAAMC,YAAY,GAAG,IAAAC,gBAAc,EACtC,cAAc,EACd,gBAAkC;EAAA,yBAA/BH,QAAQ;IAARA,QAAQ,8BAAG,GAAG;IAAEI,QAAQ,QAARA,QAAQ;EACvB,oBACI,6BAAC,SAAS,qBACN,6BAAC,KAAK;IAAC,QAAQ,EAAEJ;EAAS,GAAEI,QAAQ,CAAS,CACrC;AAEpB,CAAC,CACJ;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_styled","_","Container","styled","target","label","display","justifyContent","Width","props","maxWidth","width","CenteredView","makeComposable","_ref","_ref$maxWidth","children","default","createElement","exports"],"sources":["CenteredView.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { makeComposable } from \"~/index\";\n\nexport interface CenteredViewProps {\n maxWidth?: number | string;\n}\n\nconst Container = styled.div({\n display: \"flex\",\n justifyContent: \"center\"\n});\n\ninterface Props {\n maxWidth: string | number;\n}\n\nconst Width = styled.div((props: Props) => ({\n maxWidth: props.maxWidth,\n width: \"100%\"\n}));\n\nexport const CenteredView = makeComposable<CenteredViewProps>(\n \"CenteredView\",\n ({ maxWidth = 700, children }) => {\n return (\n <Container>\n <Width maxWidth={maxWidth}>{children}</Width>\n </Container>\n );\n }\n);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AAMA,IAAMG,SAAS,oBAAGC,eAAM;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAK;EACzBC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE;AACpB,CAAC,CAAC;AAMF,IAAMC,KAAK,oBAAGL,eAAM;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAK,UAACI,KAAY;EAAA,OAAM;IACxCC,QAAQ,EAAED,KAAK,CAACC,QAAQ;IACxBC,KAAK,EAAE;EACX,CAAC;AAAA,CAAC,CAAC;AAEI,IAAMC,YAAY,GAAG,IAAAC,gBAAc,EACtC,cAAc,EACd,UAAAC,IAAA,EAAkC;EAAA,IAAAC,aAAA,GAAAD,IAAA,CAA/BJ,QAAQ;IAARA,QAAQ,GAAAK,aAAA,cAAG,GAAG,GAAAA,aAAA;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACvB,oBACInB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAAChB,SAAS,qBACNL,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACV,KAAK;IAACE,QAAQ,EAAEA;EAAS,GAAEM,QAAgB,CACrC,CAAC;AAEpB,CACJ,CAAC;AAACG,OAAA,CAAAP,YAAA,GAAAA,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Dashboard","makeComposable","DashboardRenderer"],"sources":["Dashboard.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const Dashboard = makeComposable(\"Dashboard\", () => {\n return <DashboardRenderer />;\n});\n\nexport const DashboardRenderer = makeComposable(\"DashboardRenderer\");\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,SAAS,GAAG,IAAAC,mBAAc,EAAC,WAAW,EAAE,YAAM;EACvD,oBAAO,6BAAC,iBAAiB,OAAG;AAChC,CAAC,CAAC;AAAC;AAEI,IAAMC,iBAAiB,GAAG,IAAAD,mBAAc,EAAC,mBAAmB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","Dashboard","makeComposable","default","createElement","DashboardRenderer","exports"],"sources":["Dashboard.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const Dashboard = makeComposable(\"Dashboard\", () => {\n return <DashboardRenderer />;\n});\n\nexport const DashboardRenderer = makeComposable(\"DashboardRenderer\");\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,SAAS,GAAG,IAAAC,mBAAc,EAAC,WAAW,EAAE,YAAM;EACvD,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACC,iBAAiB,MAAE,CAAC;AAChC,CAAC,CAAC;AAACC,OAAA,CAAAL,SAAA,GAAAA,SAAA;AAEI,IAAMI,iBAAiB,GAAG,IAAAH,mBAAc,EAAC,mBAAmB,CAAC;AAACI,OAAA,CAAAD,iBAAA,GAAAA,iBAAA"}
@@ -55,6 +55,7 @@ export declare type FileManagerProps = {
55
55
  own?: boolean;
56
56
  scope?: string;
57
57
  tags?: Array<string>;
58
+ show?: boolean;
58
59
  /**
59
60
  * @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.
60
61
  */
@@ -12,6 +12,14 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
13
13
  var _reactComposition = require("@webiny/react-composition");
14
14
  var _excluded = ["children", "render", "onChange"];
15
+ /**
16
+ * Represents a file object managed by the File Manager.
17
+ */
18
+
19
+ /**
20
+ * With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.
21
+ */
22
+
15
23
  function getPortalTarget() {
16
24
  var target = window.document.getElementById("file-manager-container");
17
25
  if (!target) {
@@ -27,12 +35,13 @@ function getPortalTarget() {
27
35
  var FileManagerRenderer = (0, _reactComposition.makeComposable)("FileManagerRenderer");
28
36
  exports.FileManagerRenderer = FileManagerRenderer;
29
37
  var FileManager = function FileManager(_ref) {
38
+ var _rest$show;
30
39
  var children = _ref.children,
31
40
  render = _ref.render,
32
41
  onChange = _ref.onChange,
33
42
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
43
  var containerRef = (0, _react.useRef)(getPortalTarget());
35
- var _useState = (0, _react.useState)(false),
44
+ var _useState = (0, _react.useState)((_rest$show = rest.show) !== null && _rest$show !== void 0 ? _rest$show : false),
36
45
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
46
  show = _useState2[0],
38
47
  setShow = _useState2[1];
@@ -1 +1 @@
1
- {"version":3,"names":["getPortalTarget","target","window","document","getElementById","createElement","setAttribute","body","appendChild","FileManagerRenderer","makeComposable","FileManager","children","render","onChange","rest","containerRef","useRef","useState","show","setShow","onChangeRef","useEffect","current","showFileManager","useCallback","ReactDOM","createPortal"],"sources":["FileManager.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { makeComposable } from \"@webiny/react-composition\";\n\nexport interface FileManagerOnChange<T> {\n (value: T): void;\n}\n\n/**\n * Represents a file object managed by the File Manager.\n */\nexport interface FileManagerFileItem {\n id: string;\n src: string;\n meta?: Array<FileManagerFileItemMetaItem>;\n}\n\n/**\n * With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.\n */\nexport interface FileManagerFileItemMetaItem {\n key: string;\n value: any;\n}\n\nexport type DeprecatedFileManagerRenderPropParams = {\n showFileManager: (\n onChange?: FileManagerOnChange<FileManagerFileItem | FileManagerFileItem[]>\n ) => void;\n};\n\nexport type FileManagerRenderPropParams<TValue> = {\n showFileManager: (onChange?: FileManagerOnChange<TValue>) => void;\n};\n\ninterface SingleFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;\n}\n\ninterface MultiFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;\n}\n\nexport type MultipleProps =\n | {\n multiple?: never;\n multipleMaxCount?: never;\n multipleMaxSize?: never;\n onChange?: FileManagerOnChange<FileManagerFileItem>;\n render?: SingleFileRenderProp;\n }\n | {\n multiple: true;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onChange?: FileManagerOnChange<FileManagerFileItem[]>;\n render?: MultiFileRenderProp;\n };\n\nexport type FileManagerProps = {\n accept?: Array<string>;\n images?: boolean;\n maxSize?: number | string;\n /**\n * @deprecated This prop is no longer used. The file structure was reduced to a bare minimum so picking is no longer necessary.\n */\n onChangePick?: string[];\n onClose?: () => void;\n onUploadCompletion?: (files: FileManagerFileItem[]) => void;\n own?: boolean;\n scope?: string;\n tags?: Array<string>;\n /**\n * @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.\n */\n children?: (params: DeprecatedFileManagerRenderPropParams) => React.ReactNode;\n} & MultipleProps;\n\nfunction getPortalTarget() {\n let target = window.document.getElementById(\"file-manager-container\");\n if (!target) {\n target = document.createElement(\"div\");\n target.setAttribute(\"id\", \"file-manager-container\");\n document.body && document.body.appendChild(target);\n }\n return target;\n}\n\n// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!\ntype DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;\n\nexport type FileManagerRendererProps = DistributiveOmit<FileManagerProps, \"render\" | \"children\">;\n\nexport const FileManagerRenderer = makeComposable<FileManagerRendererProps>(\"FileManagerRenderer\");\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n children,\n render,\n onChange,\n ...rest\n}) => {\n const containerRef = useRef<HTMLElement>(getPortalTarget());\n const [show, setShow] = useState(false);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const showFileManager = useCallback(onChange => {\n if (typeof onChange === \"function\") {\n onChangeRef.current = onChange;\n }\n setShow(true);\n }, []);\n\n return (\n <>\n {show &&\n ReactDOM.createPortal(\n <FileManagerRenderer\n onClose={() => setShow(false)}\n onChange={\n /* TODO: figure out how to create a conditional type based on the value of `rest.multiple` */\n onChangeRef.current as any\n }\n {...rest}\n />,\n containerRef.current\n )}\n {children ? children({ showFileManager }) : render ? render({ showFileManager }) : null}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAA2D;AA4E3D,SAASA,eAAe,GAAG;EACvB,IAAIC,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACC,cAAc,CAAC,wBAAwB,CAAC;EACrE,IAAI,CAACH,MAAM,EAAE;IACTA,MAAM,GAAGE,QAAQ,CAACE,aAAa,CAAC,KAAK,CAAC;IACtCJ,MAAM,CAACK,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACnDH,QAAQ,CAACI,IAAI,IAAIJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACP,MAAM,CAAC;EACtD;EACA,OAAOA,MAAM;AACjB;;AAEA;;AAKO,IAAMQ,mBAAmB,GAAG,IAAAC,gCAAc,EAA2B,qBAAqB,CAAC;AAAC;AAE5F,IAAMC,WAAuC,GAAG,SAA1CA,WAAuC,OAK9C;EAAA,IAJFC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACNC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEP,IAAMC,YAAY,GAAG,IAAAC,aAAM,EAAcjB,eAAe,EAAE,CAAC;EAC3D,gBAAwB,IAAAkB,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAhCC,IAAI;IAAEC,OAAO;EACpB,IAAMC,WAAW,GAAG,IAAAJ,aAAM,EAACH,QAAQ,CAAC;EAEpC,IAAAQ,gBAAS,EAAC,YAAM;IACZD,WAAW,CAACE,OAAO,GAAGT,QAAQ;EAClC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMU,eAAe,GAAG,IAAAC,kBAAW,EAAC,UAAAX,QAAQ,EAAI;IAC5C,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;MAChCO,WAAW,CAACE,OAAO,GAAGT,QAAQ;IAClC;IACAM,OAAO,CAAC,IAAI,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACI,4DACKD,IAAI,iBACDO,iBAAQ,CAACC,YAAY,eACjB,6BAAC,mBAAmB;IAChB,OAAO,EAAE;MAAA,OAAMP,OAAO,CAAC,KAAK,CAAC;IAAA,CAAC;IAC9B,QAAQ,EACJ;IACAC,WAAW,CAACE;EACf,GACGR,IAAI,EACV,EACFC,YAAY,CAACO,OAAO,CACvB,EACJX,QAAQ,GAAGA,QAAQ,CAAC;IAAEY,eAAe,EAAfA;EAAgB,CAAC,CAAC,GAAGX,MAAM,GAAGA,MAAM,CAAC;IAAEW,eAAe,EAAfA;EAAgB,CAAC,CAAC,GAAG,IAAI,CACxF;AAEX,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_reactComposition","_excluded","getPortalTarget","target","window","document","getElementById","createElement","setAttribute","body","appendChild","FileManagerRenderer","makeComposable","exports","FileManager","_ref","_rest$show","children","render","onChange","rest","_objectWithoutProperties2","default","containerRef","useRef","_useState","useState","show","_useState2","_slicedToArray2","setShow","onChangeRef","useEffect","current","showFileManager","useCallback","Fragment","ReactDOM","createPortal","Object","assign","onClose"],"sources":["FileManager.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { makeComposable } from \"@webiny/react-composition\";\n\nexport interface FileManagerOnChange<T> {\n (value: T): void;\n}\n\n/**\n * Represents a file object managed by the File Manager.\n */\nexport interface FileManagerFileItem {\n id: string;\n src: string;\n meta?: Array<FileManagerFileItemMetaItem>;\n}\n\n/**\n * With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.\n */\nexport interface FileManagerFileItemMetaItem {\n key: string;\n value: any;\n}\n\nexport type DeprecatedFileManagerRenderPropParams = {\n showFileManager: (\n onChange?: FileManagerOnChange<FileManagerFileItem | FileManagerFileItem[]>\n ) => void;\n};\n\nexport type FileManagerRenderPropParams<TValue> = {\n showFileManager: (onChange?: FileManagerOnChange<TValue>) => void;\n};\n\ninterface SingleFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;\n}\n\ninterface MultiFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;\n}\n\nexport type MultipleProps =\n | {\n multiple?: never;\n multipleMaxCount?: never;\n multipleMaxSize?: never;\n onChange?: FileManagerOnChange<FileManagerFileItem>;\n render?: SingleFileRenderProp;\n }\n | {\n multiple: true;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onChange?: FileManagerOnChange<FileManagerFileItem[]>;\n render?: MultiFileRenderProp;\n };\n\nexport type FileManagerProps = {\n accept?: Array<string>;\n images?: boolean;\n maxSize?: number | string;\n /**\n * @deprecated This prop is no longer used. The file structure was reduced to a bare minimum so picking is no longer necessary.\n */\n onChangePick?: string[];\n onClose?: () => void;\n onUploadCompletion?: (files: FileManagerFileItem[]) => void;\n own?: boolean;\n scope?: string;\n tags?: Array<string>;\n show?: boolean;\n /**\n * @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.\n */\n children?: (params: DeprecatedFileManagerRenderPropParams) => React.ReactNode;\n} & MultipleProps;\n\nfunction getPortalTarget() {\n let target = window.document.getElementById(\"file-manager-container\");\n if (!target) {\n target = document.createElement(\"div\");\n target.setAttribute(\"id\", \"file-manager-container\");\n document.body && document.body.appendChild(target);\n }\n return target;\n}\n\n// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!\ntype DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;\n\nexport type FileManagerRendererProps = DistributiveOmit<FileManagerProps, \"render\" | \"children\">;\n\nexport const FileManagerRenderer = makeComposable<FileManagerRendererProps>(\"FileManagerRenderer\");\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n children,\n render,\n onChange,\n ...rest\n}) => {\n const containerRef = useRef<HTMLElement>(getPortalTarget());\n const [show, setShow] = useState(rest.show ?? false);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const showFileManager = useCallback(onChange => {\n if (typeof onChange === \"function\") {\n onChangeRef.current = onChange;\n }\n setShow(true);\n }, []);\n\n return (\n <>\n {show &&\n ReactDOM.createPortal(\n <FileManagerRenderer\n onClose={() => setShow(false)}\n onChange={\n /* TODO: figure out how to create a conditional type based on the value of `rest.multiple` */\n onChangeRef.current as any\n }\n {...rest}\n />,\n containerRef.current\n )}\n {children ? children({ showFileManager }) : render ? render({ showFileManager }) : null}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAA2D,IAAAI,SAAA;AAM3D;AACA;AACA;;AAOA;AACA;AACA;;AA4DA,SAASC,eAAeA,CAAA,EAAG;EACvB,IAAIC,MAAM,GAAGC,MAAM,CAACC,QAAQ,CAACC,cAAc,CAAC,wBAAwB,CAAC;EACrE,IAAI,CAACH,MAAM,EAAE;IACTA,MAAM,GAAGE,QAAQ,CAACE,aAAa,CAAC,KAAK,CAAC;IACtCJ,MAAM,CAACK,YAAY,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACnDH,QAAQ,CAACI,IAAI,IAAIJ,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACP,MAAM,CAAC;EACtD;EACA,OAAOA,MAAM;AACjB;;AAEA;;AAKO,IAAMQ,mBAAmB,GAAG,IAAAC,gCAAc,EAA2B,qBAAqB,CAAC;AAACC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA;AAE5F,IAAMG,WAAuC,GAAG,SAA1CA,WAAuCA,CAAAC,IAAA,EAK9C;EAAA,IAAAC,UAAA;EAAA,IAJFC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACLC,IAAI,OAAAC,yBAAA,CAAAC,OAAA,EAAAP,IAAA,EAAAd,SAAA;EAEP,IAAMsB,YAAY,GAAG,IAAAC,aAAM,EAActB,eAAe,CAAC,CAAC,CAAC;EAC3D,IAAAuB,SAAA,GAAwB,IAAAC,eAAQ,GAAAV,UAAA,GAACI,IAAI,CAACO,IAAI,cAAAX,UAAA,cAAAA,UAAA,GAAI,KAAK,CAAC;IAAAY,UAAA,OAAAC,eAAA,CAAAP,OAAA,EAAAG,SAAA;IAA7CE,IAAI,GAAAC,UAAA;IAAEE,OAAO,GAAAF,UAAA;EACpB,IAAMG,WAAW,GAAG,IAAAP,aAAM,EAACL,QAAQ,CAAC;EAEpC,IAAAa,gBAAS,EAAC,YAAM;IACZD,WAAW,CAACE,OAAO,GAAGd,QAAQ;EAClC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,IAAMe,eAAe,GAAG,IAAAC,kBAAW,EAAC,UAAAhB,QAAQ,EAAI;IAC5C,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;MAChCY,WAAW,CAACE,OAAO,GAAGd,QAAQ;IAClC;IACAW,OAAO,CAAC,IAAI,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACInC,MAAA,CAAA2B,OAAA,CAAAf,aAAA,CAAAZ,MAAA,CAAA2B,OAAA,CAAAc,QAAA,QACKT,IAAI,iBACDU,iBAAQ,CAACC,YAAY,eACjB3C,MAAA,CAAA2B,OAAA,CAAAf,aAAA,CAACI,mBAAmB,EAAA4B,MAAA,CAAAC,MAAA;IAChBC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAMX,OAAO,CAAC,KAAK,CAAC;IAAA,CAAC;IAC9BX,QAAQ,EACJ;IACAY,WAAW,CAACE;EACf,GACGb,IAAI,CACX,CAAC,EACFG,YAAY,CAACU,OACjB,CAAC,EACJhB,QAAQ,GAAGA,QAAQ,CAAC;IAAEiB,eAAe,EAAfA;EAAgB,CAAC,CAAC,GAAGhB,MAAM,GAAGA,MAAM,CAAC;IAAEgB,eAAe,EAAfA;EAAgB,CAAC,CAAC,GAAG,IACrF,CAAC;AAEX,CAAC;AAACrB,OAAA,CAAAC,WAAA,GAAAA,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Layout","makeComposable","children","props","LayoutRenderer"],"sources":["Layout.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface LayoutProps {\n title?: string;\n children: React.ReactNode;\n}\n\nexport const Layout = makeComposable<LayoutProps>(\"Layout\", ({ children, ...props }) => {\n return <LayoutRenderer {...props}>{children}</LayoutRenderer>;\n});\n\nexport const LayoutRenderer = makeComposable<LayoutProps>(\"LayoutRenderer\");\n"],"mappings":";;;;;;;;AAAA;AACA;AAA6C;AAOtC,IAAMA,MAAM,GAAG,IAAAC,mBAAc,EAAc,QAAQ,EAAE,gBAA4B;EAAA,IAAzBC,QAAQ,QAARA,QAAQ;IAAKC,KAAK;EAC7E,oBAAO,6BAAC,cAAc,EAAKA,KAAK,EAAGD,QAAQ,CAAkB;AACjE,CAAC,CAAC;AAAC;AAEI,IAAME,cAAc,GAAG,IAAAH,mBAAc,EAAc,gBAAgB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","_excluded","Layout","makeComposable","_ref","children","props","_objectWithoutProperties2","default","createElement","LayoutRenderer","exports"],"sources":["Layout.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface LayoutProps {\n title?: string;\n children: React.ReactNode;\n}\n\nexport const Layout = makeComposable<LayoutProps>(\"Layout\", ({ children, ...props }) => {\n return <LayoutRenderer {...props}>{children}</LayoutRenderer>;\n});\n\nexport const LayoutRenderer = makeComposable<LayoutProps>(\"LayoutRenderer\");\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAA6C,IAAAE,SAAA;AAOtC,IAAMC,MAAM,GAAG,IAAAC,mBAAc,EAAc,QAAQ,EAAE,UAAAC,IAAA,EAA4B;EAAA,IAAzBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAKC,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAJ,IAAA,EAAAH,SAAA;EAC7E,oBAAOJ,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACC,cAAc,EAAKJ,KAAK,EAAGD,QAAyB,CAAC;AACjE,CAAC,CAAC;AAACM,OAAA,CAAAT,MAAA,GAAAA,MAAA;AAEI,IAAMQ,cAAc,GAAG,IAAAP,mBAAc,EAAc,gBAAgB,CAAC;AAACQ,OAAA,CAAAD,cAAA,GAAAA,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["LocaleSelector","makeComposable","LocaleSelectorRenderer"],"sources":["LocaleSelector.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const LocaleSelector = makeComposable(\"LocaleSelector\", () => {\n return <LocaleSelectorRenderer />;\n});\n\nexport const LocaleSelectorRenderer = makeComposable(\"LocaleSelectorRenderer\");\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,cAAc,GAAG,IAAAC,mBAAc,EAAC,gBAAgB,EAAE,YAAM;EACjE,oBAAO,6BAAC,sBAAsB,OAAG;AACrC,CAAC,CAAC;AAAC;AAEI,IAAMC,sBAAsB,GAAG,IAAAD,mBAAc,EAAC,wBAAwB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","LocaleSelector","makeComposable","default","createElement","LocaleSelectorRenderer","exports"],"sources":["LocaleSelector.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const LocaleSelector = makeComposable(\"LocaleSelector\", () => {\n return <LocaleSelectorRenderer />;\n});\n\nexport const LocaleSelectorRenderer = makeComposable(\"LocaleSelectorRenderer\");\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,cAAc,GAAG,IAAAC,mBAAc,EAAC,gBAAgB,EAAE,YAAM;EACjE,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACC,sBAAsB,MAAE,CAAC;AACrC,CAAC,CAAC;AAACC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAEI,IAAMI,sBAAsB,GAAG,IAAAH,mBAAc,EAAC,wBAAwB,CAAC;AAACI,OAAA,CAAAD,sBAAA,GAAAA,sBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["LoginScreen","children","location","LoginScreenRenderer","makeComposable"],"sources":["LoginScreen.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\nimport { Tags } from \"./Tags\";\n\nexport interface LoginScreenProps {\n children: React.ReactNode;\n}\n\nexport const LoginScreen: React.FC<LoginScreenProps> = ({ children }) => {\n return (\n <Tags tags={{ location: \"loginScreen\" }}>\n <LoginScreenRenderer>{children}</LoginScreenRenderer>\n </Tags>\n );\n};\n\nexport const LoginScreenRenderer = makeComposable<LoginScreenProps>(\"LoginScreenRenderer\");\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAMO,IAAMA,WAAuC,GAAG,SAA1CA,WAAuC,OAAqB;EAAA,IAAfC,QAAQ,QAARA,QAAQ;EAC9D,oBACI,6BAAC,UAAI;IAAC,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAc;EAAE,gBACpC,6BAAC,mBAAmB,QAAED,QAAQ,CAAuB,CAClD;AAEf,CAAC;AAAC;AAEK,IAAME,mBAAmB,GAAG,IAAAC,mBAAc,EAAmB,qBAAqB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","_Tags","LoginScreen","_ref","children","default","createElement","Tags","tags","location","LoginScreenRenderer","exports","makeComposable"],"sources":["LoginScreen.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\nimport { Tags } from \"./Tags\";\n\nexport interface LoginScreenProps {\n children: React.ReactNode;\n}\n\nexport const LoginScreen: React.FC<LoginScreenProps> = ({ children }) => {\n return (\n <Tags tags={{ location: \"loginScreen\" }}>\n <LoginScreenRenderer>{children}</LoginScreenRenderer>\n </Tags>\n );\n};\n\nexport const LoginScreenRenderer = makeComposable<LoginScreenProps>(\"LoginScreenRenderer\");\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAMO,IAAMG,WAAuC,GAAG,SAA1CA,WAAuCA,CAAAC,IAAA,EAAqB;EAAA,IAAfC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;EAC9D,oBACIP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,KAAA,CAAAM,IAAI;IAACC,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAc;EAAE,gBACpCZ,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACI,mBAAmB,QAAEN,QAA8B,CAClD,CAAC;AAEf,CAAC;AAACO,OAAA,CAAAT,WAAA,GAAAA,WAAA;AAEK,IAAMQ,mBAAmB,GAAG,IAAAE,mBAAc,EAAmB,qBAAqB,CAAC;AAACD,OAAA,CAAAD,mBAAA,GAAAA,mBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["Logo","makeComposable","LogoRenderer","AddLogo","logo","LogoHOC","useMemo"],"sources":["Logo.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Compose, makeComposable } from \"@webiny/app\";\n\nexport const Logo = makeComposable(\"Logo\", () => {\n return <LogoRenderer />;\n});\n\nexport const LogoRenderer = makeComposable(\"LogoRenderer\");\n\ninterface AddLogoProps {\n logo: JSX.Element;\n}\n\nexport const AddLogo: React.FC<AddLogoProps> = ({ logo }) => {\n const LogoHOC = useMemo(() => {\n return () => {\n return function Logo() {\n return logo;\n };\n };\n }, []);\n\n return <Compose component={LogoRenderer} with={LogoHOC} />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,IAAI,GAAG,IAAAC,mBAAc,EAAC,MAAM,EAAE,YAAM;EAC7C,oBAAO,6BAAC,YAAY,OAAG;AAC3B,CAAC,CAAC;AAAC;AAEI,IAAMC,YAAY,GAAG,IAAAD,mBAAc,EAAC,cAAc,CAAC;AAAC;AAMpD,IAAME,OAA+B,GAAG,SAAlCA,OAA+B,OAAiB;EAAA,IAAXC,IAAI,QAAJA,IAAI;EAClD,IAAMC,OAAO,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC1B,OAAO,YAAM;MACT,OAAO,SAASN,IAAI,GAAG;QACnB,OAAOI,IAAI;MACf,CAAC;IACL,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAO,6BAAC,YAAO;IAAC,SAAS,EAAEF,YAAa;IAAC,IAAI,EAAEG;EAAQ,EAAG;AAC9D,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_app","Logo","makeComposable","default","createElement","LogoRenderer","exports","AddLogo","_ref","logo","LogoHOC","useMemo","Compose","component","with"],"sources":["Logo.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { Compose, makeComposable } from \"@webiny/app\";\n\nexport const Logo = makeComposable(\"Logo\", () => {\n return <LogoRenderer />;\n});\n\nexport const LogoRenderer = makeComposable(\"LogoRenderer\");\n\ninterface AddLogoProps {\n logo: JSX.Element;\n}\n\nexport const AddLogo: React.FC<AddLogoProps> = ({ logo }) => {\n const LogoHOC = useMemo(() => {\n return () => {\n return function Logo() {\n return logo;\n };\n };\n }, []);\n\n return <Compose component={LogoRenderer} with={LogoHOC} />;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,IAAI,GAAG,IAAAC,mBAAc,EAAC,MAAM,EAAE,YAAM;EAC7C,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACC,YAAY,MAAE,CAAC;AAC3B,CAAC,CAAC;AAACC,OAAA,CAAAL,IAAA,GAAAA,IAAA;AAEI,IAAMI,YAAY,GAAG,IAAAH,mBAAc,EAAC,cAAc,CAAC;AAACI,OAAA,CAAAD,YAAA,GAAAA,YAAA;AAMpD,IAAME,OAA+B,GAAG,SAAlCA,OAA+BA,CAAAC,IAAA,EAAiB;EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EAClD,IAAMC,OAAO,GAAG,IAAAC,cAAO,EAAC,YAAM;IAC1B,OAAO,YAAM;MACT,OAAO,SAASV,IAAIA,CAAA,EAAG;QACnB,OAAOQ,IAAI;MACf,CAAC;IACL,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,oBAAOZ,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACJ,IAAA,CAAAY,OAAO;IAACC,SAAS,EAAER,YAAa;IAACS,IAAI,EAAEJ;EAAQ,CAAE,CAAC;AAC9D,CAAC;AAACJ,OAAA,CAAAC,OAAA,GAAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["MenuContext","createContext","undefined","displayName","useMenu","useContext","createEmptyMenu","name","tags","children","keys","mergeMenuItems","item1","item2","reduce","map","key","acc","menu","index","findIndex","i","push","AddMenu","props","navigation","useNavigation","useEffect","setMenu","existing","removeMenu","context","menuItem","childIndex","ch","slice","updater","subItems","filter","Boolean","defaultProps"],"sources":["Menu.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect } from \"react\";\nimport { useNavigation } from \"~/index\";\n\nexport interface MenuUpdater {\n (menuItem: MenuData | undefined | null): MenuData | undefined;\n}\n\nexport interface MenuContext {\n menuItem: MenuData | null;\n setMenu(id: string, updater: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst MenuContext = createContext<MenuContext | undefined>(undefined);\nMenuContext.displayName = \"MenuContext\";\n\nconst useMenu = () => {\n return useContext(MenuContext);\n};\n\nexport interface MenuProps {\n name: string;\n label?: string;\n path?: string;\n icon?: JSX.Element;\n onClick?: () => void;\n testId?: string;\n tags?: string[];\n target?: string;\n rel?: string;\n element?: JSX.Element;\n children?: React.ReactNode | React.ReactNode[];\n pin?: \"first\" | \"last\";\n}\n\nexport interface MenuData extends MenuProps {\n children: MenuData[];\n}\n\nexport const createEmptyMenu = (name: string): MenuData => {\n return {\n name,\n tags: [],\n children: []\n };\n};\n\nconst keys: (keyof MenuData)[] = [\n \"label\",\n \"path\",\n \"icon\",\n \"onClick\",\n \"testId\",\n \"tags\",\n \"target\",\n \"rel\",\n \"element\",\n \"pin\"\n];\n\nconst mergeMenuItems = (item1: MenuData, item2: MenuData): MenuData => {\n return {\n ...item1,\n ...keys.reduce((map, key) => ({ ...map, [key]: item2[key] ?? item1[key] }), {}),\n children: (item2.children || []).reduce(\n (acc, menu) => {\n const index = acc.findIndex(i => i.name === menu.name);\n if (index > -1) {\n acc[index] = mergeMenuItems(acc[index], menu);\n } else {\n acc.push(menu);\n }\n return acc;\n },\n [...item1.children]\n )\n };\n};\n\n/**\n * Register a new menu item into the Admin app.\n */\nexport const AddMenu: React.FC<MenuProps> = ({ children, ...props }) => {\n const menu = useMenu();\n const navigation = useNavigation();\n\n useEffect(() => {\n if (menu) {\n menu.setMenu(props.name, existing => {\n if (!existing) {\n return { ...props, children: [] } as MenuData;\n }\n\n return mergeMenuItems(existing, props as MenuData);\n });\n } else {\n navigation.setMenu(props.name, existing => {\n /**\n * We return props because this will break otherwise.\n * TODO @pavel check if this is correct\n */\n if (!existing) {\n return props as MenuData;\n }\n return mergeMenuItems(existing, props as MenuData);\n });\n }\n\n return () => {\n if (menu) {\n menu.removeMenu(props.name);\n } else {\n navigation.removeMenu(props.name);\n }\n };\n }, []);\n\n const context: MenuContext = {\n menuItem: { ...props, children: [] },\n removeMenu(name) {\n (menu || navigation).setMenu(props.name, existing => {\n if (!existing) {\n return undefined;\n }\n\n const childIndex = existing.children.findIndex(ch => ch.name === name);\n if (childIndex > -1) {\n return {\n ...existing,\n children: [\n ...existing.children.slice(0, childIndex),\n ...existing.children.slice(childIndex + 1)\n ]\n };\n }\n\n return existing;\n });\n },\n setMenu(name: string, updater: MenuUpdater) {\n (menu || navigation).setMenu(props.name, existing => {\n if (!existing) {\n existing = createEmptyMenu(props.name);\n }\n\n const subItems = existing.children;\n\n const childIndex = subItems.findIndex(ch => ch.name === name);\n if (childIndex === -1) {\n return {\n ...existing,\n children: [...subItems, updater(null)].filter(Boolean) as MenuData[]\n };\n }\n\n return {\n ...existing,\n children: [\n ...subItems.slice(0, childIndex),\n updater(subItems[childIndex]),\n ...subItems.slice(childIndex + 1)\n ].filter(Boolean) as MenuData[]\n };\n });\n }\n };\n\n if (!children) {\n return null;\n }\n\n return <MenuContext.Provider value={context}>{children}</MenuContext.Provider>;\n};\n\nAddMenu.defaultProps = { tags: [] };\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_","_excluded","MenuContext","createContext","undefined","displayName","useMenu","useContext","createEmptyMenu","name","tags","children","exports","keys","mergeMenuItems","item1","item2","_objectSpread3","default","reduce","map","key","_item2$key","_defineProperty2","acc","menu","index","findIndex","i","push","_toConsumableArray2","AddMenu","_ref","props","_objectWithoutProperties2","navigation","useNavigation","useEffect","setMenu","existing","removeMenu","context","menuItem","childIndex","ch","concat","slice","updater","subItems","filter","Boolean","createElement","Provider","value","defaultProps"],"sources":["Menu.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect } from \"react\";\nimport { useNavigation } from \"~/index\";\n\nexport interface MenuUpdater {\n (menuItem: MenuData | undefined | null): MenuData | undefined;\n}\n\nexport interface MenuContext {\n menuItem: MenuData | null;\n setMenu(id: string, updater: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst MenuContext = createContext<MenuContext | undefined>(undefined);\nMenuContext.displayName = \"MenuContext\";\n\nconst useMenu = () => {\n return useContext(MenuContext);\n};\n\nexport interface MenuProps {\n name: string;\n label?: string;\n path?: string;\n icon?: JSX.Element;\n onClick?: () => void;\n testId?: string;\n tags?: string[];\n target?: string;\n rel?: string;\n element?: JSX.Element;\n children?: React.ReactNode | React.ReactNode[];\n pin?: \"first\" | \"last\";\n}\n\nexport interface MenuData extends MenuProps {\n children: MenuData[];\n}\n\nexport const createEmptyMenu = (name: string): MenuData => {\n return {\n name,\n tags: [],\n children: []\n };\n};\n\nconst keys: (keyof MenuData)[] = [\n \"label\",\n \"path\",\n \"icon\",\n \"onClick\",\n \"testId\",\n \"tags\",\n \"target\",\n \"rel\",\n \"element\",\n \"pin\"\n];\n\nconst mergeMenuItems = (item1: MenuData, item2: MenuData): MenuData => {\n return {\n ...item1,\n ...keys.reduce((map, key) => ({ ...map, [key]: item2[key] ?? item1[key] }), {}),\n children: (item2.children || []).reduce(\n (acc, menu) => {\n const index = acc.findIndex(i => i.name === menu.name);\n if (index > -1) {\n acc[index] = mergeMenuItems(acc[index], menu);\n } else {\n acc.push(menu);\n }\n return acc;\n },\n [...item1.children]\n )\n };\n};\n\n/**\n * Register a new menu item into the Admin app.\n */\nexport const AddMenu: React.FC<MenuProps> = ({ children, ...props }) => {\n const menu = useMenu();\n const navigation = useNavigation();\n\n useEffect(() => {\n if (menu) {\n menu.setMenu(props.name, existing => {\n if (!existing) {\n return { ...props, children: [] } as MenuData;\n }\n\n return mergeMenuItems(existing, props as MenuData);\n });\n } else {\n navigation.setMenu(props.name, existing => {\n /**\n * We return props because this will break otherwise.\n * TODO @pavel check if this is correct\n */\n if (!existing) {\n return props as MenuData;\n }\n return mergeMenuItems(existing, props as MenuData);\n });\n }\n\n return () => {\n if (menu) {\n menu.removeMenu(props.name);\n } else {\n navigation.removeMenu(props.name);\n }\n };\n }, []);\n\n const context: MenuContext = {\n menuItem: { ...props, children: [] },\n removeMenu(name) {\n (menu || navigation).setMenu(props.name, existing => {\n if (!existing) {\n return undefined;\n }\n\n const childIndex = existing.children.findIndex(ch => ch.name === name);\n if (childIndex > -1) {\n return {\n ...existing,\n children: [\n ...existing.children.slice(0, childIndex),\n ...existing.children.slice(childIndex + 1)\n ]\n };\n }\n\n return existing;\n });\n },\n setMenu(name: string, updater: MenuUpdater) {\n (menu || navigation).setMenu(props.name, existing => {\n if (!existing) {\n existing = createEmptyMenu(props.name);\n }\n\n const subItems = existing.children;\n\n const childIndex = subItems.findIndex(ch => ch.name === name);\n if (childIndex === -1) {\n return {\n ...existing,\n children: [...subItems, updater(null)].filter(Boolean) as MenuData[]\n };\n }\n\n return {\n ...existing,\n children: [\n ...subItems.slice(0, childIndex),\n updater(subItems[childIndex]),\n ...subItems.slice(childIndex + 1)\n ].filter(Boolean) as MenuData[]\n };\n });\n }\n };\n\n if (!children) {\n return null;\n }\n\n return <MenuContext.Provider value={context}>{children}</MenuContext.Provider>;\n};\n\nAddMenu.defaultProps = { tags: [] };\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","createContext","menuItems","setMenu","removeMenu","displayName","useNavigation","useContext","LegacyMenu","props","name","nanoid","label","children","LegacyMenuPlugins","useState","menus","setMenus","useEffect","menuPlugins","plugins","byType","menuElements","map","plugin","render","Menu","Item","Section","NavigationProvider","Component","setState","id","updater","state","index","findIndex","m","newMenu","createEmptyMenu","slice","useCallback","context","useMemo","Navigation","location","NavigationRenderer","makeComposable","MenuItemContext","React","menuItem","undefined","depth","useMenuItem","MenuItems","MenuItem","MenuItemRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React, {\n Fragment,\n useEffect,\n createContext,\n useCallback,\n useMemo,\n useState,\n useContext\n} from \"react\";\nimport { nanoid } from \"nanoid\";\nimport { makeComposable, Plugins } from \"@webiny/app\";\nimport { MenuData, MenuProps, AddMenu as Menu, Tags, MenuUpdater, createEmptyMenu } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { ItemProps, SectionProps } from \"~/plugins/MenuPlugin\";\n\nexport interface NavigationContext {\n menuItems: MenuData[];\n setMenu(id: string, update: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst NavigationContext = createContext<NavigationContext>({\n menuItems: [],\n setMenu: () => {\n return void 0;\n },\n removeMenu: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!\n// It is not a public component, and is not even exported from this file. We need it to take care of\n// scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).\nconst LegacyMenu: React.FC<MenuProps | SectionProps | ItemProps> = props => {\n return (\n <Menu {...props} name={(props as MenuProps).name || nanoid()} label={props.label as string}>\n {props.children}\n </Menu>\n );\n};\n\nconst LegacyMenuPlugins: React.FC = () => {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const [menus, setMenus] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const menuElements = menuPlugins.map(plugin => {\n // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC\n return (\n <Plugins key={plugin.name}>\n {plugin.render({\n Menu: LegacyMenu as React.FC,\n Item: LegacyMenu as React.FC,\n Section: LegacyMenu as React.FC\n })}\n </Plugins>\n );\n });\n // TODO @ts-refactor\n setMenus(menuElements as any);\n }, []);\n\n return menus;\n};\n\nexport const NavigationProvider = (Component: React.ComponentType<unknown>): React.FC => {\n return function NavigationProvider({ children }) {\n const [menuItems, setState] = useState<MenuData[]>([]);\n\n const setMenu = (id: string, updater: MenuUpdater): void => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n const newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));\n if (!newMenu) {\n return [...state];\n }\n if (!newMenu.children) {\n newMenu.children = [];\n }\n\n return index > -1\n ? [...state.slice(0, index), newMenu, ...state.slice(index + 1)]\n : [...state, newMenu];\n });\n };\n const removeMenu = useCallback(\n id => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n if (index < 0) {\n return state;\n }\n\n return [...state.slice(0, index), ...state.slice(index + 1)];\n });\n },\n [setState]\n );\n\n const context = useMemo<NavigationContext>(\n () => ({\n menuItems,\n setMenu,\n removeMenu\n }),\n [menuItems, setMenu, removeMenu]\n );\n\n return (\n <NavigationContext.Provider value={context}>\n <LegacyMenuPlugins />\n <Component>{children}</Component>\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n};\n\nexport const NavigationRenderer = makeComposable(\"NavigationRenderer\");\n\ninterface MenuItemContext {\n menuItem?: MenuData;\n depth: number;\n}\n\nconst MenuItemContext = React.createContext<MenuItemContext>({\n menuItem: undefined,\n depth: -1\n});\nMenuItemContext.displayName = \"MenuItemContext\";\n\nexport function useMenuItem() {\n return React.useContext(MenuItemContext);\n}\n\nexport interface MenuItemsProps {\n menuItems: MenuData[];\n}\n\nexport const MenuItems = makeComposable<MenuItemsProps>(\"MenuItems\", ({ menuItems }) => {\n const menuItem = useMenuItem();\n\n const depth = menuItem ? menuItem.depth : -1;\n\n return (\n <Fragment>\n {menuItems.map(menuItem => (\n <MenuItemContext.Provider\n key={menuItem.name}\n value={{ menuItem, depth: depth + 1 }}\n >\n <MenuItem />\n </MenuItemContext.Provider>\n ))}\n </Fragment>\n );\n});\n\nexport const MenuItem: React.FC = () => {\n return <MenuItemRenderer />;\n};\n\nexport const MenuItemRenderer = makeComposable(\"MenuItemRenderer\");\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_nanoid","_app","_","_plugins","NavigationContext","createContext","menuItems","setMenu","removeMenu","displayName","useNavigation","useContext","LegacyMenu","props","default","createElement","AddMenu","Object","assign","name","nanoid","label","children","LegacyMenuPlugins","_useState","useState","_useState2","_slicedToArray2","menus","setMenus","useEffect","menuPlugins","plugins","byType","menuElements","map","plugin","Plugins","key","render","Menu","Item","Section","NavigationProvider","Component","_ref","_useState3","_useState4","setState","id","updater","state","index","findIndex","m","newMenu","createEmptyMenu","_toConsumableArray2","concat","slice","useCallback","context","useMemo","Provider","value","exports","Navigation","Tags","tags","location","NavigationRenderer","makeComposable","MenuItemContext","React","menuItem","undefined","depth","useMenuItem","MenuItems","_ref2","Fragment","MenuItem","MenuItemRenderer"],"sources":["Navigation.tsx"],"sourcesContent":["import React, {\n Fragment,\n useEffect,\n createContext,\n useCallback,\n useMemo,\n useState,\n useContext\n} from \"react\";\nimport { nanoid } from \"nanoid\";\nimport { makeComposable, Plugins } from \"@webiny/app\";\nimport { MenuData, MenuProps, AddMenu as Menu, Tags, MenuUpdater, createEmptyMenu } from \"~/index\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AdminMenuPlugin } from \"~/types\";\nimport { ItemProps, SectionProps } from \"~/plugins/MenuPlugin\";\n\nexport interface NavigationContext {\n menuItems: MenuData[];\n setMenu(id: string, update: MenuUpdater): void;\n removeMenu(id: string): void;\n}\n\nconst NavigationContext = createContext<NavigationContext>({\n menuItems: [],\n setMenu: () => {\n return void 0;\n },\n removeMenu: () => {\n return void 0;\n }\n});\nNavigationContext.displayName = \"NavigationContext\";\n\nexport function useNavigation() {\n return useContext(NavigationContext);\n}\n\n// IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!\n// It is not a public component, and is not even exported from this file. We need it to take care of\n// scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).\nconst LegacyMenu: React.FC<MenuProps | SectionProps | ItemProps> = props => {\n return (\n <Menu {...props} name={(props as MenuProps).name || nanoid()} label={props.label as string}>\n {props.children}\n </Menu>\n );\n};\n\nconst LegacyMenuPlugins: React.FC = () => {\n // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!\n const [menus, setMenus] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n const menuPlugins = plugins.byType<AdminMenuPlugin>(\"admin-menu\");\n if (!menuPlugins) {\n return;\n }\n\n const menuElements = menuPlugins.map(plugin => {\n // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC\n return (\n <Plugins key={plugin.name}>\n {plugin.render({\n Menu: LegacyMenu as React.FC,\n Item: LegacyMenu as React.FC,\n Section: LegacyMenu as React.FC\n })}\n </Plugins>\n );\n });\n // TODO @ts-refactor\n setMenus(menuElements as any);\n }, []);\n\n return menus;\n};\n\nexport const NavigationProvider = (Component: React.ComponentType<unknown>): React.FC => {\n return function NavigationProvider({ children }) {\n const [menuItems, setState] = useState<MenuData[]>([]);\n\n const setMenu = (id: string, updater: MenuUpdater): void => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n const newMenu = index > -1 ? updater(state[index]) : updater(createEmptyMenu(id));\n if (!newMenu) {\n return [...state];\n }\n if (!newMenu.children) {\n newMenu.children = [];\n }\n\n return index > -1\n ? [...state.slice(0, index), newMenu, ...state.slice(index + 1)]\n : [...state, newMenu];\n });\n };\n const removeMenu = useCallback(\n id => {\n setState(state => {\n const index = state.findIndex(m => m.name === id);\n\n if (index < 0) {\n return state;\n }\n\n return [...state.slice(0, index), ...state.slice(index + 1)];\n });\n },\n [setState]\n );\n\n const context = useMemo<NavigationContext>(\n () => ({\n menuItems,\n setMenu,\n removeMenu\n }),\n [menuItems, setMenu, removeMenu]\n );\n\n return (\n <NavigationContext.Provider value={context}>\n <LegacyMenuPlugins />\n <Component>{children}</Component>\n </NavigationContext.Provider>\n );\n };\n};\n\nexport const Navigation: React.FC = () => {\n return (\n <Tags tags={{ location: \"navigation\" }}>\n <NavigationRenderer />\n </Tags>\n );\n};\n\nexport const NavigationRenderer = makeComposable(\"NavigationRenderer\");\n\ninterface MenuItemContext {\n menuItem?: MenuData;\n depth: number;\n}\n\nconst MenuItemContext = React.createContext<MenuItemContext>({\n menuItem: undefined,\n depth: -1\n});\nMenuItemContext.displayName = \"MenuItemContext\";\n\nexport function useMenuItem() {\n return React.useContext(MenuItemContext);\n}\n\nexport interface MenuItemsProps {\n menuItems: MenuData[];\n}\n\nexport const MenuItems = makeComposable<MenuItemsProps>(\"MenuItems\", ({ menuItems }) => {\n const menuItem = useMenuItem();\n\n const depth = menuItem ? menuItem.depth : -1;\n\n return (\n <Fragment>\n {menuItems.map(menuItem => (\n <MenuItemContext.Provider\n key={menuItem.name}\n value={{ menuItem, depth: depth + 1 }}\n >\n <MenuItem />\n </MenuItemContext.Provider>\n ))}\n </Fragment>\n );\n});\n\nexport const MenuItem: React.FC = () => {\n return <MenuItemRenderer />;\n};\n\nexport const MenuItemRenderer = makeComposable(\"MenuItemRenderer\");\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["NotFound","makeComposable","NotFoundRenderer"],"sources":["NotFound.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const NotFound = makeComposable(\"NotFound\", () => {\n return <NotFoundRenderer />;\n});\n\nexport const NotFoundRenderer = makeComposable(\"NotFoundRenderer\");\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,IAAMA,QAAQ,GAAG,IAAAC,mBAAc,EAAC,UAAU,EAAE,YAAM;EACrD,oBAAO,6BAAC,gBAAgB,OAAG;AAC/B,CAAC,CAAC;AAAC;AAEI,IAAMC,gBAAgB,GAAG,IAAAD,mBAAc,EAAC,kBAAkB,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_app","NotFound","makeComposable","default","createElement","NotFoundRenderer","exports"],"sources":["NotFound.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport const NotFound = makeComposable(\"NotFound\", () => {\n return <NotFoundRenderer />;\n});\n\nexport const NotFoundRenderer = makeComposable(\"NotFoundRenderer\");\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEO,IAAME,QAAQ,GAAG,IAAAC,mBAAc,EAAC,UAAU,EAAE,YAAM;EACrD,oBAAOL,MAAA,CAAAM,OAAA,CAAAC,aAAA,CAACC,gBAAgB,MAAE,CAAC;AAC/B,CAAC,CAAC;AAACC,OAAA,CAAAL,QAAA,GAAAA,QAAA;AAEI,IAAMI,gBAAgB,GAAG,IAAAH,mBAAc,EAAC,kBAAkB,CAAC;AAACI,OAAA,CAAAD,gBAAA,GAAAA,gBAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["SearchContext","React","createContext","options","addOption","displayName","useSearch","useContext","SearchProvider","Component","children","props","useState","setOptions","useCallback","option","context","Search","makeComposable","SearchRenderer","SearchOption","useEffect"],"sources":["Search.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface SearchOptionData {\n route: string;\n label: string;\n search?: {\n operator?: \"and\" | \"or\";\n fields?: Array<string>;\n };\n}\n\nexport interface SearchContext {\n options: SearchOptionData[];\n addOption(option: SearchOptionData): void;\n}\n\nconst SearchContext = React.createContext<SearchContext>({\n options: [],\n addOption: () => {\n return void 0;\n }\n});\nSearchContext.displayName = \"SearchContext\";\n\nexport function useSearch() {\n return React.useContext(SearchContext);\n}\n\nexport const SearchProvider = (Component: React.FC): React.FC => {\n return function SearchProvider({ children, ...props }) {\n const [options, setOptions] = useState<SearchOptionData[]>([]);\n\n const addOption = useCallback<SearchContext[\"addOption\"]>(\n option => setOptions(options => [...options, option]),\n [setOptions]\n );\n\n const context = {\n options,\n addOption\n };\n\n return (\n <SearchContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </SearchContext.Provider>\n );\n };\n};\n\nexport const Search = makeComposable(\"Search\", () => {\n return <SearchRenderer />;\n});\n\nexport const SearchRenderer = makeComposable(\"SearchRenderer\");\n\nexport type SearchOptionProps = SearchOptionData;\n\nexport const SearchOption: React.FC<SearchOptionProps> = props => {\n const { addOption } = useSearch();\n\n useEffect(() => {\n addOption(props);\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AAA6C;AAgB7C,IAAMA,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAgB;EACrDC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,qBAAM;IACb,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFJ,aAAa,CAACK,WAAW,GAAG,eAAe;AAEpC,SAASC,SAAS,GAAG;EACxB,OAAOL,cAAK,CAACM,UAAU,CAACP,aAAa,CAAC;AAC1C;AAEO,IAAMQ,cAAc,GAAG,SAAjBA,cAAc,CAAIC,SAAmB,EAAe;EAC7D,OAAO,SAASD,cAAc,OAAyB;IAAA,IAAtBE,QAAQ,QAARA,QAAQ;MAAKC,KAAK;IAC/C,gBAA8B,IAAAC,eAAQ,EAAqB,EAAE,CAAC;MAAA;MAAvDT,OAAO;MAAEU,UAAU;IAE1B,IAAMT,SAAS,GAAG,IAAAU,kBAAW,EACzB,UAAAC,MAAM;MAAA,OAAIF,UAAU,CAAC,UAAAV,OAAO;QAAA,kDAAQA,OAAO,IAAEY,MAAM;MAAA,CAAC,CAAC;IAAA,GACrD,CAACF,UAAU,CAAC,CACf;IAED,IAAMG,OAAO,GAAG;MACZb,OAAO,EAAPA,OAAO;MACPC,SAAS,EAATA;IACJ,CAAC;IAED,oBACI,6BAAC,aAAa,CAAC,QAAQ;MAAC,KAAK,EAAEY;IAAQ,gBACnC,6BAAC,SAAS,EAAKL,KAAK,EAAGD,QAAQ,CAAa,CACvB;EAEjC,CAAC;AACL,CAAC;AAAC;AAEK,IAAMO,MAAM,GAAG,IAAAC,mBAAc,EAAC,QAAQ,EAAE,YAAM;EACjD,oBAAO,6BAAC,cAAc,OAAG;AAC7B,CAAC,CAAC;AAAC;AAEI,IAAMC,cAAc,GAAG,IAAAD,mBAAc,EAAC,gBAAgB,CAAC;AAAC;AAIxD,IAAME,YAAyC,GAAG,SAA5CA,YAAyC,CAAGT,KAAK,EAAI;EAC9D,iBAAsBL,SAAS,EAAE;IAAzBF,SAAS,cAATA,SAAS;EAEjB,IAAAiB,gBAAS,EAAC,YAAM;IACZjB,SAAS,CAACO,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_app","_excluded","SearchContext","React","createContext","options","addOption","displayName","useSearch","useContext","SearchProvider","Component","_ref","children","props","_objectWithoutProperties2","default","_useState","useState","_useState2","_slicedToArray2","setOptions","useCallback","option","concat","_toConsumableArray2","context","createElement","Provider","value","exports","Search","makeComposable","SearchRenderer","SearchOption","_useSearch","useEffect"],"sources":["Search.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface SearchOptionData {\n route: string;\n label: string;\n search?: {\n operator?: \"and\" | \"or\";\n fields?: Array<string>;\n };\n}\n\nexport interface SearchContext {\n options: SearchOptionData[];\n addOption(option: SearchOptionData): void;\n}\n\nconst SearchContext = React.createContext<SearchContext>({\n options: [],\n addOption: () => {\n return void 0;\n }\n});\nSearchContext.displayName = \"SearchContext\";\n\nexport function useSearch() {\n return React.useContext(SearchContext);\n}\n\nexport const SearchProvider = (Component: React.FC): React.FC => {\n return function SearchProvider({ children, ...props }) {\n const [options, setOptions] = useState<SearchOptionData[]>([]);\n\n const addOption = useCallback<SearchContext[\"addOption\"]>(\n option => setOptions(options => [...options, option]),\n [setOptions]\n );\n\n const context = {\n options,\n addOption\n };\n\n return (\n <SearchContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </SearchContext.Provider>\n );\n };\n};\n\nexport const Search = makeComposable(\"Search\", () => {\n return <SearchRenderer />;\n});\n\nexport const SearchRenderer = makeComposable(\"SearchRenderer\");\n\nexport type SearchOptionProps = SearchOptionData;\n\nexport const SearchOption: React.FC<SearchOptionProps> = props => {\n const { addOption } = useSearch();\n\n useEffect(() => {\n addOption(props);\n }, []);\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAA6C,IAAAE,SAAA;AAgB7C,IAAMC,aAAa,gBAAGC,cAAK,CAACC,aAAa,CAAgB;EACrDC,OAAO,EAAE,EAAE;EACXC,SAAS,EAAE,SAAAA,UAAA,EAAM;IACb,OAAO,KAAK,CAAC;EACjB;AACJ,CAAC,CAAC;AACFJ,aAAa,CAACK,WAAW,GAAG,eAAe;AAEpC,SAASC,SAASA,CAAA,EAAG;EACxB,OAAOL,cAAK,CAACM,UAAU,CAACP,aAAa,CAAC;AAC1C;AAEO,IAAMQ,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,SAAmB,EAAe;EAC7D,OAAO,SAASD,cAAcA,CAAAE,IAAA,EAAyB;IAAA,IAAtBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAKC,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAJ,IAAA,EAAAX,SAAA;IAC/C,IAAAgB,SAAA,GAA8B,IAAAC,eAAQ,EAAqB,EAAE,CAAC;MAAAC,UAAA,OAAAC,eAAA,CAAAJ,OAAA,EAAAC,SAAA;MAAvDZ,OAAO,GAAAc,UAAA;MAAEE,UAAU,GAAAF,UAAA;IAE1B,IAAMb,SAAS,GAAG,IAAAgB,kBAAW,EACzB,UAAAC,MAAM;MAAA,OAAIF,UAAU,CAAC,UAAAhB,OAAO;QAAA,UAAAmB,MAAA,KAAAC,mBAAA,CAAAT,OAAA,EAAQX,OAAO,IAAEkB,MAAM;MAAA,CAAC,CAAC;IAAA,GACrD,CAACF,UAAU,CACf,CAAC;IAED,IAAMK,OAAO,GAAG;MACZrB,OAAO,EAAPA,OAAO;MACPC,SAAS,EAATA;IACJ,CAAC;IAED,oBACIT,MAAA,CAAAmB,OAAA,CAAAW,aAAA,CAACzB,aAAa,CAAC0B,QAAQ;MAACC,KAAK,EAAEH;IAAQ,gBACnC7B,MAAA,CAAAmB,OAAA,CAAAW,aAAA,CAAChB,SAAS,EAAKG,KAAK,EAAGD,QAAoB,CACvB,CAAC;EAEjC,CAAC;AACL,CAAC;AAACiB,OAAA,CAAApB,cAAA,GAAAA,cAAA;AAEK,IAAMqB,MAAM,GAAG,IAAAC,mBAAc,EAAC,QAAQ,EAAE,YAAM;EACjD,oBAAOnC,MAAA,CAAAmB,OAAA,CAAAW,aAAA,CAACM,cAAc,MAAE,CAAC;AAC7B,CAAC,CAAC;AAACH,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAEI,IAAME,cAAc,GAAG,IAAAD,mBAAc,EAAC,gBAAgB,CAAC;AAACF,OAAA,CAAAG,cAAA,GAAAA,cAAA;AAIxD,IAAMC,YAAyC,GAAG,SAA5CA,YAAyCA,CAAGpB,KAAK,EAAI;EAC9D,IAAAqB,UAAA,GAAsB3B,SAAS,CAAC,CAAC;IAAzBF,SAAS,GAAA6B,UAAA,CAAT7B,SAAS;EAEjB,IAAA8B,gBAAS,EAAC,YAAM;IACZ9B,SAAS,CAACQ,KAAK,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,IAAI;AACf,CAAC;AAACgB,OAAA,CAAAI,YAAA,GAAAA,YAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["TagsContext","createContext","displayName","Tags","tags","children","useTags","useContext"],"sources":["Tags.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\n\ntype TagsContext = Record<string, string | boolean>;\n\nconst TagsContext = createContext<TagsContext>({});\nTagsContext.displayName = \"TagsContext\";\n\ninterface TagsProps {\n tags: Record<string, string | boolean>;\n children: React.ReactNode;\n}\n\nexport const Tags: React.FC<TagsProps> = ({ tags, children }) => {\n return <TagsContext.Provider value={tags}>{children}</TagsContext.Provider>;\n};\n\nexport const useTags = () => {\n return useContext(TagsContext);\n};\n"],"mappings":";;;;;;;AAAA;AAIA,IAAMA,WAAW,gBAAG,IAAAC,oBAAa,EAAc,CAAC,CAAC,CAAC;AAClDD,WAAW,CAACE,WAAW,GAAG,aAAa;AAOhC,IAAMC,IAAyB,GAAG,SAA5BA,IAAyB,OAA2B;EAAA,IAArBC,IAAI,QAAJA,IAAI;IAAEC,QAAQ,QAARA,QAAQ;EACtD,oBAAO,6BAAC,WAAW,CAAC,QAAQ;IAAC,KAAK,EAAED;EAAK,GAAEC,QAAQ,CAAwB;AAC/E,CAAC;AAAC;AAEK,IAAMC,OAAO,GAAG,SAAVA,OAAO,GAAS;EACzB,OAAO,IAAAC,iBAAU,EAACP,WAAW,CAAC;AAClC,CAAC;AAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","TagsContext","createContext","displayName","Tags","_ref","tags","children","default","createElement","Provider","value","exports","useTags","useContext"],"sources":["Tags.tsx"],"sourcesContent":["import React, { createContext, useContext } from \"react\";\n\ntype TagsContext = Record<string, string | boolean>;\n\nconst TagsContext = createContext<TagsContext>({});\nTagsContext.displayName = \"TagsContext\";\n\ninterface TagsProps {\n tags: Record<string, string | boolean>;\n children: React.ReactNode;\n}\n\nexport const Tags: React.FC<TagsProps> = ({ tags, children }) => {\n return <TagsContext.Provider value={tags}>{children}</TagsContext.Provider>;\n};\n\nexport const useTags = () => {\n return useContext(TagsContext);\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAMC,WAAW,gBAAG,IAAAC,oBAAa,EAAc,CAAC,CAAC,CAAC;AAClDD,WAAW,CAACE,WAAW,GAAG,aAAa;AAOhC,IAAMC,IAAyB,GAAG,SAA5BA,IAAyBA,CAAAC,IAAA,EAA2B;EAAA,IAArBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;EACtD,oBAAOT,MAAA,CAAAU,OAAA,CAAAC,aAAA,CAACR,WAAW,CAACS,QAAQ;IAACC,KAAK,EAAEL;EAAK,GAAEC,QAA+B,CAAC;AAC/E,CAAC;AAACK,OAAA,CAAAR,IAAA,GAAAA,IAAA;AAEK,IAAMS,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;EACzB,OAAO,IAAAC,iBAAU,EAACb,WAAW,CAAC;AAClC,CAAC;AAACW,OAAA,CAAAC,OAAA,GAAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":["UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","children","props","useState","setItems","useCallback","item","items","index","findIndex","i","slice","context","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","menuItem","UserMenuItemRenderer","AddUserMenuItem","useEffect","UserMenuItemContext","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","map"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_app","_excluded","UserMenuContext","React","createContext","addMenuItem","menuItems","displayName","useUserMenu","useContext","UserMenuProvider","Component","_ref","children","props","_objectWithoutProperties2","default","_useState","useState","_useState2","_slicedToArray2","setItems","useCallback","item","items","concat","_toConsumableArray2","index","findIndex","i","slice","context","createElement","Provider","value","exports","UserMenu","makeComposable","UserMenuRenderer","UserMenuHandle","UserMenuHandleRenderer","UserMenuItem","_ref2","menuItem","UserMenuItemContext","UserMenuItemRenderer","AddUserMenuItem","_useUserMenu","useEffect","element","undefined","icon","label","onClick","path","useUserMenuItem","UserMenuItems","_ref3","Fragment","map","key"],"sources":["UserMenu.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { makeComposable } from \"@webiny/app\";\n\nexport interface UserMenuItemData {\n label?: string;\n icon?: JSX.Element;\n path?: string;\n onClick?: () => void;\n element?: JSX.Element;\n}\n\nexport interface UserMenuContext {\n menuItems: UserMenuItemData[];\n addMenuItem(item: UserMenuItemData): void;\n}\n\nconst UserMenuContext = React.createContext<UserMenuContext>({\n addMenuItem: () => {\n return void 0;\n },\n menuItems: []\n});\nUserMenuContext.displayName = \"UserMenuContext\";\n\nexport function useUserMenu() {\n return React.useContext(UserMenuContext);\n}\n\nexport const UserMenuProvider = (Component: React.FC): React.FC => {\n return function UserMenuProvider({ children, ...props }) {\n const [menuItems, setItems] = useState<UserMenuItemData[]>([]);\n\n const addMenuItem = useCallback<UserMenuContext[\"addMenuItem\"]>(\n item => {\n setItems(items => [...items, item]);\n\n return () => {\n setItems(items => {\n const index = items.findIndex(i => i === item);\n if (index < 0) {\n return items;\n }\n\n return [...items.slice(0, index), ...items.slice(index + 1)];\n });\n };\n },\n [setItems]\n );\n\n const context = {\n menuItems,\n addMenuItem\n };\n\n return (\n <UserMenuContext.Provider value={context}>\n <Component {...props}>{children}</Component>\n </UserMenuContext.Provider>\n );\n };\n};\n\nexport const UserMenu = makeComposable(\"UserMenu\", () => {\n return <UserMenuRenderer />;\n});\n\nexport const UserMenuRenderer = makeComposable(\"UserMenuRenderer\");\n\nexport const UserMenuHandle = makeComposable(\"UserMenuHandle\", () => {\n return <UserMenuHandleRenderer />;\n});\n\nexport const UserMenuHandleRenderer = makeComposable(\"UserMenuHandleRenderer\");\n\nexport interface UserMenuItemProps {\n menuItem: UserMenuItemData;\n}\n\nexport const UserMenuItem = makeComposable<UserMenuItemProps>(\"UserMenuItem\", ({ menuItem }) => {\n return (\n <UserMenuItemContext.Provider value={menuItem}>\n <UserMenuItemRenderer />\n </UserMenuItemContext.Provider>\n );\n});\n\nexport const UserMenuItemRenderer = makeComposable(\"UserMenuItemRenderer\");\n\nexport const AddUserMenuItem: React.FC<UserMenuItemProps[\"menuItem\"]> = props => {\n const { addMenuItem } = useUserMenu();\n\n useEffect(() => {\n return addMenuItem(props);\n }, []);\n\n return null;\n};\n\nexport type UserMenuItemContext = UserMenuItemData;\n\nconst UserMenuItemContext = React.createContext<UserMenuItemContext>({\n element: undefined,\n icon: undefined,\n label: undefined,\n onClick: () => {\n return void 0;\n },\n path: undefined\n});\nUserMenuItemContext.displayName = \"UserMenuItemContext\";\n\nexport function useUserMenuItem() {\n return React.useContext(UserMenuItemContext);\n}\n\nexport interface UserMenuItemsProps {\n menuItems: UserMenuItemData[];\n}\n\nexport const UserMenuItems = makeComposable<UserMenuItemsProps>(\n \"UserMenuItems\",\n ({ menuItems }) => {\n return (\n <Fragment>\n {menuItems.map((item, index) => (\n <UserMenuItem key={index} menuItem={item} />\n ))}\n </Fragment>\n );\n }\n);\n"],"mappings":"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"}