@webiny/app 5.43.3 → 6.0.0-alpha.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/App.d.ts +5 -12
- package/App.js +70 -84
- package/App.js.map +1 -1
- package/AppContainer.d.ts +23 -0
- package/AppContainer.js +9 -0
- package/AppContainer.js.map +1 -0
- package/apollo-client/InMemoryCache.d.ts +3 -2
- package/apollo-client/InMemoryCache.js +16 -47
- package/apollo-client/InMemoryCache.js.map +1 -1
- package/apollo-client/IntrospectionFragmentMatcher.d.ts +2 -2
- package/apollo-client/IntrospectionFragmentMatcher.js +33 -50
- package/apollo-client/IntrospectionFragmentMatcher.js.map +1 -1
- package/components/Image.d.ts +1 -1
- package/components/Image.js +11 -19
- package/components/Image.js.map +1 -1
- package/components/Routes.js +13 -23
- package/components/Routes.js.map +1 -1
- package/components/View.js +14 -26
- package/components/View.js.map +1 -1
- package/components/index.js +2 -19
- package/components/index.js.map +1 -1
- package/config/RouterConfig/Route.d.ts +30 -0
- package/config/RouterConfig/Route.js +42 -0
- package/config/RouterConfig/Route.js.map +1 -0
- package/config/RouterConfig.d.ts +32 -0
- package/config/RouterConfig.js +18 -0
- package/config/RouterConfig.js.map +1 -0
- package/config.js +9 -15
- package/config.js.map +1 -1
- package/contexts/Ui/index.js +28 -52
- package/contexts/Ui/index.js.map +1 -1
- package/core/DebounceRender.js +13 -24
- package/core/DebounceRender.js.map +1 -1
- package/core/Plugin.d.ts +1 -1
- package/core/Plugin.js +11 -19
- package/core/Plugin.js.map +1 -1
- package/core/Plugins.js +18 -24
- package/core/Plugins.js.map +1 -1
- package/core/Provider.d.ts +1 -1
- package/core/Provider.js +9 -13
- package/core/Provider.js.map +1 -1
- package/core/Routes.js +14 -23
- package/core/Routes.js.map +1 -1
- package/core/createProvider.d.ts +2 -2
- package/core/createProvider.js +1 -7
- package/core/createProvider.js.map +1 -1
- package/core/createProviderPlugin.d.ts +1 -1
- package/core/createProviderPlugin.js +4 -10
- package/core/createProviderPlugin.js.map +1 -1
- package/hooks/useAutocomplete/index.js +1 -12
- package/hooks/useAutocomplete/index.js.map +1 -1
- package/hooks/useAutocomplete/useAutocomplete.d.ts +1 -1
- package/hooks/useAutocomplete/useAutocomplete.js +9 -16
- package/hooks/useAutocomplete/useAutocomplete.js.map +1 -1
- package/hooks/useDataList/functions/getData.js +2 -11
- package/hooks/useDataList/functions/getData.js.map +1 -1
- package/hooks/useDataList/functions/getError.js +2 -11
- package/hooks/useDataList/functions/getError.js.map +1 -1
- package/hooks/useDataList/functions/getMeta.js +2 -11
- package/hooks/useDataList/functions/getMeta.js.map +1 -1
- package/hooks/useDataList/functions/index.js +3 -27
- package/hooks/useDataList/functions/index.js.map +1 -1
- package/hooks/useDataList/functions/searchDataByKey.js +4 -10
- package/hooks/useDataList/functions/searchDataByKey.js.map +1 -1
- package/hooks/useDataList/index.js +1 -12
- package/hooks/useDataList/index.js.map +1 -1
- package/hooks/useDataList/useDataList.d.ts +2 -2
- package/hooks/useDataList/useDataList.js +78 -78
- package/hooks/useDataList/useDataList.js.map +1 -1
- package/hooks/useDataList/utils/index.js +2 -20
- package/hooks/useDataList/utils/index.js.map +1 -1
- package/hooks/useDataList/utils/prepareLoadListParams.js +9 -15
- package/hooks/useDataList/utils/prepareLoadListParams.js.map +1 -1
- package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js +10 -14
- package/hooks/useDataList/utils/redirectToRouteWithQueryParams.js.map +1 -1
- package/hooks/useDataList/utils/types.js +1 -5
- package/hooks/useHandler.js +7 -12
- package/hooks/useHandler.js.map +1 -1
- package/hooks/useHandlers.js +11 -17
- package/hooks/useHandlers.js.map +1 -1
- package/hooks/useRegisterLegacyPlugin.js +5 -11
- package/hooks/useRegisterLegacyPlugin.js.map +1 -1
- package/hooks/useUi.d.ts +1 -1
- package/hooks/useUi.js +4 -10
- package/hooks/useUi.js.map +1 -1
- package/i18n/i18n.js +5 -13
- package/i18n/i18n.js.map +1 -1
- package/i18n/index.js +1 -13
- package/i18n/index.js.map +1 -1
- package/index.d.ts +2 -2
- package/index.js +17 -177
- package/index.js.map +1 -1
- package/package.json +10 -9
- package/plugins/AddQuerySelectionPlugin.d.ts +1 -1
- package/plugins/AddQuerySelectionPlugin.js +61 -107
- package/plugins/AddQuerySelectionPlugin.js.map +1 -1
- package/plugins/ApolloCacheObjectIdPlugin.js +12 -31
- package/plugins/ApolloCacheObjectIdPlugin.js.map +1 -1
- package/plugins/ApolloDynamicLink.d.ts +3 -2
- package/plugins/ApolloDynamicLink.js +19 -46
- package/plugins/ApolloDynamicLink.js.map +1 -1
- package/plugins/ApolloLinkPlugin.d.ts +1 -1
- package/plugins/ApolloLinkPlugin.js +18 -37
- package/plugins/ApolloLinkPlugin.js.map +1 -1
- package/plugins/ConsoleLinkPlugin.js +20 -41
- package/plugins/ConsoleLinkPlugin.js.map +1 -1
- package/plugins/LocaleHeaderLinkPlugin.d.ts +1 -1
- package/plugins/LocaleHeaderLinkPlugin.js +23 -40
- package/plugins/LocaleHeaderLinkPlugin.js.map +1 -1
- package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js +39 -51
- package/plugins/NetworkErrorLinkPlugin/ErrorOverlay.js.map +1 -1
- package/plugins/NetworkErrorLinkPlugin/StyledComponents.js +68 -12
- package/plugins/NetworkErrorLinkPlugin/StyledComponents.js.map +1 -1
- package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.d.ts +1 -1
- package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js +12 -18
- package/plugins/NetworkErrorLinkPlugin/createErrorOverlay.js.map +1 -1
- package/plugins/NetworkErrorLinkPlugin.js +23 -40
- package/plugins/NetworkErrorLinkPlugin.js.map +1 -1
- package/plugins/OmitTypenameLinkPlugin.js +11 -30
- package/plugins/OmitTypenameLinkPlugin.js.map +1 -1
- package/plugins/RoutePlugin.d.ts +1 -1
- package/plugins/RoutePlugin.js +12 -31
- package/plugins/RoutePlugin.js.map +1 -1
- package/plugins/TenantHeaderLinkPlugin.d.ts +1 -1
- package/plugins/TenantHeaderLinkPlugin.js +30 -47
- package/plugins/TenantHeaderLinkPlugin.js.map +1 -1
- package/plugins/ViewPlugin.d.ts +1 -1
- package/plugins/ViewPlugin.js +15 -36
- package/plugins/ViewPlugin.js.map +1 -1
- package/plugins/image.d.ts +1 -1
- package/plugins/image.js +46 -53
- package/plugins/image.js.map +1 -1
- package/plugins/index.d.ts +2 -2
- package/plugins/index.js +31 -53
- package/plugins/index.js.map +1 -1
- package/react-butterfiles/Files.js +208 -235
- package/react-butterfiles/Files.js.map +1 -1
- package/react-butterfiles/index.js +2 -8
- package/react-butterfiles/index.js.map +1 -1
- package/react-butterfiles/utils/generateId.js +1 -7
- package/react-butterfiles/utils/generateId.js.map +1 -1
- package/react-butterfiles/utils/readFileContent.js +4 -10
- package/react-butterfiles/utils/readFileContent.js.map +1 -1
- package/renderApp.d.ts +1 -1
- package/renderApp.js +4 -11
- package/renderApp.js.map +1 -1
- package/types.d.ts +3 -3
- package/types.js +11 -11
- package/types.js.map +1 -1
- package/utils/createGenericContext.js +13 -22
- package/utils/createGenericContext.js.map +1 -1
- package/utils/createHashing.js +9 -15
- package/utils/createHashing.js.map +1 -1
- package/utils/getApiUrl.js +1 -8
- package/utils/getApiUrl.js.map +1 -1
- package/utils/getGqlApiUrl.js +3 -9
- package/utils/getGqlApiUrl.js.map +1 -1
- package/utils/getHeadlessCmsGqlApiUrl.js +7 -13
- package/utils/getHeadlessCmsGqlApiUrl.js.map +1 -1
- package/utils/getLocaleCode.js +6 -16
- package/utils/getLocaleCode.js.map +1 -1
- package/utils/getPrerenderId.js +1 -7
- package/utils/getPrerenderId.js.map +1 -1
- package/utils/getTenantId.js +7 -13
- package/utils/getTenantId.js.map +1 -1
- package/utils/index.js +10 -115
- package/utils/index.js.map +1 -1
- package/utils/isLocalhost.js +4 -12
- package/utils/isLocalhost.js.map +1 -1
- package/utils/isPrerendering.js +1 -7
- package/utils/isPrerendering.js.map +1 -1
- package/utils/legacyPluginToReactComponent.d.ts +1 -1
- package/utils/legacyPluginToReactComponent.js +5 -11
- package/utils/legacyPluginToReactComponent.js.map +1 -1
- package/core/AddRoute.d.ts +0 -21
- package/core/AddRoute.js +0 -21
- package/core/AddRoute.js.map +0 -1
package/App.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import { RouteProps } from "@webiny/react-router";
|
|
3
|
-
import { GenericComponent, Decorator, DecoratorsCollection } from "@webiny/react-composition";
|
|
4
|
-
type RoutesByPath = {
|
|
5
|
-
[key: string]: ReactElement<RouteProps>;
|
|
6
|
-
};
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { RouteProps } from "@webiny/react-router";
|
|
3
|
+
import type { GenericComponent, Decorator, DecoratorsCollection } from "@webiny/react-composition";
|
|
7
4
|
interface State {
|
|
8
|
-
routes: RoutesByPath;
|
|
9
5
|
plugins: JSX.Element[];
|
|
10
6
|
providers: Decorator<GenericComponent<ProviderProps>>[];
|
|
11
7
|
}
|
|
12
8
|
interface AppContext extends State {
|
|
13
|
-
addRoute(route: JSX.Element): void;
|
|
14
9
|
addProvider(hoc: Decorator<GenericComponent<ProviderProps>>): void;
|
|
15
10
|
addPlugin(plugin: React.ReactNode): void;
|
|
16
11
|
}
|
|
@@ -26,8 +21,6 @@ export interface AppProps {
|
|
|
26
21
|
interface ProviderProps {
|
|
27
22
|
children: React.ReactNode;
|
|
28
23
|
}
|
|
29
|
-
export declare const
|
|
30
|
-
|
|
31
|
-
displayName: string;
|
|
32
|
-
};
|
|
24
|
+
export declare const AppBase: ({ debounceRender, routes, providers, children }: AppProps) => React.JSX.Element;
|
|
25
|
+
export declare const App: ({ decorators, ...props }: AppProps) => React.JSX.Element;
|
|
33
26
|
export {};
|
package/App.js
CHANGED
|
@@ -1,109 +1,95 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
-
var _reactRouter = require("@webiny/react-router");
|
|
15
|
-
var _reactComposition = require("@webiny/react-composition");
|
|
16
|
-
var _Routes = require("./core/Routes");
|
|
17
|
-
var _DebounceRender = require("./core/DebounceRender");
|
|
18
|
-
var _Plugins = require("./core/Plugins");
|
|
19
|
-
var AppContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
1
|
+
import React, { createContext, useContext, useMemo, useState, useCallback } from "react";
|
|
2
|
+
import { BrowserRouter, Route } from "@webiny/react-router";
|
|
3
|
+
import { CompositionProvider, compose } from "@webiny/react-composition";
|
|
4
|
+
import { Routes as SortRoutes } from "./core/Routes";
|
|
5
|
+
import { DebounceRender } from "./core/DebounceRender";
|
|
6
|
+
import { PluginsProvider } from "./core/Plugins";
|
|
7
|
+
import { RouterWithConfig, useRouterConfig } from "./config/RouterConfig";
|
|
8
|
+
import { AppContainer } from "./AppContainer";
|
|
9
|
+
const AppContext = /*#__PURE__*/createContext(undefined);
|
|
20
10
|
AppContext.displayName = "AppContext";
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
export const useApp = () => {
|
|
12
|
+
const appContext = useContext(AppContext);
|
|
23
13
|
if (!appContext) {
|
|
24
|
-
throw Error(
|
|
14
|
+
throw Error(`AppContext provider was not found. Are you using the "useApp()" hook in the right place?`);
|
|
25
15
|
}
|
|
26
16
|
return appContext;
|
|
27
17
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}, {}),
|
|
42
|
-
plugins: [],
|
|
43
|
-
providers: providers
|
|
44
|
-
}),
|
|
45
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
46
|
-
state = _useState2[0],
|
|
47
|
-
setState = _useState2[1];
|
|
48
|
-
var addRoute = (0, _react.useCallback)(function (route) {
|
|
49
|
-
setState(function (state) {
|
|
50
|
-
return (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state), {}, {
|
|
51
|
-
routes: (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.routes), {}, (0, _defineProperty2.default)({}, route.props.path, route))
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
}, []);
|
|
55
|
-
var addProvider = (0, _react.useCallback)(function (component) {
|
|
56
|
-
setState(function (state) {
|
|
57
|
-
if (state.providers.findIndex(function (m) {
|
|
58
|
-
return m === component;
|
|
59
|
-
}) > -1) {
|
|
18
|
+
export const AppBase = ({
|
|
19
|
+
debounceRender = 50,
|
|
20
|
+
routes = [],
|
|
21
|
+
providers = [],
|
|
22
|
+
children
|
|
23
|
+
}) => {
|
|
24
|
+
const [state, setState] = useState({
|
|
25
|
+
plugins: [],
|
|
26
|
+
providers
|
|
27
|
+
});
|
|
28
|
+
const addProvider = useCallback(component => {
|
|
29
|
+
setState(state => {
|
|
30
|
+
if (state.providers.findIndex(m => m === component) > -1) {
|
|
60
31
|
return state;
|
|
61
32
|
}
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
33
|
+
return {
|
|
34
|
+
...state,
|
|
35
|
+
providers: [...state.providers, component]
|
|
36
|
+
};
|
|
65
37
|
});
|
|
66
38
|
}, []);
|
|
67
|
-
|
|
68
|
-
setState(
|
|
69
|
-
return
|
|
70
|
-
|
|
71
|
-
|
|
39
|
+
const addPlugin = useCallback(element => {
|
|
40
|
+
setState(state => {
|
|
41
|
+
return {
|
|
42
|
+
...state,
|
|
43
|
+
plugins: [...state.plugins, element]
|
|
44
|
+
};
|
|
72
45
|
});
|
|
73
46
|
}, []);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}, [state]);
|
|
81
|
-
var AppRouter = (0, _react.useMemo)(function () {
|
|
47
|
+
const appContext = useMemo(() => ({
|
|
48
|
+
...state,
|
|
49
|
+
addProvider,
|
|
50
|
+
addPlugin
|
|
51
|
+
}), [state]);
|
|
52
|
+
const AppRouter = useMemo(() => {
|
|
82
53
|
return function AppRouter() {
|
|
83
|
-
|
|
84
|
-
|
|
54
|
+
const routerConfig = useRouterConfig();
|
|
55
|
+
const combinedRoutes = [...routes, ...routerConfig.routes].map(r => {
|
|
56
|
+
return /*#__PURE__*/React.createElement(Route, {
|
|
57
|
+
path: r.path,
|
|
58
|
+
element: r.element,
|
|
59
|
+
key: r.path
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
return /*#__PURE__*/React.createElement(SortRoutes, {
|
|
85
63
|
key: routes.length,
|
|
86
|
-
routes:
|
|
64
|
+
routes: combinedRoutes
|
|
87
65
|
});
|
|
88
66
|
};
|
|
89
|
-
}, [
|
|
90
|
-
|
|
91
|
-
return
|
|
92
|
-
|
|
93
|
-
|
|
67
|
+
}, [routes]);
|
|
68
|
+
const Providers = useMemo(() => {
|
|
69
|
+
return compose(...(state.providers || []))(({
|
|
70
|
+
children
|
|
71
|
+
}) => {
|
|
72
|
+
return /*#__PURE__*/React.createElement(DebounceRender, {
|
|
94
73
|
wait: debounceRender
|
|
95
74
|
}, children);
|
|
96
75
|
});
|
|
97
76
|
}, [state.providers.length]);
|
|
98
77
|
Providers.displayName = "Providers";
|
|
99
|
-
return /*#__PURE__*/
|
|
78
|
+
return /*#__PURE__*/React.createElement(AppContext.Provider, {
|
|
100
79
|
value: appContext
|
|
101
|
-
}, /*#__PURE__*/
|
|
102
|
-
decorators: decorators
|
|
103
|
-
}, children, /*#__PURE__*/_react.default.createElement(_reactRouter.BrowserRouter, null, /*#__PURE__*/_react.default.createElement(Providers, null, /*#__PURE__*/_react.default.createElement(_Plugins.PluginsProvider, null, state.plugins), /*#__PURE__*/_react.default.createElement(_DebounceRender.DebounceRender, {
|
|
80
|
+
}, children, /*#__PURE__*/React.createElement(AppContainer, null, /*#__PURE__*/React.createElement(BrowserRouter, null, /*#__PURE__*/React.createElement(Providers, null, /*#__PURE__*/React.createElement(PluginsProvider, null, state.plugins), /*#__PURE__*/React.createElement(DebounceRender, {
|
|
104
81
|
wait: debounceRender
|
|
105
|
-
}, /*#__PURE__*/
|
|
82
|
+
}, /*#__PURE__*/React.createElement(RouterWithConfig, null, /*#__PURE__*/React.createElement(AppRouter, null)))))));
|
|
83
|
+
};
|
|
84
|
+
export const App = ({
|
|
85
|
+
decorators,
|
|
86
|
+
...props
|
|
87
|
+
}) => {
|
|
88
|
+
return /*#__PURE__*/React.createElement(CompositionProvider, {
|
|
89
|
+
decorators: decorators
|
|
90
|
+
}, /*#__PURE__*/React.createElement(AppBase, Object.assign({
|
|
91
|
+
decorators: decorators
|
|
92
|
+
}, props)));
|
|
106
93
|
};
|
|
107
|
-
App.displayName = "App";
|
|
108
94
|
|
|
109
95
|
//# sourceMappingURL=App.js.map
|
package/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useMemo","useState","useCallback","BrowserRouter","Route","CompositionProvider","compose","Routes","SortRoutes","DebounceRender","PluginsProvider","RouterWithConfig","useRouterConfig","AppContainer","AppContext","undefined","displayName","useApp","appContext","Error","AppBase","debounceRender","routes","providers","children","state","setState","plugins","addProvider","component","findIndex","m","addPlugin","element","AppRouter","routerConfig","combinedRoutes","map","r","createElement","path","key","length","Providers","wait","Provider","value","App","decorators","props","Object","assign"],"sources":["App.tsx"],"sourcesContent":["import React, { createContext, useContext, useMemo, useState, useCallback } from \"react\";\nimport type { RouteProps } from \"@webiny/react-router\";\nimport { BrowserRouter, Route } from \"@webiny/react-router\";\nimport type { GenericComponent, Decorator, DecoratorsCollection } from \"@webiny/react-composition\";\nimport { CompositionProvider, compose } from \"@webiny/react-composition\";\nimport { Routes as SortRoutes } from \"./core/Routes\";\nimport { DebounceRender } from \"./core/DebounceRender\";\nimport { PluginsProvider } from \"./core/Plugins\";\nimport { RouterWithConfig, useRouterConfig } from \"./config/RouterConfig\";\nimport { AppContainer } from \"./AppContainer\";\n\ninterface State {\n plugins: JSX.Element[];\n providers: Decorator<GenericComponent<ProviderProps>>[];\n}\n\ninterface AppContext extends State {\n addProvider(hoc: Decorator<GenericComponent<ProviderProps>>): void;\n\n addPlugin(plugin: React.ReactNode): void;\n}\n\nconst AppContext = createContext<AppContext | undefined>(undefined);\n\nAppContext.displayName = \"AppContext\";\n\nexport const useApp = () => {\n const appContext = useContext(AppContext);\n if (!appContext) {\n throw Error(\n `AppContext provider was not found. Are you using the \"useApp()\" hook in the right place?`\n );\n }\n return appContext;\n};\n\nexport interface AppProps {\n debounceRender?: number;\n routes?: Array<RouteProps>;\n providers?: Array<Decorator<GenericComponent<ProviderProps>>>;\n decorators?: DecoratorsCollection;\n children?: React.ReactNode | React.ReactNode[];\n}\n\ninterface ProviderProps {\n children: React.ReactNode;\n}\n\ntype ComponentWithChildren = React.ComponentType<{ children?: React.ReactNode }>;\n\nexport const AppBase = ({\n debounceRender = 50,\n routes = [],\n providers = [],\n children\n}: AppProps) => {\n const [state, setState] = useState<State>({\n plugins: [],\n providers\n });\n\n const addProvider = useCallback((component: Decorator<any>) => {\n setState(state => {\n if (state.providers.findIndex(m => m === component) > -1) {\n return state;\n }\n\n return {\n ...state,\n providers: [...state.providers, component]\n };\n });\n }, []);\n\n const addPlugin = useCallback((element: JSX.Element) => {\n setState(state => {\n return {\n ...state,\n plugins: [...state.plugins, element]\n };\n });\n }, []);\n\n const appContext = useMemo(\n () => ({\n ...state,\n addProvider,\n addPlugin\n }),\n [state]\n );\n\n const AppRouter = useMemo(() => {\n return function AppRouter() {\n const routerConfig = useRouterConfig();\n const combinedRoutes = [...routes, ...routerConfig.routes].map(r => {\n return <Route path={r.path} element={r.element} key={r.path} />;\n });\n\n return <SortRoutes key={routes.length} routes={combinedRoutes} />;\n };\n }, [routes]);\n\n const Providers = useMemo(() => {\n return compose(...(state.providers || []))(({ children }: ProviderProps) => {\n return <DebounceRender wait={debounceRender}>{children}</DebounceRender>;\n });\n }, [state.providers.length]) as ComponentWithChildren;\n\n Providers.displayName = \"Providers\";\n\n return (\n <AppContext.Provider value={appContext}>\n {children}\n <AppContainer>\n <BrowserRouter>\n <Providers>\n <PluginsProvider>{state.plugins}</PluginsProvider>\n <DebounceRender wait={debounceRender}>\n <RouterWithConfig>\n <AppRouter />\n </RouterWithConfig>\n </DebounceRender>\n </Providers>\n </BrowserRouter>\n </AppContainer>\n </AppContext.Provider>\n );\n};\n\nexport const App = ({ decorators, ...props }: AppProps) => {\n return (\n <CompositionProvider decorators={decorators}>\n <AppBase decorators={decorators} {...props} />\n </CompositionProvider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface AppContentProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare const AppContainer: (({ children }: AppContentProps) => React.JSX.Element) & {
|
|
6
|
+
original: ({ children }: AppContentProps) => React.JSX.Element;
|
|
7
|
+
originalName: string;
|
|
8
|
+
displayName: string;
|
|
9
|
+
} & {
|
|
10
|
+
original: (({ children }: AppContentProps) => React.JSX.Element) & {
|
|
11
|
+
original: ({ children }: AppContentProps) => React.JSX.Element;
|
|
12
|
+
originalName: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
};
|
|
15
|
+
originalName: string;
|
|
16
|
+
displayName: string;
|
|
17
|
+
} & {
|
|
18
|
+
createDecorator: (decorator: import("@webiny/react-composition").ComponentDecorator<(({ children }: AppContentProps) => React.JSX.Element) & {
|
|
19
|
+
original: ({ children }: AppContentProps) => React.JSX.Element;
|
|
20
|
+
originalName: string;
|
|
21
|
+
displayName: string;
|
|
22
|
+
}>) => (props: unknown) => React.JSX.Element;
|
|
23
|
+
};
|
package/AppContainer.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { makeDecoratable } from "@webiny/react-composition";
|
|
3
|
+
export const AppContainer = makeDecoratable("AppContainer", ({
|
|
4
|
+
children
|
|
5
|
+
}) => {
|
|
6
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=AppContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","makeDecoratable","AppContainer","children","createElement","Fragment"],"sources":["AppContainer.tsx"],"sourcesContent":["import React from \"react\";\nimport { makeDecoratable } from \"@webiny/react-composition\";\n\nexport interface AppContentProps {\n children: React.ReactNode;\n}\n\nexport const AppContainer = makeDecoratable(\"AppContainer\", ({ children }: AppContentProps) => {\n return <>{children}</>;\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,2BAA2B;AAM3D,OAAO,MAAMC,YAAY,GAAGD,eAAe,CAAC,cAAc,EAAE,CAAC;EAAEE;AAA0B,CAAC,KAAK;EAC3F,oBAAOH,KAAA,CAAAI,aAAA,CAAAJ,KAAA,CAAAK,QAAA,QAAGF,QAAW,CAAC;AAC1B,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { InMemoryCacheConfig } from "apollo-cache-inmemory";
|
|
2
|
+
import { InMemoryCache as BaseInMemoryCache } from "apollo-cache-inmemory";
|
|
3
|
+
import type { DocumentNode } from "graphql";
|
|
3
4
|
export declare class InMemoryCache extends BaseInMemoryCache {
|
|
4
5
|
private readonly transformPlugins;
|
|
5
6
|
constructor(config?: InMemoryCacheConfig);
|
|
@@ -1,51 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _callSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/callSuper"));
|
|
12
|
-
var _superPropGet2 = _interopRequireDefault(require("@babel/runtime/helpers/superPropGet"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _apolloCacheInmemory = require("apollo-cache-inmemory");
|
|
15
|
-
var _plugins = require("@webiny/plugins");
|
|
16
|
-
var _AddQuerySelectionPlugin = require("../plugins/AddQuerySelectionPlugin");
|
|
17
|
-
var _ApolloLinkPlugin = require("../plugins/ApolloLinkPlugin");
|
|
18
|
-
var InMemoryCache = exports.InMemoryCache = /*#__PURE__*/function (_BaseInMemoryCache) {
|
|
19
|
-
function InMemoryCache(config) {
|
|
20
|
-
var _this;
|
|
21
|
-
(0, _classCallCheck2.default)(this, InMemoryCache);
|
|
22
|
-
_this = (0, _callSuper2.default)(this, InMemoryCache, [config]);
|
|
23
|
-
_this.transformPlugins = _plugins.plugins.byType(_ApolloLinkPlugin.ApolloLinkPlugin.type).filter(function (pl) {
|
|
24
|
-
return pl instanceof _AddQuerySelectionPlugin.AddQuerySelectionPlugin;
|
|
25
|
-
});
|
|
26
|
-
return _this;
|
|
1
|
+
import { InMemoryCache as BaseInMemoryCache } from "apollo-cache-inmemory";
|
|
2
|
+
import { plugins } from "@webiny/plugins";
|
|
3
|
+
import { AddQuerySelectionPlugin } from "../plugins/AddQuerySelectionPlugin";
|
|
4
|
+
import { ApolloLinkPlugin } from "../plugins/ApolloLinkPlugin";
|
|
5
|
+
export class InMemoryCache extends BaseInMemoryCache {
|
|
6
|
+
constructor(config) {
|
|
7
|
+
super(config);
|
|
8
|
+
this.transformPlugins = plugins.byType(ApolloLinkPlugin.type).filter(pl => pl instanceof AddQuerySelectionPlugin);
|
|
27
9
|
}
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var operationName = document.definitions[0].name.value;
|
|
34
|
-
var _iterator = (0, _createForOfIteratorHelper2.default)(this.transformPlugins),
|
|
35
|
-
_step;
|
|
36
|
-
try {
|
|
37
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
38
|
-
var pl = _step.value;
|
|
39
|
-
pl.addSelectionToQuery(operationName, document);
|
|
40
|
-
}
|
|
41
|
-
} catch (err) {
|
|
42
|
-
_iterator.e(err);
|
|
43
|
-
} finally {
|
|
44
|
-
_iterator.f();
|
|
45
|
-
}
|
|
46
|
-
return (0, _superPropGet2.default)(InMemoryCache, "transformDocument", this, 3)([document]);
|
|
10
|
+
transformDocument(document) {
|
|
11
|
+
// @ts-expect-error
|
|
12
|
+
const operationName = document.definitions[0].name.value;
|
|
13
|
+
for (const pl of this.transformPlugins) {
|
|
14
|
+
pl.addSelectionToQuery(operationName, document);
|
|
47
15
|
}
|
|
48
|
-
|
|
49
|
-
}
|
|
16
|
+
return super.transformDocument(document);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
50
19
|
|
|
51
20
|
//# sourceMappingURL=InMemoryCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["InMemoryCache","BaseInMemoryCache","plugins","AddQuerySelectionPlugin","ApolloLinkPlugin","constructor","config","transformPlugins","byType","type","filter","pl","transformDocument","document","operationName","definitions","name","value","addSelectionToQuery"],"sources":["InMemoryCache.ts"],"sourcesContent":["import type { InMemoryCacheConfig } from \"apollo-cache-inmemory\";\nimport { InMemoryCache as BaseInMemoryCache } from \"apollo-cache-inmemory\";\nimport type { DocumentNode } from \"graphql\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AddQuerySelectionPlugin } from \"../plugins/AddQuerySelectionPlugin\";\nimport { ApolloLinkPlugin } from \"../plugins/ApolloLinkPlugin\";\n\nexport class InMemoryCache extends BaseInMemoryCache {\n private readonly transformPlugins: AddQuerySelectionPlugin[];\n\n constructor(config?: InMemoryCacheConfig) {\n super(config);\n\n this.transformPlugins = plugins\n .byType<AddQuerySelectionPlugin>(ApolloLinkPlugin.type)\n .filter(pl => pl instanceof AddQuerySelectionPlugin);\n }\n\n public override transformDocument(document: DocumentNode): DocumentNode {\n // @ts-expect-error\n const operationName = document.definitions[0].name.value;\n\n for (const pl of this.transformPlugins) {\n pl.addSelectionToQuery(operationName, document);\n }\n\n return super.transformDocument(document);\n }\n}\n"],"mappings":"AACA,SAASA,aAAa,IAAIC,iBAAiB,QAAQ,uBAAuB;AAE1E,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,uBAAuB;AAChC,SAASC,gBAAgB;AAEzB,OAAO,MAAMJ,aAAa,SAASC,iBAAiB,CAAC;EAGjDI,WAAWA,CAACC,MAA4B,EAAE;IACtC,KAAK,CAACA,MAAM,CAAC;IAEb,IAAI,CAACC,gBAAgB,GAAGL,OAAO,CAC1BM,MAAM,CAA0BJ,gBAAgB,CAACK,IAAI,CAAC,CACtDC,MAAM,CAACC,EAAE,IAAIA,EAAE,YAAYR,uBAAuB,CAAC;EAC5D;EAEgBS,iBAAiBA,CAACC,QAAsB,EAAgB;IACpE;IACA,MAAMC,aAAa,GAAGD,QAAQ,CAACE,WAAW,CAAC,CAAC,CAAC,CAACC,IAAI,CAACC,KAAK;IAExD,KAAK,MAAMN,EAAE,IAAI,IAAI,CAACJ,gBAAgB,EAAE;MACpCI,EAAE,CAACO,mBAAmB,CAACJ,aAAa,EAAED,QAAQ,CAAC;IACnD;IAEA,OAAO,KAAK,CAACD,iBAAiB,CAACC,QAAQ,CAAC;EAC5C;AACJ","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IdValue } from "apollo-utilities";
|
|
2
|
-
import { ReadStoreContext, FragmentMatcherInterface, IntrospectionResultData } from "apollo-cache-inmemory";
|
|
1
|
+
import type { IdValue } from "apollo-utilities";
|
|
2
|
+
import type { ReadStoreContext, FragmentMatcherInterface, IntrospectionResultData } from "apollo-cache-inmemory";
|
|
3
3
|
export declare class IntrospectionFragmentMatcher implements FragmentMatcherInterface {
|
|
4
4
|
private readonly isReady;
|
|
5
5
|
private readonly possibleTypesMap;
|
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.IntrospectionFragmentMatcher = void 0;
|
|
8
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
var _tsInvariant = require("ts-invariant");
|
|
12
|
-
var IntrospectionFragmentMatcher = exports.IntrospectionFragmentMatcher = /*#__PURE__*/function () {
|
|
13
|
-
function IntrospectionFragmentMatcher(options) {
|
|
14
|
-
(0, _classCallCheck2.default)(this, IntrospectionFragmentMatcher);
|
|
15
|
-
(0, _defineProperty2.default)(this, "possibleTypesMap", {});
|
|
1
|
+
import { invariant } from "ts-invariant";
|
|
2
|
+
export class IntrospectionFragmentMatcher {
|
|
3
|
+
possibleTypesMap = {};
|
|
4
|
+
constructor(options) {
|
|
16
5
|
if (options && options.introspectionQueryResultData) {
|
|
17
6
|
this.possibleTypesMap = this.parseIntrospectionResult(options.introspectionQueryResultData);
|
|
18
7
|
this.isReady = true;
|
|
@@ -21,42 +10,36 @@ var IntrospectionFragmentMatcher = exports.IntrospectionFragmentMatcher = /*#__P
|
|
|
21
10
|
}
|
|
22
11
|
this.match = this.match.bind(this);
|
|
23
12
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// https://github.com/apollographql/apollo-client/pull/4620
|
|
32
|
-
return isRootQuery;
|
|
33
|
-
}
|
|
34
|
-
var _obj$__typename = obj.__typename,
|
|
35
|
-
__typename = _obj$__typename === void 0 ? isRootQuery && "Query" : _obj$__typename;
|
|
36
|
-
(0, _tsInvariant.invariant)(__typename, "Cannot match fragment because __typename property is missing: ".concat(JSON.stringify(obj)));
|
|
37
|
-
if (__typename === typeCondition) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
var implementingTypes = this.possibleTypesMap[typeCondition];
|
|
41
|
-
if (__typename && implementingTypes && implementingTypes.indexOf(__typename) > -1) {
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
return false;
|
|
13
|
+
match(idValue, typeCondition, context) {
|
|
14
|
+
invariant(this.isReady, "FragmentMatcher.match() was called before FragmentMatcher.init()");
|
|
15
|
+
const obj = context.store.get(idValue.id);
|
|
16
|
+
const isRootQuery = idValue.id === "ROOT_QUERY";
|
|
17
|
+
if (!obj) {
|
|
18
|
+
// https://github.com/apollographql/apollo-client/pull/4620
|
|
19
|
+
return isRootQuery;
|
|
45
20
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
typeMap[type.name] = type.possibleTypes.map(function (implementingType) {
|
|
53
|
-
return implementingType.name;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
return typeMap;
|
|
21
|
+
const {
|
|
22
|
+
__typename = isRootQuery && "Query"
|
|
23
|
+
} = obj;
|
|
24
|
+
invariant(__typename, `Cannot match fragment because __typename property is missing: ${JSON.stringify(obj)}`);
|
|
25
|
+
if (__typename === typeCondition) {
|
|
26
|
+
return true;
|
|
58
27
|
}
|
|
59
|
-
|
|
60
|
-
|
|
28
|
+
const implementingTypes = this.possibleTypesMap[typeCondition];
|
|
29
|
+
if (__typename && implementingTypes && implementingTypes.indexOf(__typename) > -1) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
parseIntrospectionResult(introspectionResultData) {
|
|
35
|
+
const typeMap = {};
|
|
36
|
+
introspectionResultData.__schema.types.forEach(type => {
|
|
37
|
+
if (type.kind === "UNION" || type.kind === "INTERFACE") {
|
|
38
|
+
typeMap[type.name] = type.possibleTypes.map(implementingType => implementingType.name);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return typeMap;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
61
44
|
|
|
62
45
|
//# sourceMappingURL=IntrospectionFragmentMatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["invariant","IntrospectionFragmentMatcher","possibleTypesMap","constructor","options","introspectionQueryResultData","parseIntrospectionResult","isReady","match","bind","idValue","typeCondition","context","obj","store","get","id","isRootQuery","__typename","JSON","stringify","implementingTypes","indexOf","introspectionResultData","typeMap","__schema","types","forEach","type","kind","name","possibleTypes","map","implementingType"],"sources":["IntrospectionFragmentMatcher.ts"],"sourcesContent":["import type { IdValue } from \"apollo-utilities\";\nimport { invariant } from \"ts-invariant\";\n\nimport type {\n ReadStoreContext,\n FragmentMatcherInterface,\n PossibleTypesMap,\n IntrospectionResultData\n} from \"apollo-cache-inmemory\";\n\nexport class IntrospectionFragmentMatcher implements FragmentMatcherInterface {\n private readonly isReady: boolean;\n private readonly possibleTypesMap: PossibleTypesMap = {};\n\n constructor(options?: { introspectionQueryResultData?: IntrospectionResultData }) {\n if (options && options.introspectionQueryResultData) {\n this.possibleTypesMap = this.parseIntrospectionResult(\n options.introspectionQueryResultData\n );\n this.isReady = true;\n } else {\n this.isReady = false;\n }\n\n this.match = this.match.bind(this);\n }\n\n public match(idValue: IdValue, typeCondition: string, context: ReadStoreContext) {\n invariant(this.isReady, \"FragmentMatcher.match() was called before FragmentMatcher.init()\");\n\n const obj = context.store.get(idValue.id);\n const isRootQuery = idValue.id === \"ROOT_QUERY\";\n\n if (!obj) {\n // https://github.com/apollographql/apollo-client/pull/4620\n return isRootQuery;\n }\n\n const { __typename = isRootQuery && \"Query\" } = obj;\n\n invariant(\n __typename,\n `Cannot match fragment because __typename property is missing: ${JSON.stringify(obj)}`\n );\n\n if (__typename === typeCondition) {\n return true;\n }\n\n const implementingTypes = this.possibleTypesMap[typeCondition];\n if (__typename && implementingTypes && implementingTypes.indexOf(__typename) > -1) {\n return true;\n }\n\n return false;\n }\n\n private parseIntrospectionResult(\n introspectionResultData: IntrospectionResultData\n ): PossibleTypesMap {\n const typeMap: PossibleTypesMap = {};\n introspectionResultData.__schema.types.forEach(type => {\n if (type.kind === \"UNION\" || type.kind === \"INTERFACE\") {\n typeMap[type.name] = type.possibleTypes.map(\n implementingType => implementingType.name\n );\n }\n });\n return typeMap;\n }\n}\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,cAAc;AASxC,OAAO,MAAMC,4BAA4B,CAAqC;EAEzDC,gBAAgB,GAAqB,CAAC,CAAC;EAExDC,WAAWA,CAACC,OAAoE,EAAE;IAC9E,IAAIA,OAAO,IAAIA,OAAO,CAACC,4BAA4B,EAAE;MACjD,IAAI,CAACH,gBAAgB,GAAG,IAAI,CAACI,wBAAwB,CACjDF,OAAO,CAACC,4BACZ,CAAC;MACD,IAAI,CAACE,OAAO,GAAG,IAAI;IACvB,CAAC,MAAM;MACH,IAAI,CAACA,OAAO,GAAG,KAAK;IACxB;IAEA,IAAI,CAACC,KAAK,GAAG,IAAI,CAACA,KAAK,CAACC,IAAI,CAAC,IAAI,CAAC;EACtC;EAEOD,KAAKA,CAACE,OAAgB,EAAEC,aAAqB,EAAEC,OAAyB,EAAE;IAC7EZ,SAAS,CAAC,IAAI,CAACO,OAAO,EAAE,kEAAkE,CAAC;IAE3F,MAAMM,GAAG,GAAGD,OAAO,CAACE,KAAK,CAACC,GAAG,CAACL,OAAO,CAACM,EAAE,CAAC;IACzC,MAAMC,WAAW,GAAGP,OAAO,CAACM,EAAE,KAAK,YAAY;IAE/C,IAAI,CAACH,GAAG,EAAE;MACN;MACA,OAAOI,WAAW;IACtB;IAEA,MAAM;MAAEC,UAAU,GAAGD,WAAW,IAAI;IAAQ,CAAC,GAAGJ,GAAG;IAEnDb,SAAS,CACLkB,UAAU,EACV,iEAAiEC,IAAI,CAACC,SAAS,CAACP,GAAG,CAAC,EACxF,CAAC;IAED,IAAIK,UAAU,KAAKP,aAAa,EAAE;MAC9B,OAAO,IAAI;IACf;IAEA,MAAMU,iBAAiB,GAAG,IAAI,CAACnB,gBAAgB,CAACS,aAAa,CAAC;IAC9D,IAAIO,UAAU,IAAIG,iBAAiB,IAAIA,iBAAiB,CAACC,OAAO,CAACJ,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;MAC/E,OAAO,IAAI;IACf;IAEA,OAAO,KAAK;EAChB;EAEQZ,wBAAwBA,CAC5BiB,uBAAgD,EAChC;IAChB,MAAMC,OAAyB,GAAG,CAAC,CAAC;IACpCD,uBAAuB,CAACE,QAAQ,CAACC,KAAK,CAACC,OAAO,CAACC,IAAI,IAAI;MACnD,IAAIA,IAAI,CAACC,IAAI,KAAK,OAAO,IAAID,IAAI,CAACC,IAAI,KAAK,WAAW,EAAE;QACpDL,OAAO,CAACI,IAAI,CAACE,IAAI,CAAC,GAAGF,IAAI,CAACG,aAAa,CAACC,GAAG,CACvCC,gBAAgB,IAAIA,gBAAgB,CAACH,IACzC,CAAC;MACL;IACJ,CAAC,CAAC;IACF,OAAON,OAAO;EAClB;AACJ","ignoreList":[]}
|
package/components/Image.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ImageProps } from "../types";
|
|
2
|
+
import type { ImageProps } from "../types";
|
|
3
3
|
export declare const Image: ({ preset: presetName, ...props }: ImageProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
|
package/components/Image.js
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _invariant = _interopRequireDefault(require("invariant"));
|
|
10
|
-
var _plugins = require("@webiny/plugins");
|
|
11
|
-
var _get = _interopRequireDefault(require("lodash/get"));
|
|
12
|
-
var _excluded = ["preset"];
|
|
13
|
-
var Image = exports.Image = function Image(_ref) {
|
|
14
|
-
var presetName = _ref.preset,
|
|
15
|
-
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
16
|
-
var plugin = _plugins.plugins.byName("image-component");
|
|
1
|
+
import invariant from "invariant";
|
|
2
|
+
import { plugins } from "@webiny/plugins";
|
|
3
|
+
import get from "lodash/get";
|
|
4
|
+
export const Image = ({
|
|
5
|
+
preset: presetName,
|
|
6
|
+
...props
|
|
7
|
+
}) => {
|
|
8
|
+
const plugin = plugins.byName("image-component");
|
|
17
9
|
if (!plugin) {
|
|
18
|
-
throw new Error(
|
|
10
|
+
throw new Error(`Image component plugin (type "image-component") not defined.`);
|
|
19
11
|
}
|
|
20
12
|
if (presetName) {
|
|
21
|
-
|
|
22
|
-
(
|
|
13
|
+
const preset = get(plugin, `presets.${presetName}`);
|
|
14
|
+
invariant(preset, `Transform preset "${presetName}" not found.`);
|
|
23
15
|
props.transform = preset;
|
|
24
16
|
}
|
|
25
17
|
if (props.transform) {
|
package/components/Image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["invariant","plugins","get","Image","preset","presetName","props","plugin","byName","Error","transform","src","getImageSrc","render"],"sources":["Image.tsx"],"sourcesContent":["import invariant from \"invariant\";\nimport { plugins } from \"@webiny/plugins\";\nimport get from \"lodash/get\";\nimport type { ImageComponentPlugin, ImageProps } from \"~/types\";\n\nexport const Image = ({ preset: presetName, ...props }: ImageProps) => {\n const plugin = plugins.byName<ImageComponentPlugin>(\"image-component\");\n if (!plugin) {\n throw new Error(`Image component plugin (type \"image-component\") not defined.`);\n }\n\n if (presetName) {\n const preset = get(plugin, `presets.${presetName}`);\n invariant(preset, `Transform preset \"${presetName}\" not found.`);\n props.transform = preset;\n }\n\n if (props.transform) {\n props.src = plugin.getImageSrc(props);\n }\n\n return plugin.render(props);\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AACjC,SAASC,OAAO,QAAQ,iBAAiB;AACzC,OAAOC,GAAG,MAAM,YAAY;AAG5B,OAAO,MAAMC,KAAK,GAAGA,CAAC;EAAEC,MAAM,EAAEC,UAAU;EAAE,GAAGC;AAAkB,CAAC,KAAK;EACnE,MAAMC,MAAM,GAAGN,OAAO,CAACO,MAAM,CAAuB,iBAAiB,CAAC;EACtE,IAAI,CAACD,MAAM,EAAE;IACT,MAAM,IAAIE,KAAK,CAAC,8DAA8D,CAAC;EACnF;EAEA,IAAIJ,UAAU,EAAE;IACZ,MAAMD,MAAM,GAAGF,GAAG,CAACK,MAAM,EAAE,WAAWF,UAAU,EAAE,CAAC;IACnDL,SAAS,CAACI,MAAM,EAAE,qBAAqBC,UAAU,cAAc,CAAC;IAChEC,KAAK,CAACI,SAAS,GAAGN,MAAM;EAC5B;EAEA,IAAIE,KAAK,CAACI,SAAS,EAAE;IACjBJ,KAAK,CAACK,GAAG,GAAGJ,MAAM,CAACK,WAAW,CAACN,KAAK,CAAC;EACzC;EAEA,OAAOC,MAAM,CAACM,MAAM,CAACP,KAAK,CAAC;AAC/B,CAAC","ignoreList":[]}
|