@webiny/app-admin 0.0.0-unstable.611c5af35e → 0.0.0-unstable.78f581c1d2

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 (273) hide show
  1. package/base/Admin.js +15 -1
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +23 -4
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +8 -0
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.js +5 -0
  8. package/base/providers/ApolloProvider.js.map +1 -1
  9. package/base/providers/TelemetryProvider.js +7 -1
  10. package/base/providers/TelemetryProvider.js.map +1 -1
  11. package/base/providers/UiStateProvider.js +5 -0
  12. package/base/providers/UiStateProvider.js.map +1 -1
  13. package/base/providers/ViewCompositionProvider.js +16 -3
  14. package/base/providers/ViewCompositionProvider.js.map +1 -1
  15. package/base/ui/Brand.js +4 -0
  16. package/base/ui/Brand.js.map +1 -1
  17. package/base/ui/CenteredView.js +7 -2
  18. package/base/ui/CenteredView.js.map +1 -1
  19. package/base/ui/Dashboard.js +4 -0
  20. package/base/ui/Dashboard.js.map +1 -1
  21. package/base/ui/Layout.js +6 -1
  22. package/base/ui/Layout.js.map +1 -1
  23. package/base/ui/LocaleSelector.js +4 -0
  24. package/base/ui/LocaleSelector.js.map +1 -1
  25. package/base/ui/LoginScreen.js +6 -0
  26. package/base/ui/LoginScreen.js.map +1 -1
  27. package/base/ui/Logo.js +6 -0
  28. package/base/ui/Logo.js.map +1 -1
  29. package/base/ui/Menu.js +31 -2
  30. package/base/ui/Menu.js.map +1 -1
  31. package/base/ui/Navigation.js +44 -11
  32. package/base/ui/Navigation.js.map +1 -1
  33. package/base/ui/NotFound.js +4 -0
  34. package/base/ui/NotFound.js.map +1 -1
  35. package/base/ui/Search.js +23 -5
  36. package/base/ui/Search.js.map +1 -1
  37. package/base/ui/Tags.js +8 -1
  38. package/base/ui/Tags.js.map +1 -1
  39. package/base/ui/UserMenu.js +29 -5
  40. package/base/ui/UserMenu.js.map +1 -1
  41. package/components/AdminLayout.js +6 -1
  42. package/components/AdminLayout.js.map +1 -1
  43. package/components/AppInstaller/AppInstaller.js +52 -18
  44. package/components/AppInstaller/AppInstaller.js.map +1 -1
  45. package/components/AppInstaller/Sidebar.js +32 -9
  46. package/components/AppInstaller/Sidebar.js.map +1 -1
  47. package/components/AppInstaller/index.js +7 -0
  48. package/components/AppInstaller/index.js.map +1 -1
  49. package/components/AppInstaller/styled.js +4 -0
  50. package/components/AppInstaller/styled.js.map +1 -1
  51. package/components/AppInstaller/useInstaller.js +69 -17
  52. package/components/AppInstaller/useInstaller.js.map +1 -1
  53. package/components/EmptyView.js +11 -3
  54. package/components/EmptyView.js.map +1 -1
  55. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +14 -0
  56. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  57. package/components/FileManager/BottomInfoBar/UploadStatus.js +9 -0
  58. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  59. package/components/FileManager/BottomInfoBar.js +12 -0
  60. package/components/FileManager/BottomInfoBar.js.map +1 -1
  61. package/components/FileManager/DropFilesHere.js +12 -3
  62. package/components/FileManager/DropFilesHere.js.map +1 -1
  63. package/components/FileManager/File.js +18 -5
  64. package/components/FileManager/File.js.map +1 -1
  65. package/components/FileManager/FileDetails/Name.js +32 -4
  66. package/components/FileManager/FileDetails/Name.js.map +1 -1
  67. package/components/FileManager/FileDetails/Tags.js +77 -26
  68. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  69. package/components/FileManager/FileDetails.js +146 -81
  70. package/components/FileManager/FileDetails.js.map +1 -1
  71. package/components/FileManager/FileManagerContext.js +45 -12
  72. package/components/FileManager/FileManagerContext.js.map +1 -1
  73. package/components/FileManager/FileManagerView.js +152 -45
  74. package/components/FileManager/FileManagerView.js.map +1 -1
  75. package/components/FileManager/LeftSidebar.js +29 -10
  76. package/components/FileManager/LeftSidebar.js.map +1 -1
  77. package/components/FileManager/NoPermissionView.js +13 -0
  78. package/components/FileManager/NoPermissionView.js.map +1 -1
  79. package/components/FileManager/NoResults.js +6 -0
  80. package/components/FileManager/NoResults.js.map +1 -1
  81. package/components/FileManager/getFileTypePlugin.js +15 -9
  82. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  83. package/components/FileManager/getFileUploader.js +5 -0
  84. package/components/FileManager/getFileUploader.js.map +1 -1
  85. package/components/FileManager/graphql.js +14 -3
  86. package/components/FileManager/graphql.js.map +1 -1
  87. package/components/FileManager/outputFileSelectionError.js +14 -0
  88. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  89. package/components/FileManager.js +43 -17
  90. package/components/FileManager.js.map +1 -1
  91. package/components/FloatingActionButton.js +6 -0
  92. package/components/FloatingActionButton.js.map +1 -1
  93. package/components/MultiImageUpload.js +10 -1
  94. package/components/MultiImageUpload.js.map +1 -1
  95. package/components/OverlayLayout/OverlayLayout.js +36 -7
  96. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  97. package/components/OverlayLayout/index.js +2 -0
  98. package/components/OverlayLayout/index.js.map +1 -1
  99. package/components/Permissions/Permissions.js +27 -16
  100. package/components/Permissions/Permissions.js.map +1 -1
  101. package/components/Permissions/StyledComponents.js +7 -0
  102. package/components/Permissions/StyledComponents.js.map +1 -1
  103. package/components/Permissions/index.js +3 -0
  104. package/components/Permissions/index.js.map +1 -1
  105. package/components/RichTextEditor/RichTextEditor.js +7 -0
  106. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  107. package/components/RichTextEditor/index.js +2 -0
  108. package/components/RichTextEditor/index.js.map +1 -1
  109. package/components/RichTextEditor/tools/header/index.js +102 -62
  110. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  111. package/components/RichTextEditor/tools/image/index.js +36 -15
  112. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  113. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  114. package/components/RichTextEditor/tools/image/tunes.js +22 -5
  115. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  116. package/components/RichTextEditor/tools/image/ui.js +39 -16
  117. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  118. package/components/RichTextEditor/tools/paragraph/index.js +81 -55
  119. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  120. package/components/RichTextEditor/tools/textColor/index.js +41 -15
  121. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  122. package/components/RichTextEditor/tools/utils.js +2 -0
  123. package/components/RichTextEditor/tools/utils.js.map +1 -1
  124. package/components/Routes.js +13 -6
  125. package/components/Routes.js.map +1 -1
  126. package/components/SearchUI.js +11 -3
  127. package/components/SearchUI.js.map +1 -1
  128. package/components/SimpleForm/SimpleForm.js +20 -0
  129. package/components/SimpleForm/SimpleForm.js.map +1 -1
  130. package/components/SimpleForm/index.js +1 -0
  131. package/components/SimpleForm/index.js.map +1 -1
  132. package/components/SimpleUI/InputField.js +29 -13
  133. package/components/SimpleUI/InputField.js.map +1 -1
  134. package/components/SingleImageUpload.js +28 -12
  135. package/components/SingleImageUpload.js.map +1 -1
  136. package/components/SplitView/SplitView.js +20 -0
  137. package/components/SplitView/SplitView.js.map +1 -1
  138. package/components/SplitView/index.js +1 -0
  139. package/components/SplitView/index.js.map +1 -1
  140. package/components/index.js +1 -0
  141. package/components/index.js.map +1 -1
  142. package/hooks/useConfirmationDialog.js +14 -2
  143. package/hooks/useConfirmationDialog.js.map +1 -1
  144. package/hooks/useDialog.js +5 -0
  145. package/hooks/useDialog.js.map +1 -1
  146. package/hooks/useSnackbar.js +5 -0
  147. package/hooks/useSnackbar.js.map +1 -1
  148. package/index.js +48 -0
  149. package/index.js.map +1 -1
  150. package/package.json +19 -19
  151. package/plugins/FileManagerFileTypePlugin.js +15 -0
  152. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  153. package/plugins/MenuPlugin.js +15 -0
  154. package/plugins/MenuPlugin.js.map +1 -1
  155. package/plugins/PermissionRendererPlugin.js +15 -0
  156. package/plugins/PermissionRendererPlugin.js.map +1 -1
  157. package/plugins/fileManager/fileDefault.js +6 -0
  158. package/plugins/fileManager/fileDefault.js.map +1 -1
  159. package/plugins/fileManager/fileImage/DeleteAction.js +29 -7
  160. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  161. package/plugins/fileManager/fileImage/EditAction.js +43 -9
  162. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  163. package/plugins/fileManager/fileImage/index.js +8 -0
  164. package/plugins/fileManager/fileImage/index.js.map +1 -1
  165. package/plugins/fileManager/index.js +2 -0
  166. package/plugins/fileManager/index.js.map +1 -1
  167. package/plugins/globalSearch/SearchBar.js +51 -3
  168. package/plugins/globalSearch/SearchBar.js.map +1 -1
  169. package/plugins/globalSearch/SearchBarDropdown.js +31 -13
  170. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  171. package/plugins/globalSearch/index.js.map +1 -1
  172. package/plugins/globalSearch/styled.js +5 -1
  173. package/plugins/globalSearch/styled.js.map +1 -1
  174. package/plugins/uiLayoutRenderer/index.js +16 -2
  175. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  176. package/ui/UIElement.js +1 -0
  177. package/ui/UIElement.js.map +1 -1
  178. package/ui/UILayout.js +1 -0
  179. package/ui/UILayout.js.map +1 -1
  180. package/ui/UIRenderer.js +1 -0
  181. package/ui/UIRenderer.js.map +1 -1
  182. package/ui/UIView.js +1 -0
  183. package/ui/UIView.js.map +1 -1
  184. package/ui/elements/AccordionElement.js +28 -2
  185. package/ui/elements/AccordionElement.js.map +1 -1
  186. package/ui/elements/ButtonElement.js +19 -0
  187. package/ui/elements/ButtonElement.js.map +1 -1
  188. package/ui/elements/ButtonGroupElement.js +19 -0
  189. package/ui/elements/ButtonGroupElement.js.map +1 -1
  190. package/ui/elements/GenericElement.js +2 -0
  191. package/ui/elements/GenericElement.js.map +1 -1
  192. package/ui/elements/LabelElement.js +14 -0
  193. package/ui/elements/LabelElement.js.map +1 -1
  194. package/ui/elements/NavigationMenuElement.js +36 -3
  195. package/ui/elements/NavigationMenuElement.js.map +1 -1
  196. package/ui/elements/PanelElement.js +11 -0
  197. package/ui/elements/PanelElement.js.map +1 -1
  198. package/ui/elements/PlaceholderElement.js +11 -0
  199. package/ui/elements/PlaceholderElement.js.map +1 -1
  200. package/ui/elements/SmallButtonElement.js +19 -0
  201. package/ui/elements/SmallButtonElement.js.map +1 -1
  202. package/ui/elements/TypographyElement.js +19 -0
  203. package/ui/elements/TypographyElement.js.map +1 -1
  204. package/ui/elements/ViewElement.js +2 -0
  205. package/ui/elements/ViewElement.js.map +1 -1
  206. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +16 -0
  207. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  208. package/ui/elements/form/DynamicFieldsetElement.js +34 -11
  209. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  210. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +15 -0
  211. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  212. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +22 -0
  213. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  214. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +36 -7
  215. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  216. package/ui/elements/form/FileManagerElement/styled.js +5 -0
  217. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  218. package/ui/elements/form/FileManagerElement.js +20 -0
  219. package/ui/elements/form/FileManagerElement.js.map +1 -1
  220. package/ui/elements/form/FormElement.js +21 -0
  221. package/ui/elements/form/FormElement.js.map +1 -1
  222. package/ui/elements/form/FormFieldElement.js +33 -0
  223. package/ui/elements/form/FormFieldElement.js.map +1 -1
  224. package/ui/elements/form/HiddenElement.js +17 -0
  225. package/ui/elements/form/HiddenElement.js.map +1 -1
  226. package/ui/elements/form/InputElement.js +18 -0
  227. package/ui/elements/form/InputElement.js.map +1 -1
  228. package/ui/elements/form/PasswordElement.js +15 -0
  229. package/ui/elements/form/PasswordElement.js.map +1 -1
  230. package/ui/elements/form/SelectElement.js +19 -1
  231. package/ui/elements/form/SelectElement.js.map +1 -1
  232. package/ui/elements/form/TextareaElement.js +17 -0
  233. package/ui/elements/form/TextareaElement.js.map +1 -1
  234. package/ui/views/AdminView/ContentElement.js +25 -1
  235. package/ui/views/AdminView/ContentElement.js.map +1 -1
  236. package/ui/views/AdminView/HeaderElement.js +40 -0
  237. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  238. package/ui/views/AdminView/HeaderSectionCenterElement.js +20 -0
  239. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  240. package/ui/views/AdminView/HeaderSectionLeftElement.js +20 -0
  241. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  242. package/ui/views/AdminView/HeaderSectionRightElement.js +20 -0
  243. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  244. package/ui/views/AdminView/components/Dialog.js +21 -10
  245. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  246. package/ui/views/AdminView/components/Hamburger.js +8 -0
  247. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  248. package/ui/views/AdminView/components/Snackbar.js +9 -0
  249. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  250. package/ui/views/FormView/FormContainerElement.js +21 -0
  251. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  252. package/ui/views/FormView/FormContentElement.js +11 -0
  253. package/ui/views/FormView/FormContentElement.js.map +1 -1
  254. package/ui/views/FormView/FormFooterElement.js +19 -0
  255. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  256. package/ui/views/FormView/FormHeaderElement.js +24 -2
  257. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  258. package/ui/views/FormView.js +41 -0
  259. package/ui/views/FormView.js.map +1 -1
  260. package/ui/views/OverlayView/ContentElement.js +19 -0
  261. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  262. package/ui/views/OverlayView/HeaderElement.js +25 -3
  263. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  264. package/ui/views/OverlayView/HeaderTitleElement.js +22 -0
  265. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  266. package/ui/views/OverlayView/useOverlayView.js +13 -3
  267. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  268. package/ui/views/OverlayView.js +37 -3
  269. package/ui/views/OverlayView.js.map +1 -1
  270. package/ui/views/SplitView/SplitViewPanelElement.js +22 -2
  271. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  272. package/ui/views/SplitView.js +40 -0
  273. package/ui/views/SplitView.js.map +1 -1
package/base/ui/Logo.js CHANGED
@@ -1,18 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.LogoRenderer = exports.Logo = exports.AddLogo = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _appAdminCore = require("@webiny/app-admin-core");
13
+
10
14
  var Logo = (0, _appAdminCore.makeComposable)("Logo", function () {
11
15
  return /*#__PURE__*/_react.default.createElement(LogoRenderer, null);
12
16
  });
13
17
  exports.Logo = Logo;
14
18
  var LogoRenderer = (0, _appAdminCore.makeComposable)("LogoRenderer");
15
19
  exports.LogoRenderer = LogoRenderer;
20
+
16
21
  var AddLogo = function AddLogo(_ref) {
17
22
  var logo = _ref.logo;
18
23
  var LogoHOC = (0, _react.useMemo)(function () {
@@ -27,4 +32,5 @@ var AddLogo = function AddLogo(_ref) {
27
32
  with: LogoHOC
28
33
  });
29
34
  };
35
+
30
36
  exports.AddLogo = AddLogo;
@@ -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-admin-core\";\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,4BAAc,EAAC,MAAM,EAAE,YAAM;EAC7C,oBAAO,6BAAC,YAAY,OAAG;AAC3B,CAAC,CAAC;AAAC;AAEI,IAAMC,YAAY,GAAG,IAAAD,4BAAc,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,qBAAO;IAAC,SAAS,EAAEF,YAAa;IAAC,IAAI,EAAEG;EAAQ,EAAG;AAC9D,CAAC;AAAC"}
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-admin-core\";\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,4BAAA,EAAe,MAAf,EAAuB,YAAM;EAC7C,oBAAO,6BAAC,YAAD,OAAP;AACH,CAFmB,CAAb;;AAIA,IAAMC,YAAY,GAAG,IAAAD,4BAAA,EAAe,cAAf,CAArB;;;AAMA,IAAME,OAA+B,GAAG,SAAlCA,OAAkC,OAAc;EAAA,IAAXC,IAAW,QAAXA,IAAW;EACzD,IAAMC,OAAO,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC1B,OAAO,YAAM;MACT,OAAO,SAASN,IAAT,GAAgB;QACnB,OAAOI,IAAP;MACH,CAFD;IAGH,CAJD;EAKH,CANe,EAMb,EANa,CAAhB;EAQA,oBAAO,6BAAC,qBAAD;IAAS,SAAS,EAAEF,YAApB;IAAkC,IAAI,EAAEG;EAAxC,EAAP;AACH,CAVM"}
package/base/ui/Menu.js CHANGED
@@ -1,23 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.createEmptyMenu = exports.AddMenu = void 0;
11
+
9
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
10
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
11
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
12
18
  var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
19
+
13
20
  var _react = _interopRequireWildcard(require("react"));
21
+
14
22
  var _ = require("../..");
23
+
15
24
  var _excluded = ["children"];
16
25
  var MenuContext = /*#__PURE__*/(0, _react.createContext)(undefined);
17
26
  MenuContext.displayName = "MenuContext";
27
+
18
28
  var useMenu = function useMenu() {
19
29
  return (0, _react.useContext)(MenuContext);
20
30
  };
31
+
21
32
  var createEmptyMenu = function createEmptyMenu(name) {
22
33
  return {
23
34
  name: name,
@@ -25,33 +36,39 @@ var createEmptyMenu = function createEmptyMenu(name) {
25
36
  children: []
26
37
  };
27
38
  };
39
+
28
40
  exports.createEmptyMenu = createEmptyMenu;
29
41
  var keys = ["label", "path", "icon", "onClick", "testId", "tags", "target", "rel", "element", "pin"];
42
+
30
43
  var mergeMenuItems = function mergeMenuItems(item1, item2) {
31
44
  return (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, item1), keys.reduce(function (map, key) {
32
45
  var _item2$key;
46
+
33
47
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, map), {}, (0, _defineProperty2.default)({}, key, (_item2$key = item2[key]) !== null && _item2$key !== void 0 ? _item2$key : item1[key]));
34
48
  }, {})), {}, {
35
49
  children: (item2.children || []).reduce(function (acc, menu) {
36
50
  var index = acc.findIndex(function (i) {
37
51
  return i.name === menu.name;
38
52
  });
53
+
39
54
  if (index > -1) {
40
55
  acc[index] = mergeMenuItems(acc[index], menu);
41
56
  } else {
42
57
  acc.push(menu);
43
58
  }
59
+
44
60
  return acc;
45
61
  }, (0, _toConsumableArray2.default)(item1.children))
46
62
  });
47
63
  };
48
-
49
64
  /**
50
65
  * Register a new menu item into the Admin app.
51
66
  */
67
+
68
+
52
69
  var AddMenu = function AddMenu(_ref) {
53
70
  var children = _ref.children,
54
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
71
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
55
72
  var menu = useMenu();
56
73
  var navigation = (0, _.useNavigation)();
57
74
  (0, _react.useEffect)(function () {
@@ -62,6 +79,7 @@ var AddMenu = function AddMenu(_ref) {
62
79
  children: []
63
80
  });
64
81
  }
82
+
65
83
  return mergeMenuItems(existing, props);
66
84
  });
67
85
  } else {
@@ -73,9 +91,11 @@ var AddMenu = function AddMenu(_ref) {
73
91
  if (!existing) {
74
92
  return props;
75
93
  }
94
+
76
95
  return mergeMenuItems(existing, props);
77
96
  });
78
97
  }
98
+
79
99
  return function () {
80
100
  if (menu) {
81
101
  menu.removeMenu(props.name);
@@ -93,14 +113,17 @@ var AddMenu = function AddMenu(_ref) {
93
113
  if (!existing) {
94
114
  return undefined;
95
115
  }
116
+
96
117
  var childIndex = existing.children.findIndex(function (ch) {
97
118
  return ch.name === name;
98
119
  });
120
+
99
121
  if (childIndex > -1) {
100
122
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
101
123
  children: [].concat((0, _toConsumableArray2.default)(existing.children.slice(0, childIndex)), (0, _toConsumableArray2.default)(existing.children.slice(childIndex + 1)))
102
124
  });
103
125
  }
126
+
104
127
  return existing;
105
128
  });
106
129
  },
@@ -109,28 +132,34 @@ var AddMenu = function AddMenu(_ref) {
109
132
  if (!existing) {
110
133
  existing = createEmptyMenu(props.name);
111
134
  }
135
+
112
136
  var subItems = existing.children;
113
137
  var childIndex = subItems.findIndex(function (ch) {
114
138
  return ch.name === name;
115
139
  });
140
+
116
141
  if (childIndex === -1) {
117
142
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
118
143
  children: [].concat((0, _toConsumableArray2.default)(subItems), [updater(null)]).filter(Boolean)
119
144
  });
120
145
  }
146
+
121
147
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
122
148
  children: [].concat((0, _toConsumableArray2.default)(subItems.slice(0, childIndex)), [updater(subItems[childIndex])], (0, _toConsumableArray2.default)(subItems.slice(childIndex + 1))).filter(Boolean)
123
149
  });
124
150
  });
125
151
  }
126
152
  };
153
+
127
154
  if (!children) {
128
155
  return null;
129
156
  }
157
+
130
158
  return /*#__PURE__*/_react.default.createElement(MenuContext.Provider, {
131
159
  value: context
132
160
  }, children);
133
161
  };
162
+
134
163
  exports.AddMenu = AddMenu;
135
164
  AddMenu.defaultProps = {
136
165
  tags: []
@@ -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":["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,20 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.NavigationRenderer = exports.NavigationProvider = exports.Navigation = exports.MenuItems = exports.MenuItemRenderer = exports.MenuItem = void 0;
9
11
  exports.useMenuItem = useMenuItem;
10
12
  exports.useNavigation = useNavigation;
13
+
11
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
12
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
13
18
  var _react = _interopRequireWildcard(require("react"));
19
+
14
20
  var _nanoid = require("nanoid");
21
+
15
22
  var _appAdminCore = require("@webiny/app-admin-core");
23
+
16
24
  var _ = require("../..");
25
+
17
26
  var _plugins = require("@webiny/plugins");
27
+
18
28
  var NavigationContext = /*#__PURE__*/(0, _react.createContext)({
19
29
  menuItems: [],
20
30
  setMenu: function setMenu() {
@@ -25,30 +35,35 @@ var NavigationContext = /*#__PURE__*/(0, _react.createContext)({
25
35
  }
26
36
  });
27
37
  NavigationContext.displayName = "NavigationContext";
38
+
28
39
  function useNavigation() {
29
40
  return (0, _react.useContext)(NavigationContext);
30
- }
31
-
32
- // IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!
41
+ } // IMPORTANT! The following component is for BACKWARDS COMPATIBILITY purposes only!
33
42
  // It is not a public component, and is not even exported from this file. We need it to take care of
34
43
  // scaffolded plugins in users' projects, as well as our own applications (Page Builder and Form Builder).
44
+
45
+
35
46
  var LegacyMenu = function LegacyMenu(props) {
36
47
  return /*#__PURE__*/_react.default.createElement(_.AddMenu, Object.assign({}, props, {
37
48
  name: props.name || (0, _nanoid.nanoid)(),
38
49
  label: props.label
39
50
  }), props.children);
40
51
  };
52
+
41
53
  var LegacyMenuPlugins = function LegacyMenuPlugins() {
42
54
  // IMPORTANT! The following piece of code is for BACKWARDS COMPATIBILITY purposes only!
43
55
  var _useState = (0, _react.useState)(null),
44
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
- menus = _useState2[0],
46
- setMenus = _useState2[1];
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ menus = _useState2[0],
58
+ setMenus = _useState2[1];
59
+
47
60
  (0, _react.useEffect)(function () {
48
61
  var menuPlugins = _plugins.plugins.byType("admin-menu");
62
+
49
63
  if (!menuPlugins) {
50
64
  return;
51
65
  }
66
+
52
67
  var menuElements = menuPlugins.map(function (plugin) {
53
68
  // TODO @ts-refactor figure out correct types or write a comment to leave as React.FC
54
69
  return /*#__PURE__*/_react.default.createElement(_appAdminCore.Plugins, {
@@ -58,42 +73,51 @@ var LegacyMenuPlugins = function LegacyMenuPlugins() {
58
73
  Item: LegacyMenu,
59
74
  Section: LegacyMenu
60
75
  }));
61
- });
62
- // TODO @ts-refactor
76
+ }); // TODO @ts-refactor
77
+
63
78
  setMenus(menuElements);
64
79
  }, []);
65
80
  return menus;
66
81
  };
82
+
67
83
  var NavigationProvider = function NavigationProvider(Component) {
68
84
  return function NavigationProvider(_ref) {
69
85
  var children = _ref.children;
86
+
70
87
  var _useState3 = (0, _react.useState)([]),
71
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
72
- menuItems = _useState4[0],
73
- setState = _useState4[1];
88
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
89
+ menuItems = _useState4[0],
90
+ setState = _useState4[1];
91
+
74
92
  var setMenu = function setMenu(id, updater) {
75
93
  setState(function (state) {
76
94
  var index = state.findIndex(function (m) {
77
95
  return m.name === id;
78
96
  });
79
97
  var newMenu = index > -1 ? updater(state[index]) : updater((0, _.createEmptyMenu)(id));
98
+
80
99
  if (!newMenu) {
81
100
  return (0, _toConsumableArray2.default)(state);
82
101
  }
102
+
83
103
  if (!newMenu.children) {
84
104
  newMenu.children = [];
85
105
  }
106
+
86
107
  return index > -1 ? [].concat((0, _toConsumableArray2.default)(state.slice(0, index)), [newMenu], (0, _toConsumableArray2.default)(state.slice(index + 1))) : [].concat((0, _toConsumableArray2.default)(state), [newMenu]);
87
108
  });
88
109
  };
110
+
89
111
  var removeMenu = (0, _react.useCallback)(function (id) {
90
112
  setState(function (state) {
91
113
  var index = state.findIndex(function (m) {
92
114
  return m.name === id;
93
115
  });
116
+
94
117
  if (index < 0) {
95
118
  return state;
96
119
  }
120
+
97
121
  return [].concat((0, _toConsumableArray2.default)(state.slice(0, index)), (0, _toConsumableArray2.default)(state.slice(index + 1)));
98
122
  });
99
123
  }, [setState]);
@@ -109,7 +133,9 @@ var NavigationProvider = function NavigationProvider(Component) {
109
133
  }, /*#__PURE__*/_react.default.createElement(LegacyMenuPlugins, null), /*#__PURE__*/_react.default.createElement(Component, null, children));
110
134
  };
111
135
  };
136
+
112
137
  exports.NavigationProvider = NavigationProvider;
138
+
113
139
  var Navigation = function Navigation() {
114
140
  return /*#__PURE__*/_react.default.createElement(_.Tags, {
115
141
  tags: {
@@ -117,17 +143,22 @@ var Navigation = function Navigation() {
117
143
  }
118
144
  }, /*#__PURE__*/_react.default.createElement(NavigationRenderer, null));
119
145
  };
146
+
120
147
  exports.Navigation = Navigation;
121
148
  var NavigationRenderer = (0, _appAdminCore.makeComposable)("NavigationRenderer");
122
149
  exports.NavigationRenderer = NavigationRenderer;
150
+
123
151
  var MenuItemContext = /*#__PURE__*/_react.default.createContext({
124
152
  menuItem: undefined,
125
153
  depth: -1
126
154
  });
155
+
127
156
  MenuItemContext.displayName = "MenuItemContext";
157
+
128
158
  function useMenuItem() {
129
159
  return _react.default.useContext(MenuItemContext);
130
160
  }
161
+
131
162
  var MenuItems = (0, _appAdminCore.makeComposable)("MenuItems", function (_ref2) {
132
163
  var menuItems = _ref2.menuItems;
133
164
  var menuItem = useMenuItem();
@@ -143,9 +174,11 @@ var MenuItems = (0, _appAdminCore.makeComposable)("MenuItems", function (_ref2)
143
174
  }));
144
175
  });
145
176
  exports.MenuItems = MenuItems;
177
+
146
178
  var MenuItem = function MenuItem() {
147
179
  return /*#__PURE__*/_react.default.createElement(MenuItemRenderer, null);
148
180
  };
181
+
149
182
  exports.MenuItem = MenuItem;
150
183
  var MenuItemRenderer = (0, _appAdminCore.makeComposable)("MenuItemRenderer");
151
184
  exports.MenuItemRenderer = MenuItemRenderer;
@@ -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-admin-core\";\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":["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-admin-core\";\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,12 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.NotFoundRenderer = exports.NotFound = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _appAdminCore = require("@webiny/app-admin-core");
13
+
10
14
  var NotFound = (0, _appAdminCore.makeComposable)("NotFound", function () {
11
15
  return /*#__PURE__*/_react.default.createElement(NotFoundRenderer, null);
12
16
  });
@@ -1 +1 @@
1
- {"version":3,"names":["NotFound","makeComposable","NotFoundRenderer"],"sources":["NotFound.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\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,4BAAc,EAAC,UAAU,EAAE,YAAM;EACrD,oBAAO,6BAAC,gBAAgB,OAAG;AAC/B,CAAC,CAAC;AAAC;AAEI,IAAMC,gBAAgB,GAAG,IAAAD,4BAAc,EAAC,kBAAkB,CAAC;AAAC"}
1
+ {"version":3,"names":["NotFound","makeComposable","NotFoundRenderer"],"sources":["NotFound.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeComposable } from \"@webiny/app-admin-core\";\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,4BAAA,EAAe,UAAf,EAA2B,YAAM;EACrD,oBAAO,6BAAC,gBAAD,OAAP;AACH,CAFuB,CAAjB;;AAIA,IAAMC,gBAAgB,GAAG,IAAAD,4BAAA,EAAe,kBAAf,CAAzB"}
package/base/ui/Search.js CHANGED
@@ -1,36 +1,50 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.SearchRenderer = exports.SearchProvider = exports.SearchOption = exports.Search = void 0;
9
11
  exports.useSearch = useSearch;
12
+
10
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
+
11
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
+
12
17
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
18
+
13
19
  var _react = _interopRequireWildcard(require("react"));
20
+
14
21
  var _appAdminCore = require("@webiny/app-admin-core");
22
+
15
23
  var _excluded = ["children"];
24
+
16
25
  var SearchContext = /*#__PURE__*/_react.default.createContext({
17
26
  options: [],
18
27
  addOption: function addOption() {
19
28
  return void 0;
20
29
  }
21
30
  });
31
+
22
32
  SearchContext.displayName = "SearchContext";
33
+
23
34
  function useSearch() {
24
35
  return _react.default.useContext(SearchContext);
25
36
  }
37
+
26
38
  var SearchProvider = function SearchProvider(Component) {
27
39
  return function SearchProvider(_ref) {
28
40
  var children = _ref.children,
29
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
42
+
30
43
  var _useState = (0, _react.useState)([]),
31
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
- options = _useState2[0],
33
- setOptions = _useState2[1];
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ options = _useState2[0],
46
+ setOptions = _useState2[1];
47
+
34
48
  var addOption = (0, _react.useCallback)(function (option) {
35
49
  return setOptions(function (options) {
36
50
  return [].concat((0, _toConsumableArray2.default)(options), [option]);
@@ -45,6 +59,7 @@ var SearchProvider = function SearchProvider(Component) {
45
59
  }, /*#__PURE__*/_react.default.createElement(Component, props, children));
46
60
  };
47
61
  };
62
+
48
63
  exports.SearchProvider = SearchProvider;
49
64
  var Search = (0, _appAdminCore.makeComposable)("Search", function () {
50
65
  return /*#__PURE__*/_react.default.createElement(SearchRenderer, null);
@@ -52,12 +67,15 @@ var Search = (0, _appAdminCore.makeComposable)("Search", function () {
52
67
  exports.Search = Search;
53
68
  var SearchRenderer = (0, _appAdminCore.makeComposable)("SearchRenderer");
54
69
  exports.SearchRenderer = SearchRenderer;
70
+
55
71
  var SearchOption = function SearchOption(props) {
56
72
  var _useSearch = useSearch(),
57
- addOption = _useSearch.addOption;
73
+ addOption = _useSearch.addOption;
74
+
58
75
  (0, _react.useEffect)(function () {
59
76
  addOption(props);
60
77
  }, []);
61
78
  return null;
62
79
  };
80
+
63
81
  exports.SearchOption = SearchOption;
@@ -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-admin-core\";\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;AAAwD;AAgBxD,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,4BAAc,EAAC,QAAQ,EAAE,YAAM;EACjD,oBAAO,6BAAC,cAAc,OAAG;AAC7B,CAAC,CAAC;AAAC;AAEI,IAAMC,cAAc,GAAG,IAAAD,4BAAc,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":["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-admin-core\";\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;;;;AAgBA,IAAMA,aAAa,gBAAGC,cAAA,CAAMC,aAAN,CAAmC;EACrDC,OAAO,EAAE,EAD4C;EAErDC,SAAS,EAAE,qBAAM;IACb,OAAO,KAAK,CAAZ;EACH;AAJoD,CAAnC,CAAtB;;AAMAJ,aAAa,CAACK,WAAd,GAA4B,eAA5B;;AAEO,SAASC,SAAT,GAAqB;EACxB,OAAOL,cAAA,CAAMM,UAAN,CAAiBP,aAAjB,CAAP;AACH;;AAEM,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAmC;EAC7D,OAAO,SAASD,cAAT,OAAgD;IAAA,IAAtBE,QAAsB,QAAtBA,QAAsB;IAAA,IAATC,KAAS;;IACnD,gBAA8B,IAAAC,eAAA,EAA6B,EAA7B,CAA9B;IAAA;IAAA,IAAOT,OAAP;IAAA,IAAgBU,UAAhB;;IAEA,IAAMT,SAAS,GAAG,IAAAU,kBAAA,EACd,UAAAC,MAAM;MAAA,OAAIF,UAAU,CAAC,UAAAV,OAAO;QAAA,kDAAQA,OAAR,IAAiBY,MAAjB;MAAA,CAAR,CAAd;IAAA,CADQ,EAEd,CAACF,UAAD,CAFc,CAAlB;IAKA,IAAMG,OAAO,GAAG;MACZb,OAAO,EAAPA,OADY;MAEZC,SAAS,EAATA;IAFY,CAAhB;IAKA,oBACI,6BAAC,aAAD,CAAe,QAAf;MAAwB,KAAK,EAAEY;IAA/B,gBACI,6BAAC,SAAD,EAAeL,KAAf,EAAuBD,QAAvB,CADJ,CADJ;EAKH,CAlBD;AAmBH,CApBM;;;AAsBA,IAAMO,MAAM,GAAG,IAAAC,4BAAA,EAAe,QAAf,EAAyB,YAAM;EACjD,oBAAO,6BAAC,cAAD,OAAP;AACH,CAFqB,CAAf;;AAIA,IAAMC,cAAc,GAAG,IAAAD,4BAAA,EAAe,gBAAf,CAAvB;;;AAIA,IAAME,YAAyC,GAAG,SAA5CA,YAA4C,CAAAT,KAAK,EAAI;EAC9D,iBAAsBL,SAAS,EAA/B;EAAA,IAAQF,SAAR,cAAQA,SAAR;;EAEA,IAAAiB,gBAAA,EAAU,YAAM;IACZjB,SAAS,CAACO,KAAD,CAAT;EACH,CAFD,EAEG,EAFH;EAIA,OAAO,IAAP;AACH,CARM"}
package/base/ui/Tags.js CHANGED
@@ -1,22 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.useTags = exports.Tags = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var TagsContext = /*#__PURE__*/(0, _react.createContext)({});
10
13
  TagsContext.displayName = "TagsContext";
14
+
11
15
  var Tags = function Tags(_ref) {
12
16
  var tags = _ref.tags,
13
- children = _ref.children;
17
+ children = _ref.children;
14
18
  return /*#__PURE__*/_react.default.createElement(TagsContext.Provider, {
15
19
  value: tags
16
20
  }, children);
17
21
  };
22
+
18
23
  exports.Tags = Tags;
24
+
19
25
  var useTags = function useTags() {
20
26
  return (0, _react.useContext)(TagsContext);
21
27
  };
28
+
22
29
  exports.useTags = useTags;
@@ -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":["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,EAA2B,EAA3B,CAApB;AACAD,WAAW,CAACE,WAAZ,GAA0B,aAA1B;;AAOO,IAAMC,IAAyB,GAAG,SAA5BA,IAA4B,OAAwB;EAAA,IAArBC,IAAqB,QAArBA,IAAqB;EAAA,IAAfC,QAAe,QAAfA,QAAe;EAC7D,oBAAO,6BAAC,WAAD,CAAa,QAAb;IAAsB,KAAK,EAAED;EAA7B,GAAoCC,QAApC,CAAP;AACH,CAFM;;;;AAIA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;EACzB,OAAO,IAAAC,iBAAA,EAAWP,WAAX,CAAP;AACH,CAFM"}