@webiny/app-admin 5.41.4 → 5.42.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/Admin.js +4 -13
- package/base/Admin.js.map +1 -1
- package/base/providers/TelemetryProvider.d.ts +1 -7
- package/base/providers/TelemetryProvider.js +3 -2
- package/base/providers/TelemetryProvider.js.map +1 -1
- package/base/providers/UiStateProvider.d.ts +1 -7
- package/base/providers/UiStateProvider.js +3 -2
- package/base/providers/UiStateProvider.js.map +1 -1
- package/base/providers/ViewCompositionProvider.js.map +1 -1
- package/base/ui/FileManager.js.map +1 -1
- package/base/ui/Menu.js +4 -4
- package/base/ui/Menu.js.map +1 -1
- package/base/ui/Navigation.d.ts +1 -5
- package/base/ui/Navigation.js +2 -2
- package/base/ui/Navigation.js.map +1 -1
- package/base/ui/Search.d.ts +1 -7
- package/base/ui/Search.js +2 -2
- package/base/ui/Search.js.map +1 -1
- package/base/ui/UserMenu.d.ts +1 -7
- package/base/ui/UserMenu.js +2 -2
- package/base/ui/UserMenu.js.map +1 -1
- package/components/AppInstaller/AppInstaller.js +1 -1
- package/components/AppInstaller/AppInstaller.js.map +1 -1
- package/components/AppInstaller/Sidebar.js +1 -1
- package/components/AppInstaller/Sidebar.js.map +1 -1
- package/components/BulkActions/Worker.js.map +1 -1
- package/components/BulkActions/useDialogWithReport/useDialogWithReport.js.map +1 -1
- package/components/Dialogs/DialogsContext.d.ts +4 -13
- package/components/Dialogs/DialogsContext.js +83 -61
- package/components/Dialogs/DialogsContext.js.map +1 -1
- package/components/IconPicker/IconPicker.d.ts +13 -0
- package/components/IconPicker/IconPicker.js +46 -0
- package/components/IconPicker/IconPicker.js.map +1 -0
- package/components/IconPicker/IconPicker.styles.d.ts +63 -0
- package/components/IconPicker/IconPicker.styles.js +187 -0
- package/components/IconPicker/IconPicker.styles.js.map +1 -0
- package/components/IconPicker/IconPickerComponent.d.ts +16 -0
- package/components/IconPicker/IconPickerComponent.js +101 -0
- package/components/IconPicker/IconPickerComponent.js.map +1 -0
- package/components/IconPicker/IconPickerPresenter.d.ts +52 -0
- package/components/IconPicker/IconPickerPresenter.js +118 -0
- package/components/IconPicker/IconPickerPresenter.js.map +1 -0
- package/components/IconPicker/IconPickerPresenter.test.d.ts +1 -0
- package/components/IconPicker/IconPickerPresenter.test.js +111 -0
- package/components/IconPicker/IconPickerPresenter.test.js.map +1 -0
- package/components/IconPicker/IconPickerPresenterProvider.d.ts +9 -0
- package/components/IconPicker/IconPickerPresenterProvider.js +26 -0
- package/components/IconPicker/IconPickerPresenterProvider.js.map +1 -0
- package/components/IconPicker/IconPickerTab.d.ts +32 -0
- package/components/IconPicker/IconPickerTab.js +169 -0
- package/components/IconPicker/IconPickerTab.js.map +1 -0
- package/components/IconPicker/IconRenderer.d.ts +34 -0
- package/components/IconPicker/IconRenderer.js +35 -0
- package/components/IconPicker/IconRenderer.js.map +1 -0
- package/components/IconPicker/IconRepository.d.ts +19 -0
- package/components/IconPicker/IconRepository.js +79 -0
- package/components/IconPicker/IconRepository.js.map +1 -0
- package/components/IconPicker/IconRepository.test.d.ts +1 -0
- package/components/IconPicker/IconRepository.test.js +68 -0
- package/components/IconPicker/IconRepository.test.js.map +1 -0
- package/components/IconPicker/IconRepositoryFactory.d.ts +9 -0
- package/components/IconPicker/IconRepositoryFactory.js +40 -0
- package/components/IconPicker/IconRepositoryFactory.js.map +1 -0
- package/components/IconPicker/Loading.d.ts +14 -0
- package/components/IconPicker/Loading.js +76 -0
- package/components/IconPicker/Loading.js.map +1 -0
- package/components/IconPicker/config/Emojis.d.ts +2 -0
- package/components/IconPicker/config/Emojis.js +31 -0
- package/components/IconPicker/config/Emojis.js.map +1 -0
- package/components/IconPicker/config/FontAwesomeIcons.d.ts +2 -0
- package/components/IconPicker/config/FontAwesomeIcons.js +74 -0
- package/components/IconPicker/config/FontAwesomeIcons.js.map +1 -0
- package/components/IconPicker/config/IconPackProvider.d.ts +7 -0
- package/components/IconPicker/config/IconPackProvider.js +29 -0
- package/components/IconPicker/config/IconPackProvider.js.map +1 -0
- package/components/IconPicker/config/IconType.d.ts +32 -0
- package/components/IconPicker/config/IconType.js +92 -0
- package/components/IconPicker/config/IconType.js.map +1 -0
- package/components/IconPicker/config/index.d.ts +31 -0
- package/components/IconPicker/config/index.js +63 -0
- package/components/IconPicker/config/index.js.map +1 -0
- package/components/IconPicker/defaultIcon.d.ts +6 -0
- package/components/IconPicker/defaultIcon.js +14 -0
- package/components/IconPicker/defaultIcon.js.map +1 -0
- package/components/IconPicker/index.d.ts +7 -0
- package/components/IconPicker/index.js +49 -0
- package/components/IconPicker/index.js.map +1 -0
- package/components/IconPicker/plugins/customPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/customPlugin.js +157 -0
- package/components/IconPicker/plugins/customPlugin.js.map +1 -0
- package/components/IconPicker/plugins/emojisPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/emojisPlugin.js +164 -0
- package/components/IconPicker/plugins/emojisPlugin.js.map +1 -0
- package/components/IconPicker/plugins/graphql.d.ts +20 -0
- package/components/IconPicker/plugins/graphql.js +18 -0
- package/components/IconPicker/plugins/graphql.js.map +1 -0
- package/components/IconPicker/plugins/iconsPlugin.d.ts +2 -0
- package/components/IconPicker/plugins/iconsPlugin.js +146 -0
- package/components/IconPicker/plugins/iconsPlugin.js.map +1 -0
- package/components/IconPicker/types.d.ts +22 -0
- package/components/IconPicker/types.js +15 -0
- package/components/IconPicker/types.js.map +1 -0
- package/components/MultiImageUpload.js.map +1 -1
- package/components/OverlayLayout/OverlayLayout.js.map +1 -1
- package/components/RichTextEditor/tools/header/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/index.js.map +1 -1
- package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
- package/components/RichTextEditor/tools/image/ui.js.map +1 -1
- package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
- package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
- package/components/SimpleUI/InputField.js.map +1 -1
- package/components/SingleImageUpload.js.map +1 -1
- package/hooks/useConfirmationDialog.js.map +1 -1
- package/hooks/useDialog.js.map +1 -1
- package/hooks/useIsMounted.js.map +1 -1
- package/hooks/useKeyHandler.js.map +1 -1
- package/hooks/useSnackbar.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +12 -0
- package/index.js.map +1 -1
- package/package.json +35 -34
- package/plugins/MenuPlugin.js.map +1 -1
- package/plugins/PermissionRendererPlugin.js.map +1 -1
- package/plugins/globalSearch/SearchBar.js.map +1 -1
- package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
- package/plugins/globalSearch/index.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js +7 -0
- package/types.js.map +1 -1
- package/ui/elements/AccordionElement.js +3 -4
- package/ui/elements/AccordionElement.js.map +1 -1
- package/ui/elements/ButtonElement.js.map +1 -1
- package/ui/elements/ButtonGroupElement.js +2 -3
- package/ui/elements/ButtonGroupElement.js.map +1 -1
- package/ui/elements/LabelElement.js.map +1 -1
- package/ui/elements/NavigationMenuElement.js +2 -3
- package/ui/elements/NavigationMenuElement.js.map +1 -1
- package/ui/elements/PlaceholderElement.js.map +1 -1
- package/ui/elements/SmallButtonElement.js.map +1 -1
- package/ui/elements/TypographyElement.js +2 -3
- package/ui/elements/TypographyElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +2 -3
- package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
- package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
- package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
- package/ui/elements/form/FileManagerElement.js.map +1 -1
- package/ui/elements/form/FormElement.js +3 -4
- package/ui/elements/form/FormElement.js.map +1 -1
- package/ui/elements/form/FormFieldElement.js +3 -3
- package/ui/elements/form/FormFieldElement.js.map +1 -1
- package/ui/elements/form/HiddenElement.js.map +1 -1
- package/ui/elements/form/InputElement.js.map +1 -1
- package/ui/elements/form/PasswordElement.js.map +1 -1
- package/ui/elements/form/SelectElement.js.map +1 -1
- package/ui/elements/form/TextareaElement.js.map +1 -1
- package/ui/views/AdminView/ContentElement.js.map +1 -1
- package/ui/views/AdminView/HeaderElement.js +1 -1
- package/ui/views/AdminView/HeaderElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionCenterElement.js +2 -3
- package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionLeftElement.js +2 -3
- package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
- package/ui/views/AdminView/HeaderSectionRightElement.js +2 -3
- package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
- package/ui/views/FormView/FormContainerElement.js +2 -3
- package/ui/views/FormView/FormContainerElement.js.map +1 -1
- package/ui/views/FormView/FormFooterElement.js +2 -3
- package/ui/views/FormView/FormFooterElement.js.map +1 -1
- package/ui/views/FormView/FormHeaderElement.js +2 -3
- package/ui/views/FormView/FormHeaderElement.js.map +1 -1
- package/ui/views/FormView.js +2 -3
- package/ui/views/FormView.js.map +1 -1
- package/ui/views/OverlayView/ContentElement.js +2 -3
- package/ui/views/OverlayView/ContentElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderElement.js.map +1 -1
- package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
- package/ui/views/OverlayView.js +2 -3
- package/ui/views/OverlayView.js.map +1 -1
- package/ui/views/SplitView/SplitViewPanelElement.js +2 -3
- package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
- package/ui/views/SplitView.js +2 -3
- package/ui/views/SplitView.js.map +1 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Tab = exports.IconTypeProvider = exports.IconType = exports.Icon = void 0;
|
|
8
|
+
exports.useIconType = useIconType;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactProperties = require("@webiny/react-properties");
|
|
11
|
+
var _IconRenderer = require("../IconRenderer");
|
|
12
|
+
var _IconPickerTab = require("../IconPickerTab");
|
|
13
|
+
var IconTypeContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
14
|
+
var IconTypeProvider = exports.IconTypeProvider = function IconTypeProvider(_ref) {
|
|
15
|
+
var type = _ref.type,
|
|
16
|
+
children = _ref.children;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(IconTypeContext.Provider, {
|
|
18
|
+
value: {
|
|
19
|
+
type: type
|
|
20
|
+
}
|
|
21
|
+
}, children);
|
|
22
|
+
};
|
|
23
|
+
function useIconType() {
|
|
24
|
+
var context = _react.default.useContext(IconTypeContext);
|
|
25
|
+
if (!context) {
|
|
26
|
+
throw Error("Missing <IconTypeProvider> in the component tree!");
|
|
27
|
+
}
|
|
28
|
+
return context;
|
|
29
|
+
}
|
|
30
|
+
var IconType = exports.IconType = function IconType(_ref2) {
|
|
31
|
+
var name = _ref2.name,
|
|
32
|
+
_ref2$before = _ref2.before,
|
|
33
|
+
before = _ref2$before === void 0 ? undefined : _ref2$before,
|
|
34
|
+
_ref2$after = _ref2.after,
|
|
35
|
+
after = _ref2$after === void 0 ? undefined : _ref2$after,
|
|
36
|
+
_ref2$remove = _ref2.remove,
|
|
37
|
+
remove = _ref2$remove === void 0 ? false : _ref2$remove,
|
|
38
|
+
children = _ref2.children;
|
|
39
|
+
var getId = (0, _reactProperties.useIdGenerator)("iconType");
|
|
40
|
+
var placeBefore = before !== undefined ? getId(before) : undefined;
|
|
41
|
+
var placeAfter = after !== undefined ? getId(after) : undefined;
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(IconTypeProvider, {
|
|
43
|
+
type: name
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
45
|
+
id: getId(name),
|
|
46
|
+
name: "iconTypes",
|
|
47
|
+
before: placeBefore,
|
|
48
|
+
after: placeAfter,
|
|
49
|
+
remove: remove,
|
|
50
|
+
array: true
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
|
|
52
|
+
id: getId(name, "name"),
|
|
53
|
+
name: "name",
|
|
54
|
+
value: name
|
|
55
|
+
}), children));
|
|
56
|
+
};
|
|
57
|
+
var Icon = exports.Icon = function Icon(_ref3) {
|
|
58
|
+
var element = _ref3.element;
|
|
59
|
+
var _useIconType = useIconType(),
|
|
60
|
+
configType = _useIconType.type;
|
|
61
|
+
var IconDecorator = _IconRenderer.IconRenderer.createDecorator(function (Original) {
|
|
62
|
+
return function IconRenderer() {
|
|
63
|
+
var _useIcon = (0, _IconRenderer.useIcon)(),
|
|
64
|
+
icon = _useIcon.icon;
|
|
65
|
+
if (icon.type !== configType) {
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(Original, null);
|
|
67
|
+
}
|
|
68
|
+
return element;
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement(IconDecorator, null);
|
|
72
|
+
};
|
|
73
|
+
var Tab = exports.Tab = function Tab(_ref4) {
|
|
74
|
+
var element = _ref4.element;
|
|
75
|
+
var _useIconType2 = useIconType(),
|
|
76
|
+
configType = _useIconType2.type;
|
|
77
|
+
var IconPickerTabDecorator = _IconPickerTab.IconPickerTabRenderer.createDecorator(function (Original) {
|
|
78
|
+
return function IconPickerTabRenderer() {
|
|
79
|
+
var _useIconType3 = useIconType(),
|
|
80
|
+
type = _useIconType3.type;
|
|
81
|
+
if (type !== configType) {
|
|
82
|
+
return /*#__PURE__*/_react.default.createElement(Original, null);
|
|
83
|
+
}
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, element);
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement(IconPickerTabDecorator, null);
|
|
88
|
+
};
|
|
89
|
+
IconType.Icon = Icon;
|
|
90
|
+
IconType.Tab = Tab;
|
|
91
|
+
|
|
92
|
+
//# sourceMappingURL=IconType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactProperties","_IconRenderer","_IconPickerTab","IconTypeContext","React","createContext","undefined","IconTypeProvider","exports","_ref","type","children","default","createElement","Provider","value","useIconType","context","useContext","Error","IconType","_ref2","name","_ref2$before","before","_ref2$after","after","_ref2$remove","remove","getId","useIdGenerator","placeBefore","placeAfter","Property","id","array","Icon","_ref3","element","_useIconType","configType","IconDecorator","IconRenderer","createDecorator","Original","_useIcon","useIcon","icon","Tab","_ref4","_useIconType2","IconPickerTabDecorator","IconPickerTabRenderer","_useIconType3","Fragment"],"sources":["IconType.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\n\nimport { IconRenderer, useIcon } from \"../IconRenderer\";\nimport { IconPickerTabRenderer } from \"../IconPickerTab\";\n\nexport type IconTypeProps = {\n name: string;\n before?: string;\n after?: string;\n remove?: boolean;\n children?: React.ReactNode;\n};\n\ninterface IconTypeContext {\n type: string;\n}\n\nconst IconTypeContext = React.createContext<IconTypeContext | undefined>(undefined);\n\ninterface IconTypeProviderProps {\n type: string;\n children: React.ReactNode;\n}\n\nexport const IconTypeProvider = ({ type, children }: IconTypeProviderProps) => {\n return <IconTypeContext.Provider value={{ type }}>{children}</IconTypeContext.Provider>;\n};\n\nexport function useIconType() {\n const context = React.useContext(IconTypeContext);\n if (!context) {\n throw Error(`Missing <IconTypeProvider> in the component tree!`);\n }\n return context;\n}\n\nexport interface IconType extends React.FC<IconTypeProps> {\n Icon: typeof Icon;\n Tab: typeof Tab;\n}\n\nexport const IconType: IconType = ({\n name,\n before = undefined,\n after = undefined,\n remove = false,\n children\n}) => {\n const getId = useIdGenerator(\"iconType\");\n\n const placeBefore = before !== undefined ? getId(before) : undefined;\n const placeAfter = after !== undefined ? getId(after) : undefined;\n\n return (\n <IconTypeProvider type={name}>\n <Property\n id={getId(name)}\n name={\"iconTypes\"}\n before={placeBefore}\n after={placeAfter}\n remove={remove}\n array={true}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n {children}\n </Property>\n </IconTypeProvider>\n );\n};\n\nexport type IconProps = {\n element: React.ReactElement;\n};\n\nexport const Icon = ({ element }: IconProps) => {\n const { type: configType } = useIconType();\n\n const IconDecorator = IconRenderer.createDecorator(Original => {\n return function IconRenderer() {\n const { icon } = useIcon();\n\n if (icon.type !== configType) {\n return <Original />;\n }\n\n return element;\n };\n });\n\n return <IconDecorator />;\n};\n\nexport type TabProps = {\n element: React.ReactElement;\n};\n\nexport const Tab = ({ element }: TabProps) => {\n const { type: configType } = useIconType();\n\n const IconPickerTabDecorator = IconPickerTabRenderer.createDecorator(Original => {\n return function IconPickerTabRenderer() {\n const { type } = useIconType();\n\n if (type !== configType) {\n return <Original />;\n }\n\n return <>{element}</>;\n };\n });\n\n return <IconPickerTabDecorator />;\n};\n\nIconType.Icon = Icon;\nIconType.Tab = Tab;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IconType } from "./IconType";
|
|
3
|
+
import { Icon } from "../types";
|
|
4
|
+
export declare const IconPickerConfig: (({ priority, children }: import("@webiny/react-properties").ConfigProps) => React.JSX.Element) & {
|
|
5
|
+
IconPack: ({ name, provider }: import("./IconPackProvider").IconPackProviderProps) => React.JSX.Element;
|
|
6
|
+
IconType: IconType;
|
|
7
|
+
};
|
|
8
|
+
export declare const IconPickerWithConfig: ({ onProperties, children }: import("@webiny/react-properties").WithConfigProps) => React.JSX.Element;
|
|
9
|
+
export declare const IconPickerConfigProvider: import("@webiny/app").Decorator<import("@webiny/app").GenericComponent<import("@webiny/app").ChildrenProps>>;
|
|
10
|
+
export interface IconPackLoader {
|
|
11
|
+
(): Promise<Icon[]>;
|
|
12
|
+
}
|
|
13
|
+
interface IconTypeInterface {
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
export { IconTypeInterface as IconType };
|
|
17
|
+
export interface IconPackProviderInterface {
|
|
18
|
+
name: string;
|
|
19
|
+
getIcons(): Promise<Icon[]>;
|
|
20
|
+
}
|
|
21
|
+
declare class IconPackProvider implements IconPackProviderInterface {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
private readonly loader;
|
|
24
|
+
constructor(name: string, loader: IconPackLoader);
|
|
25
|
+
getIcons(): Promise<Icon[]>;
|
|
26
|
+
}
|
|
27
|
+
export declare function useIconPickerConfig(): {
|
|
28
|
+
iconTypes: IconTypeInterface[];
|
|
29
|
+
iconPackProviders: IconPackProvider[];
|
|
30
|
+
};
|
|
31
|
+
export declare const DefaultIcons: () => React.JSX.Element;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.IconPickerWithConfig = exports.IconPickerConfigProvider = exports.IconPickerConfig = exports.DefaultIcons = void 0;
|
|
9
|
+
exports.useIconPickerConfig = useIconPickerConfig;
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _reactProperties = require("@webiny/react-properties");
|
|
14
|
+
var _IconPackProvider = require("./IconPackProvider");
|
|
15
|
+
var _IconType = require("./IconType");
|
|
16
|
+
var _iconsPlugin = require("../plugins/iconsPlugin");
|
|
17
|
+
var _emojisPlugin = require("../plugins/emojisPlugin");
|
|
18
|
+
var _customPlugin = require("../plugins/customPlugin");
|
|
19
|
+
var _app = require("@webiny/app");
|
|
20
|
+
var _Emojis = require("./Emojis");
|
|
21
|
+
var _FontAwesomeIcons = require("./FontAwesomeIcons");
|
|
22
|
+
var base = (0, _reactProperties.createConfigurableComponent)("IconPicker");
|
|
23
|
+
var IconPickerConfig = exports.IconPickerConfig = Object.assign(base.Config, {
|
|
24
|
+
IconPack: _IconPackProvider.IconPackProvider,
|
|
25
|
+
IconType: _IconType.IconType
|
|
26
|
+
});
|
|
27
|
+
var IconPickerWithConfig = exports.IconPickerWithConfig = base.WithConfig;
|
|
28
|
+
var IconPickerConfigProvider = exports.IconPickerConfigProvider = (0, _app.createProvider)(function (Original) {
|
|
29
|
+
return function IconPickerConfigProvider(_ref) {
|
|
30
|
+
var children = _ref.children;
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(IconPickerWithConfig, null, /*#__PURE__*/_react.default.createElement(Original, null, children));
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
var IconPackProvider = /*#__PURE__*/function () {
|
|
35
|
+
function IconPackProvider(name, loader) {
|
|
36
|
+
(0, _classCallCheck2.default)(this, IconPackProvider);
|
|
37
|
+
this.name = name;
|
|
38
|
+
this.loader = loader;
|
|
39
|
+
}
|
|
40
|
+
return (0, _createClass2.default)(IconPackProvider, [{
|
|
41
|
+
key: "getIcons",
|
|
42
|
+
value: function getIcons() {
|
|
43
|
+
return this.loader();
|
|
44
|
+
}
|
|
45
|
+
}]);
|
|
46
|
+
}();
|
|
47
|
+
function useIconPickerConfig() {
|
|
48
|
+
var config = base.useConfig();
|
|
49
|
+
var iconPackProviders = config.iconPackProviders || [];
|
|
50
|
+
return (0, _react.useMemo)(function () {
|
|
51
|
+
return {
|
|
52
|
+
iconTypes: config.iconTypes || [],
|
|
53
|
+
iconPackProviders: iconPackProviders.map(function (provider) {
|
|
54
|
+
return new IconPackProvider(provider.name, provider.load);
|
|
55
|
+
})
|
|
56
|
+
};
|
|
57
|
+
}, [config]);
|
|
58
|
+
}
|
|
59
|
+
var DefaultIcons = exports.DefaultIcons = function DefaultIcons() {
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_iconsPlugin.SimpleIconPlugin, null), /*#__PURE__*/_react.default.createElement(_emojisPlugin.EmojiPlugin, null), /*#__PURE__*/_react.default.createElement(_customPlugin.CustomIconPlugin, null), /*#__PURE__*/_react.default.createElement(_Emojis.Emojis, null), /*#__PURE__*/_react.default.createElement(_FontAwesomeIcons.FontAwesomeIcons, null));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactProperties","_IconPackProvider","_IconType","_iconsPlugin","_emojisPlugin","_customPlugin","_app","_Emojis","_FontAwesomeIcons","base","createConfigurableComponent","IconPickerConfig","exports","Object","assign","Config","IconPack","IconType","IconPickerWithConfig","WithConfig","IconPickerConfigProvider","createProvider","Original","_ref","children","default","createElement","IconPackProvider","name","loader","_classCallCheck2","_createClass2","key","value","getIcons","useIconPickerConfig","config","useConfig","iconPackProviders","useMemo","iconTypes","map","provider","load","DefaultIcons","Fragment","SimpleIconPlugin","EmojiPlugin","CustomIconPlugin","Emojis","FontAwesomeIcons"],"sources":["index.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { IconPackProvider as IconPack } from \"./IconPackProvider\";\nimport { IconType } from \"./IconType\";\nimport { SimpleIconPlugin } from \"../plugins/iconsPlugin\";\nimport { EmojiPlugin } from \"../plugins/emojisPlugin\";\nimport { CustomIconPlugin } from \"../plugins/customPlugin\";\nimport { Icon } from \"../types\";\nimport { createProvider } from \"@webiny/app\";\nimport { Emojis } from \"./Emojis\";\nimport { FontAwesomeIcons } from \"./FontAwesomeIcons\";\n\nconst base = createConfigurableComponent<IconPickerConfig>(\"IconPicker\");\n\nexport const IconPickerConfig = Object.assign(base.Config, { IconPack, IconType });\nexport const IconPickerWithConfig = base.WithConfig;\n\nexport const IconPickerConfigProvider = createProvider(Original => {\n return function IconPickerConfigProvider({ children }) {\n return (\n <IconPickerWithConfig>\n <Original>{children}</Original>\n </IconPickerWithConfig>\n );\n };\n});\n\nexport interface IconPackLoader {\n (): Promise<Icon[]>;\n}\n\ninterface IconTypeInterface {\n name: string;\n}\n\nexport { IconTypeInterface as IconType };\n\ninterface IconPickerConfig {\n iconTypes: IconTypeInterface[];\n iconPackProviders: {\n name: string;\n load: IconPackLoader;\n }[];\n}\n\nexport interface IconPackProviderInterface {\n name: string;\n getIcons(): Promise<Icon[]>;\n}\n\nclass IconPackProvider implements IconPackProviderInterface {\n public readonly name: string;\n private readonly loader: IconPackLoader;\n\n constructor(name: string, loader: IconPackLoader) {\n this.name = name;\n this.loader = loader;\n }\n\n getIcons(): Promise<Icon[]> {\n return this.loader();\n }\n}\n\nexport function useIconPickerConfig() {\n const config = base.useConfig();\n\n const iconPackProviders = config.iconPackProviders || [];\n\n return useMemo(\n () => ({\n iconTypes: config.iconTypes || [],\n iconPackProviders: iconPackProviders.map(\n provider => new IconPackProvider(provider.name, provider.load)\n )\n }),\n [config]\n );\n}\n\nexport const DefaultIcons = () => {\n return (\n <>\n <SimpleIconPlugin />\n <EmojiPlugin />\n <CustomIconPlugin />\n <Emojis />\n <FontAwesomeIcons />\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.defaultIcon = void 0;
|
|
7
|
+
var defaultIcon = exports.defaultIcon = {
|
|
8
|
+
type: "icon",
|
|
9
|
+
name: "regular_star",
|
|
10
|
+
value: '<path fill="currentColor" d="M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3l153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4L459.8 484c1.5 9-2.2 18.1-9.6 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6l68.6-141.3C270.4 5.2 278.7 0 287.9 0zm0 79l-52.5 108.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9l85.9 85.1c5.5 5.5 8.1 13.3 6.8 21l-20.3 119.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2l-20.2-119.6c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1l-118.3-17.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"/>',
|
|
11
|
+
width: 576
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=defaultIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["defaultIcon","exports","type","name","value","width"],"sources":["defaultIcon.ts"],"sourcesContent":["export const defaultIcon = {\n type: \"icon\",\n name: \"regular_star\",\n value: '<path fill=\"currentColor\" d=\"M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3l153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4L459.8 484c1.5 9-2.2 18.1-9.6 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6l68.6-141.3C270.4 5.2 278.7 0 287.9 0zm0 79l-52.5 108.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9l85.9 85.1c5.5 5.5 8.1 13.3 6.8 21l-20.3 119.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2l-20.2-119.6c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1l-118.3-17.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z\"/>',\n width: 576\n};\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACvBE,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE,+mBAA+mB;EACtnBC,KAAK,EAAE;AACX,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { IconPicker } from "./IconPicker";
|
|
2
|
+
export { IconPickerConfig } from "./config";
|
|
3
|
+
export { useIcon } from "./IconRenderer";
|
|
4
|
+
export { useIconPicker } from "./IconPickerPresenterProvider";
|
|
5
|
+
export { useIconType } from "./config/IconType";
|
|
6
|
+
export { defaultIcon } from "./defaultIcon";
|
|
7
|
+
export type { Icon } from "./types";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "IconPicker", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _IconPicker.IconPicker;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "IconPickerConfig", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _config.IconPickerConfig;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "defaultIcon", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _defaultIcon.defaultIcon;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "useIcon", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _IconRenderer.useIcon;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "useIconPicker", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _IconPickerPresenterProvider.useIconPicker;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "useIconType", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _IconType.useIconType;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var _IconPicker = require("./IconPicker");
|
|
43
|
+
var _config = require("./config");
|
|
44
|
+
var _IconRenderer = require("./IconRenderer");
|
|
45
|
+
var _IconPickerPresenterProvider = require("./IconPickerPresenterProvider");
|
|
46
|
+
var _IconType = require("./config/IconType");
|
|
47
|
+
var _defaultIcon = require("./defaultIcon");
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_IconPicker","require","_config","_IconRenderer","_IconPickerPresenterProvider","_IconType","_defaultIcon"],"sources":["index.tsx"],"sourcesContent":["export { IconPicker } from \"./IconPicker\";\nexport { IconPickerConfig } from \"./config\";\nexport { useIcon } from \"./IconRenderer\";\nexport { useIconPicker } from \"./IconPickerPresenterProvider\";\nexport { useIconType } from \"./config/IconType\";\nexport { defaultIcon } from \"./defaultIcon\";\nexport type { Icon } from \"./types\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.CustomIconPlugin = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
12
|
+
var _mobxReactLite = require("mobx-react-lite");
|
|
13
|
+
var _Button = require("@webiny/ui/Button");
|
|
14
|
+
var _FileManager = require("../../../base/ui/FileManager");
|
|
15
|
+
var _IconPickerTab = require("../IconPickerTab");
|
|
16
|
+
var _ = require("..");
|
|
17
|
+
var _IconPickerPresenterProvider = require("../IconPickerPresenterProvider");
|
|
18
|
+
var _config = require("../config");
|
|
19
|
+
var _graphql = require("./graphql");
|
|
20
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
21
|
+
var AddButton = /*#__PURE__*/(0, _base.default)(_Button.ButtonSecondary, process.env.NODE_ENV === "production" ? {
|
|
22
|
+
target: "ecisavg0"
|
|
23
|
+
} : {
|
|
24
|
+
target: "ecisavg0",
|
|
25
|
+
label: "AddButton"
|
|
26
|
+
})(process.env.NODE_ENV === "production" ? {
|
|
27
|
+
name: "1eeskvi",
|
|
28
|
+
styles: "&.mdc-button{height:40px;}"
|
|
29
|
+
} : {
|
|
30
|
+
name: "1eeskvi",
|
|
31
|
+
styles: "&.mdc-button{height:40px;}",
|
|
32
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImN1c3RvbVBsdWdpbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZXlDIiwiZmlsZSI6ImN1c3RvbVBsdWdpbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VBcG9sbG9DbGllbnQgfSBmcm9tIFwiQGFwb2xsby9yZWFjdC1ob29rc1wiO1xuaW1wb3J0IHsgb2JzZXJ2ZXIgfSBmcm9tIFwibW9ieC1yZWFjdC1saXRlXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcblxuaW1wb3J0IHsgQnV0dG9uU2Vjb25kYXJ5IH0gZnJvbSBcIkB3ZWJpbnkvdWkvQnV0dG9uXCI7XG5cbmltcG9ydCB7IEZpbGVNYW5hZ2VyLCBGaWxlTWFuYWdlckZpbGVJdGVtIH0gZnJvbSBcIn4vYmFzZS91aS9GaWxlTWFuYWdlclwiO1xuaW1wb3J0IHsgSWNvblBpY2tlclRhYiB9IGZyb20gXCIuLi9JY29uUGlja2VyVGFiXCI7XG5pbXBvcnQgeyB1c2VJY29uIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyB1c2VJY29uUGlja2VyIH0gZnJvbSBcIi4uL0ljb25QaWNrZXJQcmVzZW50ZXJQcm92aWRlclwiO1xuaW1wb3J0IHsgSWNvblBpY2tlckNvbmZpZyB9IGZyb20gXCIuLi9jb25maWdcIjtcbmltcG9ydCB7IExpc3RDdXN0b21JY29uc1F1ZXJ5UmVzcG9uc2UsIExJU1RfQ1VTVE9NX0lDT05TIH0gZnJvbSBcIi4vZ3JhcGhxbFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBBZGRCdXR0b24gPSBzdHlsZWQoQnV0dG9uU2Vjb25kYXJ5KWBcbiAgICAmLm1kYy1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuYDtcblxuLyoqXG4gKiBOT1RFOiBBdm9pZCB1c2luZyBgQGVtb3Rpb24vc3R5bGVkYCBpbiBpY29uIHJlbmRlcmVyIGNvbXBvbmVudHMgYWNyb3NzIGFsbCBwbHVnaW5zLlxuICogVGhpcyBpcyBjcnVjaWFsIGZvciBzZXJpYWxpemluZyBjb21wb25lbnQgcmVuZGVyaW5nIGludG8gYSBzdHJpbmcgdmFsdWUgYXMgcGxhaW4gSFRNTCxcbiAqIHdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IgdXNhZ2UgaW4gdGhlIHdlYnNpdGUgYXBwbGljYXRpb24uIFBsZWFzZSB1c2UgaW5saW5lIHN0eWxlcyBoZXJlXG4gKiB0byBlbnN1cmUgcHJvcGVyIHNlcmlhbGl6YXRpb24uXG4gKi9cblxuY29uc3QgQ3VzdG9tSWNvbiA9ICgpID0+IHtcbiAgICBjb25zdCB7IGljb24sIHNpemUgfSA9IHVzZUljb248SWNvbj4oKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIHdpZHRoPXtzaXplfVxuICAgICAgICAgICAgaGVpZ2h0PXtzaXplfVxuICAgICAgICAgICAgc3JjPXtpY29uLnZhbHVlfVxuICAgICAgICAgICAgYWx0PXtpY29uLm5hbWV9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246IFwibWlkZGxlXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgKTtcbn07XG5cbmludGVyZmFjZSBJY29uRmlsZVBpY2tlclByb3BzIHtcbiAgICBvblVwbG9hZDogKGZpbGU6IEZpbGVNYW5hZ2VyRmlsZUl0ZW0pID0+IHZvaWQ7XG4gICAgb25DaGFuZ2U6IChmaWxlOiBGaWxlTWFuYWdlckZpbGVJdGVtKSA9PiB2b2lkO1xufVxuXG5jb25zdCBJY29uRmlsZVBpY2tlciA9ICh7IG9uVXBsb2FkLCBvbkNoYW5nZSB9OiBJY29uRmlsZVBpY2tlclByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPEZpbGVNYW5hZ2VyXG4gICAgICAgICAgICBvblVwbG9hZENvbXBsZXRpb249eyhbZmlsZV0pID0+IHtcbiAgICAgICAgICAgICAgICBvblVwbG9hZChmaWxlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBzY29wZT1cInNjb3BlOmljb25QaWNrZXJcIlxuICAgICAgICAgICAgYWNjZXB0PXtbXCJpbWFnZS9zdmcreG1sXCJdfVxuICAgICAgICA+XG4gICAgICAgICAgICB7KHsgc2hvd0ZpbGVNYW5hZ2VyIH0pID0+IChcbiAgICAgICAgICAgICAgICA8QWRkQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dGaWxlTWFuYWdlcigpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQnJvd3NlXG4gICAgICAgICAgICAgICAgPC9BZGRCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L0ZpbGVNYW5hZ2VyPlxuICAgICk7XG59O1xuXG5mdW5jdGlvbiBnZXROYW1lT3JJZChmaWxlOiBGaWxlTWFuYWdlckZpbGVJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lID0gKGZpbGUubWV0YSB8fCBbXSkuZmluZChvYmogPT4gb2JqLmtleSA9PT0gXCJuYW1lXCIpO1xuXG4gICAgcmV0dXJuIG5hbWUgPyBuYW1lLnZhbHVlIDogZmlsZS5pZDtcbn1cblxuY29uc3QgQ3VzdG9tSWNvblRhYiA9IG9ic2VydmVyKCgpID0+IHtcbiAgICBjb25zdCBwcmVzZW50ZXIgPSB1c2VJY29uUGlja2VyKCk7XG5cbiAgICBjb25zdCBvbkljb25TZWxlY3QgPSAoaWNvbjogSWNvbikgPT4ge1xuICAgICAgICBwcmVzZW50ZXIuc2V0SWNvbihpY29uKTtcbiAgICAgICAgcHJlc2VudGVyLmNsb3NlTWVudSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkljb25GaWxlU2VsZWN0ID0gKGZpbGU6IEZpbGVNYW5hZ2VyRmlsZUl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGdldE5hbWVPcklkKGZpbGUpO1xuXG4gICAgICAgIHByZXNlbnRlci5zZXRJY29uKHtcbiAgICAgICAgICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmFsdWU6IGZpbGUuc3JjXG4gICAgICAgIH0pO1xuICAgICAgICBwcmVzZW50ZXIuY2xvc2VNZW51KCk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9uSWNvbkZpbGVVcGxvYWQgPSAoZmlsZTogRmlsZU1hbmFnZXJGaWxlSXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gZ2V0TmFtZU9ySWQoZmlsZSk7XG5cbiAgICAgICAgY29uc3QgaWNvbiA9IHtcbiAgICAgICAgICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmFsdWU6IGZpbGUuc3JjXG4gICAgICAgIH07XG5cbiAgICAgICAgcHJlc2VudGVyLmFkZEljb24oaWNvbik7XG4gICAgICAgIHByZXNlbnRlci5zZXRJY29uKGljb24pO1xuICAgICAgICBwcmVzZW50ZXIuY2xvc2VNZW51KCk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxJY29uUGlja2VyVGFiXG4gICAgICAgICAgICBsYWJlbD17XCJDdXN0b21cIn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkljb25TZWxlY3R9XG4gICAgICAgICAgICBhY3Rpb25zPXs8SWNvbkZpbGVQaWNrZXIgb25DaGFuZ2U9e29uSWNvbkZpbGVTZWxlY3R9IG9uVXBsb2FkPXtvbkljb25GaWxlVXBsb2FkfSAvPn1cbiAgICAgICAgLz5cbiAgICApO1xufSk7XG5cbmV4cG9ydCBjb25zdCBDdXN0b21JY29uUGx1Z2luID0gKCkgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IHVzZUFwb2xsb0NsaWVudCgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEljb25QaWNrZXJDb25maWc+XG4gICAgICAgICAgICA8SWNvblBpY2tlckNvbmZpZy5JY29uUGFja1xuICAgICAgICAgICAgICAgIG5hbWU9XCJjdXN0b21cIlxuICAgICAgICAgICAgICAgIHByb3ZpZGVyPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YTogcmVzcG9uc2UgfSA9IGF3YWl0IGNsaWVudC5xdWVyeTxMaXN0Q3VzdG9tSWNvbnNRdWVyeVJlc3BvbnNlPih7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeTogTElTVF9DVVNUT01fSUNPTlMsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW1pdDogMTAwMDBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTmV0d29yayBlcnJvciB3aGlsZSBsaXN0aW5nIGN1c3RvbSBpY29ucy5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGVycm9yIH0gPSByZXNwb25zZS5maWxlTWFuYWdlci5saXN0RmlsZXM7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3I/Lm1lc3NhZ2UgfHwgXCJDb3VsZCBub3QgZmV0Y2ggY3VzdG9tIGljb25zLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm1hcChjdXN0b21JY29uID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImN1c3RvbVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY3VzdG9tSWNvbi5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGN1c3RvbUljb24uc3JjXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxJY29uUGlja2VyQ29uZmlnLkljb25UeXBlIG5hbWU9e1wiY3VzdG9tXCJ9PlxuICAgICAgICAgICAgICAgIDxJY29uUGlja2VyQ29uZmlnLkljb25UeXBlLkljb24gZWxlbWVudD17PEN1c3RvbUljb24gLz59IC8+XG4gICAgICAgICAgICAgICAgPEljb25QaWNrZXJDb25maWcuSWNvblR5cGUuVGFiIGVsZW1lbnQ9ezxDdXN0b21JY29uVGFiIC8+fSAvPlxuICAgICAgICAgICAgPC9JY29uUGlja2VyQ29uZmlnLkljb25UeXBlPlxuICAgICAgICA8L0ljb25QaWNrZXJDb25maWc+XG4gICAgKTtcbn07XG4iXX0= */",
|
|
33
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.
|
|
38
|
+
* This is crucial for serializing component rendering into a string value as plain HTML,
|
|
39
|
+
* which is necessary for usage in the website application. Please use inline styles here
|
|
40
|
+
* to ensure proper serialization.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
var CustomIcon = function CustomIcon() {
|
|
44
|
+
var _useIcon = (0, _.useIcon)(),
|
|
45
|
+
icon = _useIcon.icon,
|
|
46
|
+
size = _useIcon.size;
|
|
47
|
+
return /*#__PURE__*/_react.default.createElement("img", {
|
|
48
|
+
width: size,
|
|
49
|
+
height: size,
|
|
50
|
+
src: icon.value,
|
|
51
|
+
alt: icon.name,
|
|
52
|
+
style: {
|
|
53
|
+
verticalAlign: "middle"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
var IconFilePicker = function IconFilePicker(_ref) {
|
|
58
|
+
var onUpload = _ref.onUpload,
|
|
59
|
+
onChange = _ref.onChange;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_FileManager.FileManager, {
|
|
61
|
+
onUploadCompletion: function onUploadCompletion(_ref2) {
|
|
62
|
+
var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
|
|
63
|
+
file = _ref3[0];
|
|
64
|
+
onUpload(file);
|
|
65
|
+
},
|
|
66
|
+
onChange: onChange,
|
|
67
|
+
scope: "scope:iconPicker",
|
|
68
|
+
accept: ["image/svg+xml"]
|
|
69
|
+
}, function (_ref4) {
|
|
70
|
+
var showFileManager = _ref4.showFileManager;
|
|
71
|
+
return /*#__PURE__*/_react.default.createElement(AddButton, {
|
|
72
|
+
onClick: function onClick() {
|
|
73
|
+
showFileManager();
|
|
74
|
+
}
|
|
75
|
+
}, "Browse");
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
function getNameOrId(file) {
|
|
79
|
+
var name = (file.meta || []).find(function (obj) {
|
|
80
|
+
return obj.key === "name";
|
|
81
|
+
});
|
|
82
|
+
return name ? name.value : file.id;
|
|
83
|
+
}
|
|
84
|
+
var CustomIconTab = (0, _mobxReactLite.observer)(function () {
|
|
85
|
+
var presenter = (0, _IconPickerPresenterProvider.useIconPicker)();
|
|
86
|
+
var onIconSelect = function onIconSelect(icon) {
|
|
87
|
+
presenter.setIcon(icon);
|
|
88
|
+
presenter.closeMenu();
|
|
89
|
+
};
|
|
90
|
+
var onIconFileSelect = function onIconFileSelect(file) {
|
|
91
|
+
var name = getNameOrId(file);
|
|
92
|
+
presenter.setIcon({
|
|
93
|
+
type: "custom",
|
|
94
|
+
name: name,
|
|
95
|
+
value: file.src
|
|
96
|
+
});
|
|
97
|
+
presenter.closeMenu();
|
|
98
|
+
};
|
|
99
|
+
var onIconFileUpload = function onIconFileUpload(file) {
|
|
100
|
+
var name = getNameOrId(file);
|
|
101
|
+
var icon = {
|
|
102
|
+
type: "custom",
|
|
103
|
+
name: name,
|
|
104
|
+
value: file.src
|
|
105
|
+
};
|
|
106
|
+
presenter.addIcon(icon);
|
|
107
|
+
presenter.setIcon(icon);
|
|
108
|
+
presenter.closeMenu();
|
|
109
|
+
};
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_IconPickerTab.IconPickerTab, {
|
|
111
|
+
label: "Custom",
|
|
112
|
+
onChange: onIconSelect,
|
|
113
|
+
actions: /*#__PURE__*/_react.default.createElement(IconFilePicker, {
|
|
114
|
+
onChange: onIconFileSelect,
|
|
115
|
+
onUpload: onIconFileUpload
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
var CustomIconPlugin = exports.CustomIconPlugin = function CustomIconPlugin() {
|
|
120
|
+
var client = (0, _reactHooks.useApolloClient)();
|
|
121
|
+
return /*#__PURE__*/_react.default.createElement(_config.IconPickerConfig, null, /*#__PURE__*/_react.default.createElement(_config.IconPickerConfig.IconPack, {
|
|
122
|
+
name: "custom",
|
|
123
|
+
provider: async function provider() {
|
|
124
|
+
var _await$client$query = await client.query({
|
|
125
|
+
query: _graphql.LIST_CUSTOM_ICONS,
|
|
126
|
+
variables: {
|
|
127
|
+
limit: 10000
|
|
128
|
+
}
|
|
129
|
+
}),
|
|
130
|
+
response = _await$client$query.data;
|
|
131
|
+
if (!response) {
|
|
132
|
+
throw new Error("Network error while listing custom icons.");
|
|
133
|
+
}
|
|
134
|
+
var _response$fileManager = response.fileManager.listFiles,
|
|
135
|
+
data = _response$fileManager.data,
|
|
136
|
+
error = _response$fileManager.error;
|
|
137
|
+
if (!data) {
|
|
138
|
+
throw new Error(error?.message || "Could not fetch custom icons.");
|
|
139
|
+
}
|
|
140
|
+
return data.map(function (customIcon) {
|
|
141
|
+
return {
|
|
142
|
+
type: "custom",
|
|
143
|
+
name: customIcon.name,
|
|
144
|
+
value: customIcon.src
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}), /*#__PURE__*/_react.default.createElement(_config.IconPickerConfig.IconType, {
|
|
149
|
+
name: "custom"
|
|
150
|
+
}, /*#__PURE__*/_react.default.createElement(_config.IconPickerConfig.IconType.Icon, {
|
|
151
|
+
element: /*#__PURE__*/_react.default.createElement(CustomIcon, null)
|
|
152
|
+
}), /*#__PURE__*/_react.default.createElement(_config.IconPickerConfig.IconType.Tab, {
|
|
153
|
+
element: /*#__PURE__*/_react.default.createElement(CustomIconTab, null)
|
|
154
|
+
})));
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=customPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactHooks","_mobxReactLite","_Button","_FileManager","_IconPickerTab","_","_IconPickerPresenterProvider","_config","_graphql","_EMOTION_STRINGIFIED_CSS_ERROR__","AddButton","_base","default","ButtonSecondary","process","env","NODE_ENV","target","label","name","styles","map","toString","CustomIcon","_useIcon","useIcon","icon","size","createElement","width","height","src","value","alt","style","verticalAlign","IconFilePicker","_ref","onUpload","onChange","FileManager","onUploadCompletion","_ref2","_ref3","_slicedToArray2","file","scope","accept","_ref4","showFileManager","onClick","getNameOrId","meta","find","obj","key","id","CustomIconTab","observer","presenter","useIconPicker","onIconSelect","setIcon","closeMenu","onIconFileSelect","type","onIconFileUpload","addIcon","IconPickerTab","actions","CustomIconPlugin","exports","client","useApolloClient","IconPickerConfig","IconPack","provider","_await$client$query","query","LIST_CUSTOM_ICONS","variables","limit","response","data","Error","_response$fileManager","fileManager","listFiles","error","message","customIcon","IconType","Icon","element","Tab"],"sources":["customPlugin.tsx"],"sourcesContent":["import React from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { observer } from \"mobx-react-lite\";\nimport styled from \"@emotion/styled\";\n\nimport { ButtonSecondary } from \"@webiny/ui/Button\";\n\nimport { FileManager, FileManagerFileItem } from \"~/base/ui/FileManager\";\nimport { IconPickerTab } from \"../IconPickerTab\";\nimport { useIcon } from \"..\";\nimport { useIconPicker } from \"../IconPickerPresenterProvider\";\nimport { IconPickerConfig } from \"../config\";\nimport { ListCustomIconsQueryResponse, LIST_CUSTOM_ICONS } from \"./graphql\";\nimport { Icon } from \"../types\";\n\nconst AddButton = styled(ButtonSecondary)`\n &.mdc-button {\n height: 40px;\n }\n`;\n\n/**\n * NOTE: Avoid using `@emotion/styled` in icon renderer components across all plugins.\n * This is crucial for serializing component rendering into a string value as plain HTML,\n * which is necessary for usage in the website application. Please use inline styles here\n * to ensure proper serialization.\n */\n\nconst CustomIcon = () => {\n const { icon, size } = useIcon<Icon>();\n\n return (\n <img\n width={size}\n height={size}\n src={icon.value}\n alt={icon.name}\n style={{\n verticalAlign: \"middle\"\n }}\n />\n );\n};\n\ninterface IconFilePickerProps {\n onUpload: (file: FileManagerFileItem) => void;\n onChange: (file: FileManagerFileItem) => void;\n}\n\nconst IconFilePicker = ({ onUpload, onChange }: IconFilePickerProps) => {\n return (\n <FileManager\n onUploadCompletion={([file]) => {\n onUpload(file);\n }}\n onChange={onChange}\n scope=\"scope:iconPicker\"\n accept={[\"image/svg+xml\"]}\n >\n {({ showFileManager }) => (\n <AddButton\n onClick={() => {\n showFileManager();\n }}\n >\n Browse\n </AddButton>\n )}\n </FileManager>\n );\n};\n\nfunction getNameOrId(file: FileManagerFileItem): string {\n const name = (file.meta || []).find(obj => obj.key === \"name\");\n\n return name ? name.value : file.id;\n}\n\nconst CustomIconTab = observer(() => {\n const presenter = useIconPicker();\n\n const onIconSelect = (icon: Icon) => {\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n const onIconFileSelect = (file: FileManagerFileItem) => {\n const name = getNameOrId(file);\n\n presenter.setIcon({\n type: \"custom\",\n name,\n value: file.src\n });\n presenter.closeMenu();\n };\n\n const onIconFileUpload = (file: FileManagerFileItem) => {\n const name = getNameOrId(file);\n\n const icon = {\n type: \"custom\",\n name,\n value: file.src\n };\n\n presenter.addIcon(icon);\n presenter.setIcon(icon);\n presenter.closeMenu();\n };\n\n return (\n <IconPickerTab\n label={\"Custom\"}\n onChange={onIconSelect}\n actions={<IconFilePicker onChange={onIconFileSelect} onUpload={onIconFileUpload} />}\n />\n );\n});\n\nexport const CustomIconPlugin = () => {\n const client = useApolloClient();\n\n return (\n <IconPickerConfig>\n <IconPickerConfig.IconPack\n name=\"custom\"\n provider={async () => {\n const { data: response } = await client.query<ListCustomIconsQueryResponse>({\n query: LIST_CUSTOM_ICONS,\n variables: {\n limit: 10000\n }\n });\n\n if (!response) {\n throw new Error(\"Network error while listing custom icons.\");\n }\n\n const { data, error } = response.fileManager.listFiles;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch custom icons.\");\n }\n\n return data.map(customIcon => ({\n type: \"custom\",\n name: customIcon.name,\n value: customIcon.src\n }));\n }}\n />\n <IconPickerConfig.IconType name={\"custom\"}>\n <IconPickerConfig.IconType.Icon element={<CustomIcon />} />\n <IconPickerConfig.IconType.Tab element={<CustomIconTab />} />\n </IconPickerConfig.IconType>\n </IconPickerConfig>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|