@webiny/app-admin 5.34.8 → 5.35.0-beta.0
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.
- package/assets/icons/add-18px.svg +1 -1
- package/assets/icons/arrow_drop_down-24px.svg +1 -1
- package/assets/icons/filter-24px.svg +1 -1
- package/assets/icons/highlight-24px.svg +1 -1
- package/assets/icons/info.svg +1 -1
- package/assets/icons/insert_drive_file-24px.svg +1 -1
- package/assets/icons/insert_photo-24px.svg +1 -1
- package/assets/icons/label-24px.svg +1 -1
- package/assets/icons/round-account_circle-24px.svg +1 -1
- package/assets/icons/round-arrow_drop_down-24px.svg +1 -1
- package/assets/icons/round-help-24px.svg +1 -1
- package/assets/icons/round-settings-24px.svg +1 -1
- package/assets/icons/today-24px.svg +1 -1
- package/assets/icons/touch_app.svg +1 -1
- package/base/Admin.js +1 -15
- package/base/Admin.js.map +1 -1
- package/base/Base.js +6 -44
- package/base/Base.js.map +1 -1
- package/base/plugins/AddGraphQLQuerySelection.js +5 -9
- package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
- package/base/providers/ApolloProvider.js +0 -5
- package/base/providers/ApolloProvider.js.map +1 -1
- package/base/providers/TelemetryProvider.js +1 -7
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiStateProvider.js +0 -5
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.js +3 -16
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/Brand.js +0 -4
- package/base/ui/Brand.js.map +1 -1
- package/base/ui/CenteredView.js +2 -7
- package/base/ui/CenteredView.js.map +1 -1
- package/base/ui/Dashboard.js +0 -4
- package/base/ui/Dashboard.js.map +1 -1
- package/base/ui/FileManager.d.ts +67 -0
- package/base/ui/FileManager.js +61 -0
- package/base/ui/FileManager.js.map +1 -0
- package/base/ui/Layout.js +1 -6
- package/base/ui/Layout.js.map +1 -1
- package/base/ui/LocaleSelector.js +0 -4
- package/base/ui/LocaleSelector.js.map +1 -1
- package/base/ui/LoginScreen.js +0 -6
- package/base/ui/LoginScreen.js.map +1 -1
- package/base/ui/Logo.js +0 -6
- package/base/ui/Logo.js.map +1 -1
- package/base/ui/Menu.js +2 -31
- package/base/ui/Menu.js.map +1 -1
- package/base/ui/Navigation.js +11 -44
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/NotFound.js +0 -4
- package/base/ui/NotFound.js.map +1 -1
- package/base/ui/Search.js +5 -23
- package/base/ui/Search.js.map +1 -1
- package/base/ui/Tags.js +1 -8
- package/base/ui/Tags.js.map +1 -1
- package/base/ui/UserMenu.js +5 -29
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AdminLayout.js +1 -6
- package/components/AdminLayout.js.map +1 -1
- package/components/AppInstaller/AppInstaller.js +18 -84
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.js +11 -44
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/AppInstaller/index.js +0 -7
- package/components/AppInstaller/index.js.map +1 -1
- package/components/AppInstaller/styled.d.ts +17 -5
- package/components/AppInstaller/styled.js +0 -4
- package/components/AppInstaller/styled.js.map +1 -1
- package/components/AppInstaller/useInstaller.d.ts +1 -7
- package/components/AppInstaller/useInstaller.js +72 -183
- package/components/AppInstaller/useInstaller.js.map +1 -1
- package/components/EmptyView.js +4 -12
- package/components/EmptyView.js.map +1 -1
- package/components/FloatingActionButton.js +2 -8
- package/components/FloatingActionButton.js.map +1 -1
- package/components/MultiImageUpload.js +1 -10
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OverlayLayout/OverlayLayout.js +9 -38
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/OverlayLayout/index.js +0 -2
- package/components/OverlayLayout/index.js.map +1 -1
- package/components/Permissions/Permissions.d.ts +2 -0
- package/components/Permissions/Permissions.js +25 -27
- package/components/Permissions/Permissions.js.map +1 -1
- package/components/Permissions/StyledComponents.js +0 -7
- package/components/Permissions/StyledComponents.js.map +1 -1
- package/components/Permissions/index.js +0 -3
- package/components/Permissions/index.js.map +1 -1
- package/components/RichTextEditor/RichTextEditor.js +0 -7
- package/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/components/RichTextEditor/index.js +0 -2
- package/components/RichTextEditor/index.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.js +62 -102
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.js +15 -36
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.js +5 -22
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.js +16 -39
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.js +55 -81
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.js +15 -41
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/RichTextEditor/tools/utils.js +0 -2
- package/components/RichTextEditor/tools/utils.js.map +1 -1
- package/components/Routes.js +6 -13
- package/components/Routes.js.map +1 -1
- package/components/SearchUI.d.ts +1 -0
- package/components/SearchUI.js +14 -14
- package/components/SearchUI.js.map +1 -1
- package/components/SimpleForm/SimpleForm.js +3 -32
- package/components/SimpleForm/SimpleForm.js.map +1 -1
- package/components/SimpleForm/index.js +0 -1
- package/components/SimpleForm/index.js.map +1 -1
- package/components/SimpleUI/InputField.d.ts +2 -0
- package/components/SimpleUI/InputField.js +16 -30
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.d.ts +1 -1
- package/components/SingleImageUpload.js +14 -30
- package/components/SingleImageUpload.js.map +1 -1
- package/components/SplitView/SplitView.js +1 -20
- package/components/SplitView/SplitView.js.map +1 -1
- package/components/SplitView/index.js +0 -1
- package/components/SplitView/index.js.map +1 -1
- package/components/index.d.ts +1 -1
- package/components/index.js +1 -2
- package/components/index.js.map +1 -1
- package/hooks/useConfirmationDialog.js +6 -18
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.js +0 -5
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useSnackbar.js +0 -5
- package/hooks/useSnackbar.js.map +1 -1
- package/index.d.ts +2 -3
- package/index.js +1 -61
- package/index.js.map +1 -1
- package/package.json +22 -32
- package/plugins/MenuPlugin.js +0 -15
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.js +0 -15
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/globalSearch/SearchBar.js +5 -53
- package/plugins/globalSearch/SearchBar.js.map +1 -1
- package/plugins/globalSearch/SearchBarDropdown.js +15 -33
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
- package/plugins/globalSearch/index.js.map +1 -1
- package/plugins/globalSearch/styled.d.ts +13 -4
- package/plugins/globalSearch/styled.js +1 -5
- package/plugins/globalSearch/styled.js.map +1 -1
- package/plugins/uiLayoutRenderer/index.js +2 -16
- package/plugins/uiLayoutRenderer/index.js.map +1 -1
- package/styles/theme.scss +31 -1
- package/types.d.ts +23 -27
- package/types.js.map +1 -1
- package/ui/UIElement.js +0 -1
- package/ui/UIElement.js.map +1 -1
- package/ui/UILayout.js +0 -1
- package/ui/UILayout.js.map +1 -1
- package/ui/UIRenderer.js +0 -1
- package/ui/UIRenderer.js.map +1 -1
- package/ui/UIView.js +0 -1
- package/ui/UIView.js.map +1 -1
- package/ui/elements/AccordionElement.js +2 -28
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.js +0 -19
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.js +0 -19
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/GenericElement.js +0 -2
- package/ui/elements/GenericElement.js.map +1 -1
- package/ui/elements/LabelElement.js +0 -14
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.js +3 -36
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PanelElement.js +0 -11
- package/ui/elements/PanelElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js +0 -11
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.js +0 -19
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.js +0 -19
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/ViewElement.js +0 -2
- package/ui/elements/ViewElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +0 -16
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.js +11 -34
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js +0 -15
- package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +5 -27
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +4 -23
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/styled.d.ts +23 -16
- package/ui/elements/form/FileManagerElement/styled.js +0 -5
- package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
- package/ui/elements/form/FileManagerElement.js +0 -20
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.js +0 -21
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.js +0 -33
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.js +0 -17
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.js +0 -18
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.js +0 -15
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.js +1 -19
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.js +0 -17
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js +1 -25
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +0 -40
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +0 -20
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +0 -20
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +0 -20
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/AdminView/components/Dialog.js +10 -21
- package/ui/views/AdminView/components/Dialog.js.map +1 -1
- package/ui/views/AdminView/components/Hamburger.js +2 -10
- package/ui/views/AdminView/components/Hamburger.js.map +1 -1
- package/ui/views/AdminView/components/Snackbar.js +0 -9
- package/ui/views/AdminView/components/Snackbar.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.js +0 -21
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormContentElement.js +0 -11
- package/ui/views/FormView/FormContentElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.js +0 -19
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.js +2 -24
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.js +0 -41
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.js +0 -19
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.js +4 -26
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js +0 -22
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView/useOverlayView.js +3 -13
- package/ui/views/OverlayView/useOverlayView.js.map +1 -1
- package/ui/views/OverlayView.js +4 -38
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +2 -22
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.js +0 -40
- package/ui/views/SplitView.js.map +1 -1
package/base/ui/Dashboard.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.DashboardRenderer = exports.Dashboard = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _app = require("@webiny/app");
|
|
13
|
-
|
|
14
10
|
var Dashboard = (0, _app.makeComposable)("Dashboard", function () {
|
|
15
11
|
return /*#__PURE__*/_react.default.createElement(DashboardRenderer, null);
|
|
16
12
|
});
|
package/base/ui/Dashboard.js.map
CHANGED
|
@@ -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":"
|
|
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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface FileManagerOnChange<T> {
|
|
3
|
+
(value: T): void;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Represents a file object managed by the File Manager.
|
|
7
|
+
*/
|
|
8
|
+
export interface FileManagerFileItem {
|
|
9
|
+
id: string;
|
|
10
|
+
src: string;
|
|
11
|
+
meta?: Array<FileManagerFileItemMetaItem>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.
|
|
15
|
+
*/
|
|
16
|
+
export interface FileManagerFileItemMetaItem {
|
|
17
|
+
key: string;
|
|
18
|
+
value: any;
|
|
19
|
+
}
|
|
20
|
+
export declare type DeprecatedFileManagerRenderPropParams = {
|
|
21
|
+
showFileManager: (onChange?: FileManagerOnChange<FileManagerFileItem | FileManagerFileItem[]>) => void;
|
|
22
|
+
};
|
|
23
|
+
export declare type FileManagerRenderPropParams<TValue> = {
|
|
24
|
+
showFileManager: (onChange?: FileManagerOnChange<TValue>) => void;
|
|
25
|
+
};
|
|
26
|
+
interface SingleFileRenderProp {
|
|
27
|
+
(params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
interface MultiFileRenderProp {
|
|
30
|
+
(params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export declare type MultipleProps = {
|
|
33
|
+
multiple?: never;
|
|
34
|
+
multipleMaxCount?: never;
|
|
35
|
+
multipleMaxSize?: never;
|
|
36
|
+
onChange?: FileManagerOnChange<FileManagerFileItem>;
|
|
37
|
+
render?: SingleFileRenderProp;
|
|
38
|
+
} | {
|
|
39
|
+
multiple: true;
|
|
40
|
+
multipleMaxCount?: number;
|
|
41
|
+
multipleMaxSize?: number | string;
|
|
42
|
+
onChange?: FileManagerOnChange<FileManagerFileItem[]>;
|
|
43
|
+
render?: MultiFileRenderProp;
|
|
44
|
+
};
|
|
45
|
+
export declare type FileManagerProps = {
|
|
46
|
+
accept?: Array<string>;
|
|
47
|
+
images?: boolean;
|
|
48
|
+
maxSize?: number | string;
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated This prop is no longer used. The file structure was reduced to a bare minimum so picking is no longer necessary.
|
|
51
|
+
*/
|
|
52
|
+
onChangePick?: string[];
|
|
53
|
+
onClose?: Function;
|
|
54
|
+
onUploadCompletion?: (files: FileManagerFileItem[]) => void;
|
|
55
|
+
own?: boolean;
|
|
56
|
+
scope?: string;
|
|
57
|
+
tags?: Array<string>;
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.
|
|
60
|
+
*/
|
|
61
|
+
children?: (params: DeprecatedFileManagerRenderPropParams) => React.ReactNode;
|
|
62
|
+
} & MultipleProps;
|
|
63
|
+
declare type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
|
|
64
|
+
export declare type FileManagerRendererProps = DistributiveOmit<FileManagerProps, "render" | "children">;
|
|
65
|
+
export declare const FileManagerRenderer: import("@webiny/react-composition").ComposableFC<FileManagerRendererProps>;
|
|
66
|
+
export declare const FileManager: React.FC<FileManagerProps>;
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FileManagerRenderer = exports.FileManager = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
13
|
+
var _reactComposition = require("@webiny/react-composition");
|
|
14
|
+
var _excluded = ["children", "render", "onChange"];
|
|
15
|
+
function getPortalTarget() {
|
|
16
|
+
var target = window.document.getElementById("file-manager-container");
|
|
17
|
+
if (!target) {
|
|
18
|
+
target = document.createElement("div");
|
|
19
|
+
target.setAttribute("id", "file-manager-container");
|
|
20
|
+
document.body && document.body.appendChild(target);
|
|
21
|
+
}
|
|
22
|
+
return target;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!
|
|
26
|
+
|
|
27
|
+
var FileManagerRenderer = (0, _reactComposition.makeComposable)("FileManagerRenderer");
|
|
28
|
+
exports.FileManagerRenderer = FileManagerRenderer;
|
|
29
|
+
var FileManager = function FileManager(_ref) {
|
|
30
|
+
var children = _ref.children,
|
|
31
|
+
render = _ref.render,
|
|
32
|
+
onChange = _ref.onChange,
|
|
33
|
+
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
34
|
+
var containerRef = (0, _react.useRef)(getPortalTarget());
|
|
35
|
+
var _useState = (0, _react.useState)(false),
|
|
36
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
37
|
+
show = _useState2[0],
|
|
38
|
+
setShow = _useState2[1];
|
|
39
|
+
var onChangeRef = (0, _react.useRef)(onChange);
|
|
40
|
+
(0, _react.useEffect)(function () {
|
|
41
|
+
onChangeRef.current = onChange;
|
|
42
|
+
}, [onChange]);
|
|
43
|
+
var showFileManager = (0, _react.useCallback)(function (onChange) {
|
|
44
|
+
if (typeof onChange === "function") {
|
|
45
|
+
onChangeRef.current = onChange;
|
|
46
|
+
}
|
|
47
|
+
setShow(true);
|
|
48
|
+
}, []);
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, show && /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(FileManagerRenderer, Object.assign({
|
|
50
|
+
onClose: function onClose() {
|
|
51
|
+
return setShow(false);
|
|
52
|
+
},
|
|
53
|
+
onChange: /* TODO: figure out how to create a conditional type based on the value of `rest.multiple` */
|
|
54
|
+
onChangeRef.current
|
|
55
|
+
}, rest)), containerRef.current), children ? children({
|
|
56
|
+
showFileManager: showFileManager
|
|
57
|
+
}) : render ? render({
|
|
58
|
+
showFileManager: showFileManager
|
|
59
|
+
}) : null);
|
|
60
|
+
};
|
|
61
|
+
exports.FileManager = FileManager;
|
|
@@ -0,0 +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?: Function;\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"}
|
package/base/ui/Layout.js
CHANGED
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.LayoutRenderer = exports.Layout = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
10
|
var _app = require("@webiny/app");
|
|
15
|
-
|
|
16
11
|
var _excluded = ["children"];
|
|
17
12
|
var Layout = (0, _app.makeComposable)("Layout", function (_ref) {
|
|
18
13
|
var children = _ref.children,
|
|
19
|
-
|
|
14
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
20
15
|
return /*#__PURE__*/_react.default.createElement(LayoutRenderer, props, children);
|
|
21
16
|
});
|
|
22
17
|
exports.Layout = Layout;
|
package/base/ui/Layout.js.map
CHANGED
|
@@ -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":"
|
|
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,16 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.LocaleSelectorRenderer = exports.LocaleSelector = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _app = require("@webiny/app");
|
|
13
|
-
|
|
14
10
|
var LocaleSelector = (0, _app.makeComposable)("LocaleSelector", function () {
|
|
15
11
|
return /*#__PURE__*/_react.default.createElement(LocaleSelectorRenderer, null);
|
|
16
12
|
});
|
|
@@ -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":"
|
|
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"}
|
package/base/ui/LoginScreen.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.LoginScreenRenderer = exports.LoginScreen = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _app = require("@webiny/app");
|
|
13
|
-
|
|
14
10
|
var _Tags = require("./Tags");
|
|
15
|
-
|
|
16
11
|
var LoginScreen = function LoginScreen(_ref) {
|
|
17
12
|
var children = _ref.children;
|
|
18
13
|
return /*#__PURE__*/_react.default.createElement(_Tags.Tags, {
|
|
@@ -21,7 +16,6 @@ var LoginScreen = function LoginScreen(_ref) {
|
|
|
21
16
|
}
|
|
22
17
|
}, /*#__PURE__*/_react.default.createElement(LoginScreenRenderer, null, children));
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
exports.LoginScreen = LoginScreen;
|
|
26
20
|
var LoginScreenRenderer = (0, _app.makeComposable)("LoginScreenRenderer");
|
|
27
21
|
exports.LoginScreenRenderer = LoginScreenRenderer;
|
|
@@ -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":"
|
|
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"}
|
package/base/ui/Logo.js
CHANGED
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.LogoRenderer = exports.Logo = exports.AddLogo = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _app = require("@webiny/app");
|
|
13
|
-
|
|
14
10
|
var Logo = (0, _app.makeComposable)("Logo", function () {
|
|
15
11
|
return /*#__PURE__*/_react.default.createElement(LogoRenderer, null);
|
|
16
12
|
});
|
|
17
13
|
exports.Logo = Logo;
|
|
18
14
|
var LogoRenderer = (0, _app.makeComposable)("LogoRenderer");
|
|
19
15
|
exports.LogoRenderer = LogoRenderer;
|
|
20
|
-
|
|
21
16
|
var AddLogo = function AddLogo(_ref) {
|
|
22
17
|
var logo = _ref.logo;
|
|
23
18
|
var LogoHOC = (0, _react.useMemo)(function () {
|
|
@@ -32,5 +27,4 @@ var AddLogo = function AddLogo(_ref) {
|
|
|
32
27
|
with: LogoHOC
|
|
33
28
|
});
|
|
34
29
|
};
|
|
35
|
-
|
|
36
30
|
exports.AddLogo = AddLogo;
|
package/base/ui/Logo.js.map
CHANGED
|
@@ -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":"
|
|
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"}
|
package/base/ui/Menu.js
CHANGED
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.createEmptyMenu = exports.AddMenu = void 0;
|
|
11
|
-
|
|
12
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
-
|
|
14
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
19
|
-
|
|
20
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
-
|
|
22
14
|
var _ = require("../..");
|
|
23
|
-
|
|
24
15
|
var _excluded = ["children"];
|
|
25
16
|
var MenuContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
26
17
|
MenuContext.displayName = "MenuContext";
|
|
27
|
-
|
|
28
18
|
var useMenu = function useMenu() {
|
|
29
19
|
return (0, _react.useContext)(MenuContext);
|
|
30
20
|
};
|
|
31
|
-
|
|
32
21
|
var createEmptyMenu = function createEmptyMenu(name) {
|
|
33
22
|
return {
|
|
34
23
|
name: name,
|
|
@@ -36,39 +25,33 @@ var createEmptyMenu = function createEmptyMenu(name) {
|
|
|
36
25
|
children: []
|
|
37
26
|
};
|
|
38
27
|
};
|
|
39
|
-
|
|
40
28
|
exports.createEmptyMenu = createEmptyMenu;
|
|
41
29
|
var keys = ["label", "path", "icon", "onClick", "testId", "tags", "target", "rel", "element", "pin"];
|
|
42
|
-
|
|
43
30
|
var mergeMenuItems = function mergeMenuItems(item1, item2) {
|
|
44
31
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _objectSpread3.default)({}, item1), keys.reduce(function (map, key) {
|
|
45
32
|
var _item2$key;
|
|
46
|
-
|
|
47
33
|
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]));
|
|
48
34
|
}, {})), {}, {
|
|
49
35
|
children: (item2.children || []).reduce(function (acc, menu) {
|
|
50
36
|
var index = acc.findIndex(function (i) {
|
|
51
37
|
return i.name === menu.name;
|
|
52
38
|
});
|
|
53
|
-
|
|
54
39
|
if (index > -1) {
|
|
55
40
|
acc[index] = mergeMenuItems(acc[index], menu);
|
|
56
41
|
} else {
|
|
57
42
|
acc.push(menu);
|
|
58
43
|
}
|
|
59
|
-
|
|
60
44
|
return acc;
|
|
61
45
|
}, (0, _toConsumableArray2.default)(item1.children))
|
|
62
46
|
});
|
|
63
47
|
};
|
|
48
|
+
|
|
64
49
|
/**
|
|
65
50
|
* Register a new menu item into the Admin app.
|
|
66
51
|
*/
|
|
67
|
-
|
|
68
|
-
|
|
69
52
|
var AddMenu = function AddMenu(_ref) {
|
|
70
53
|
var children = _ref.children,
|
|
71
|
-
|
|
54
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
72
55
|
var menu = useMenu();
|
|
73
56
|
var navigation = (0, _.useNavigation)();
|
|
74
57
|
(0, _react.useEffect)(function () {
|
|
@@ -79,7 +62,6 @@ var AddMenu = function AddMenu(_ref) {
|
|
|
79
62
|
children: []
|
|
80
63
|
});
|
|
81
64
|
}
|
|
82
|
-
|
|
83
65
|
return mergeMenuItems(existing, props);
|
|
84
66
|
});
|
|
85
67
|
} else {
|
|
@@ -91,11 +73,9 @@ var AddMenu = function AddMenu(_ref) {
|
|
|
91
73
|
if (!existing) {
|
|
92
74
|
return props;
|
|
93
75
|
}
|
|
94
|
-
|
|
95
76
|
return mergeMenuItems(existing, props);
|
|
96
77
|
});
|
|
97
78
|
}
|
|
98
|
-
|
|
99
79
|
return function () {
|
|
100
80
|
if (menu) {
|
|
101
81
|
menu.removeMenu(props.name);
|
|
@@ -113,17 +93,14 @@ var AddMenu = function AddMenu(_ref) {
|
|
|
113
93
|
if (!existing) {
|
|
114
94
|
return undefined;
|
|
115
95
|
}
|
|
116
|
-
|
|
117
96
|
var childIndex = existing.children.findIndex(function (ch) {
|
|
118
97
|
return ch.name === name;
|
|
119
98
|
});
|
|
120
|
-
|
|
121
99
|
if (childIndex > -1) {
|
|
122
100
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
|
|
123
101
|
children: [].concat((0, _toConsumableArray2.default)(existing.children.slice(0, childIndex)), (0, _toConsumableArray2.default)(existing.children.slice(childIndex + 1)))
|
|
124
102
|
});
|
|
125
103
|
}
|
|
126
|
-
|
|
127
104
|
return existing;
|
|
128
105
|
});
|
|
129
106
|
},
|
|
@@ -132,34 +109,28 @@ var AddMenu = function AddMenu(_ref) {
|
|
|
132
109
|
if (!existing) {
|
|
133
110
|
existing = createEmptyMenu(props.name);
|
|
134
111
|
}
|
|
135
|
-
|
|
136
112
|
var subItems = existing.children;
|
|
137
113
|
var childIndex = subItems.findIndex(function (ch) {
|
|
138
114
|
return ch.name === name;
|
|
139
115
|
});
|
|
140
|
-
|
|
141
116
|
if (childIndex === -1) {
|
|
142
117
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
|
|
143
118
|
children: [].concat((0, _toConsumableArray2.default)(subItems), [updater(null)]).filter(Boolean)
|
|
144
119
|
});
|
|
145
120
|
}
|
|
146
|
-
|
|
147
121
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, existing), {}, {
|
|
148
122
|
children: [].concat((0, _toConsumableArray2.default)(subItems.slice(0, childIndex)), [updater(subItems[childIndex])], (0, _toConsumableArray2.default)(subItems.slice(childIndex + 1))).filter(Boolean)
|
|
149
123
|
});
|
|
150
124
|
});
|
|
151
125
|
}
|
|
152
126
|
};
|
|
153
|
-
|
|
154
127
|
if (!children) {
|
|
155
128
|
return null;
|
|
156
129
|
}
|
|
157
|
-
|
|
158
130
|
return /*#__PURE__*/_react.default.createElement(MenuContext.Provider, {
|
|
159
131
|
value: context
|
|
160
132
|
}, children);
|
|
161
133
|
};
|
|
162
|
-
|
|
163
134
|
exports.AddMenu = AddMenu;
|
|
164
135
|
AddMenu.defaultProps = {
|
|
165
136
|
tags: []
|
package/base/ui/Menu.js.map
CHANGED
|
@@ -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":"
|
|
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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"}
|