@webiny/app-tenancy 0.0.0-mt-3 → 0.0.0-unstable.06b2ede40f

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/Tenancy.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ export declare const TenancyExtension: () => React.JSX.Element;
3
+ export declare const Tenancy: React.MemoExoticComponent<() => React.JSX.Element>;
package/Tenancy.js ADDED
@@ -0,0 +1,21 @@
1
+ import React, { memo } from "react";
2
+ import { plugins } from "@webiny/plugins";
3
+ import { Provider } from "@webiny/app-admin";
4
+ import installation from "./plugins/installation";
5
+ import { TenancyProvider as ContextProvider } from "./contexts/Tenancy";
6
+ const TenancyProviderHOC = Component => {
7
+ return function TenancyProvider({
8
+ children
9
+ }) {
10
+ return /*#__PURE__*/React.createElement(ContextProvider, null, /*#__PURE__*/React.createElement(Component, null, children));
11
+ };
12
+ };
13
+ export const TenancyExtension = () => {
14
+ plugins.register(installation);
15
+ return /*#__PURE__*/React.createElement(Provider, {
16
+ hoc: TenancyProviderHOC
17
+ });
18
+ };
19
+ export const Tenancy = /*#__PURE__*/memo(TenancyExtension);
20
+
21
+ //# sourceMappingURL=Tenancy.js.map
package/Tenancy.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","plugins","Provider","installation","TenancyProvider","ContextProvider","TenancyProviderHOC","Component","children","createElement","TenancyExtension","register","hoc","Tenancy"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Provider } from \"@webiny/app-admin\";\nimport installation from \"./plugins/installation\";\nimport { TenancyProvider as ContextProvider } from \"./contexts/Tenancy\";\n\ninterface TenancyProviderHOCProps {\n children: React.ReactNode;\n}\n\nconst TenancyProviderHOC = (Component: React.ComponentType<TenancyProviderHOCProps>) => {\n return function TenancyProvider({ children }: TenancyProviderHOCProps) {\n return (\n <ContextProvider>\n <Component>{children}</Component>\n </ContextProvider>\n );\n };\n};\n\nexport const TenancyExtension = () => {\n plugins.register(installation);\n\n return <Provider hoc={TenancyProviderHOC} />;\n};\n\nexport const Tenancy = memo(TenancyExtension);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,OAAOC,YAAY;AACnB,SAASC,eAAe,IAAIC,eAAe;AAM3C,MAAMC,kBAAkB,GAAIC,SAAuD,IAAK;EACpF,OAAO,SAASH,eAAeA,CAAC;IAAEI;EAAkC,CAAC,EAAE;IACnE,oBACIT,KAAA,CAAAU,aAAA,CAACJ,eAAe,qBACZN,KAAA,CAAAU,aAAA,CAACF,SAAS,QAAEC,QAAoB,CACnB,CAAC;EAE1B,CAAC;AACL,CAAC;AAED,OAAO,MAAME,gBAAgB,GAAGA,CAAA,KAAM;EAClCT,OAAO,CAACU,QAAQ,CAACR,YAAY,CAAC;EAE9B,oBAAOJ,KAAA,CAAAU,aAAA,CAACP,QAAQ;IAACU,GAAG,EAAEN;EAAmB,CAAE,CAAC;AAChD,CAAC;AAED,OAAO,MAAMO,OAAO,gBAAGb,IAAI,CAACU,gBAAgB,CAAC","ignoreList":[]}
@@ -1,12 +1,16 @@
1
1
  import React from "react";
2
- export declare const TenancyContext: React.Context<any>;
3
2
  export interface Tenant {
4
3
  id: string;
5
4
  name: string;
6
5
  }
7
- export declare type TenancyContextValue = {
6
+ export interface TenancyContextValue {
8
7
  tenant: string | null;
9
- setTenant(tenant: string): void;
8
+ setTenant(tenant: string | null): void;
10
9
  isMultiTenant: boolean;
11
- };
12
- export declare const TenancyProvider: (props: any) => JSX.Element;
10
+ }
11
+ interface TenancyProviderProps {
12
+ children: React.ReactNode;
13
+ }
14
+ export declare const TenancyContext: React.Context<TenancyContextValue>;
15
+ export declare const TenancyProvider: (props: TenancyProviderProps) => React.JSX.Element;
16
+ export {};
@@ -1,55 +1,64 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
1
  import React, { useMemo, useCallback, Fragment, useState } from "react";
3
2
  import { default as localStorage } from "store";
4
3
  import { plugins } from "@webiny/plugins";
5
4
  import { TenantHeaderLinkPlugin } from "@webiny/app/plugins/TenantHeaderLinkPlugin";
6
- export var TenancyContext = /*#__PURE__*/React.createContext(null);
7
- var LOCAL_STORAGE_KEY = "webiny_tenant";
8
-
5
+ import { useWcp } from "@webiny/app-admin";
6
+ export const TenancyContext = /*#__PURE__*/React.createContext({
7
+ tenant: null,
8
+ setTenant: () => {
9
+ return void 0;
10
+ },
11
+ isMultiTenant: false
12
+ });
13
+ const LOCAL_STORAGE_KEY = "webiny_tenant";
9
14
  function loadState() {
10
15
  return localStorage.get(LOCAL_STORAGE_KEY) || null;
11
16
  }
12
-
13
17
  function storeState(state) {
14
18
  localStorage.set(LOCAL_STORAGE_KEY, state);
15
19
  }
16
-
17
- var getInitialTenant = function getInitialTenant() {
18
- var currentTenant = loadState();
19
- plugins.register(new TenantHeaderLinkPlugin(currentTenant || "root"));
20
+ const getInitialTenant = () => {
21
+ // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.
22
+ const searchParams = new URLSearchParams(location.search);
23
+ const tenantId = searchParams.get("tenantId");
24
+ if (tenantId) {
25
+ storeState(tenantId);
26
+ }
27
+ const currentTenant = loadState() || "root";
28
+ plugins.register(new TenantHeaderLinkPlugin(currentTenant));
20
29
  return currentTenant;
21
30
  };
22
-
23
- export var TenancyProvider = function TenancyProvider(props) {
24
- var _useState = useState(getInitialTenant),
25
- _useState2 = _slicedToArray(_useState, 2),
26
- currentTenant = _useState2[0],
27
- setTenant = _useState2[1];
28
-
29
- var changeTenant = useCallback(function (tenant) {
31
+ const goToDashboard = () => {
32
+ const url = new URL(window.location.toString());
33
+ url.search = "";
34
+ url.pathname = "/";
35
+ window.location.href = url.toString();
36
+ };
37
+ export const TenancyProvider = props => {
38
+ const [currentTenant, setTenant] = useState(getInitialTenant);
39
+ const wcp = useWcp();
40
+ const changeTenant = useCallback(tenant => {
30
41
  if (!tenant) {
31
42
  localStorage.remove(LOCAL_STORAGE_KEY);
32
- window.location.pathname = "/";
43
+ goToDashboard();
33
44
  }
34
-
35
45
  if (!currentTenant) {
36
46
  plugins.register(new TenantHeaderLinkPlugin(tenant));
37
47
  setTenant(tenant);
38
48
  storeState(tenant);
39
49
  return;
40
50
  }
41
-
42
51
  storeState(tenant);
43
- window.location.pathname = "/";
44
- }, [currentTenant]);
45
- var value = useMemo(function () {
46
- return {
47
- tenant: currentTenant,
48
- setTenant: changeTenant,
49
- isMultiTenant: process.env.REACT_APP_WEBINY_MULTI_TENANCY === "true"
50
- };
52
+ goToDashboard();
51
53
  }, [currentTenant]);
54
+ const value = useMemo(() => ({
55
+ tenant: currentTenant,
56
+ setTenant: changeTenant,
57
+ isMultiTenant: wcp.canUseFeature("multiTenancy")
58
+ }), [currentTenant]);
52
59
  return /*#__PURE__*/React.createElement(TenancyContext.Provider, {
53
60
  value: value
54
61
  }, /*#__PURE__*/React.createElement(Fragment, null, props.children));
55
- };
62
+ };
63
+
64
+ //# sourceMappingURL=Tenancy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useCallback","Fragment","useState","default","localStorage","plugins","TenantHeaderLinkPlugin","useWcp","TenancyContext","createContext","tenant","setTenant","isMultiTenant","LOCAL_STORAGE_KEY","loadState","get","storeState","state","set","getInitialTenant","searchParams","URLSearchParams","location","search","tenantId","currentTenant","register","goToDashboard","url","URL","window","toString","pathname","href","TenancyProvider","props","wcp","changeTenant","remove","value","canUseFeature","createElement","Provider","children"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { useMemo, useCallback, Fragment, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { plugins } from \"@webiny/plugins\";\nimport { TenantHeaderLinkPlugin } from \"@webiny/app/plugins/TenantHeaderLinkPlugin\";\nimport { useWcp } from \"@webiny/app-admin\";\n\nexport interface Tenant {\n id: string;\n name: string;\n}\n\nexport interface TenancyContextValue {\n tenant: string | null;\n setTenant(tenant: string | null): void;\n isMultiTenant: boolean;\n}\n\ninterface TenancyProviderProps {\n children: React.ReactNode;\n}\n\nexport const TenancyContext = React.createContext<TenancyContextValue>({\n tenant: null,\n setTenant: () => {\n return void 0;\n },\n isMultiTenant: false\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_tenant\";\n\nfunction loadState(): string | null {\n return localStorage.get(LOCAL_STORAGE_KEY) || null;\n}\n\nfunction storeState(state: string) {\n localStorage.set(LOCAL_STORAGE_KEY, state);\n}\n\nconst getInitialTenant = (): string | null => {\n // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.\n const searchParams = new URLSearchParams(location.search);\n const tenantId = searchParams.get(\"tenantId\");\n if (tenantId) {\n storeState(tenantId);\n }\n\n const currentTenant = loadState() || \"root\";\n plugins.register(new TenantHeaderLinkPlugin(currentTenant));\n return currentTenant;\n};\n\nconst goToDashboard = () => {\n const url = new URL(window.location.toString());\n url.search = \"\";\n url.pathname = \"/\";\n window.location.href = url.toString();\n};\n\nexport const TenancyProvider = (props: TenancyProviderProps) => {\n const [currentTenant, setTenant] = useState(getInitialTenant);\n const wcp = useWcp();\n\n const changeTenant = useCallback(\n (tenant: string): void => {\n if (!tenant) {\n localStorage.remove(LOCAL_STORAGE_KEY);\n\n goToDashboard();\n }\n\n if (!currentTenant) {\n plugins.register(new TenantHeaderLinkPlugin(tenant));\n setTenant(tenant);\n storeState(tenant);\n return;\n }\n\n storeState(tenant);\n goToDashboard();\n },\n [currentTenant]\n );\n\n const value = useMemo<TenancyContextValue>(\n () => ({\n tenant: currentTenant,\n setTenant: changeTenant,\n isMultiTenant: wcp.canUseFeature(\"multiTenancy\")\n }),\n [currentTenant]\n );\n\n return (\n <TenancyContext.Provider value={value}>\n <Fragment>{props.children}</Fragment>\n </TenancyContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import { TenancyContextValue } from "../contexts/Tenancy";
1
+ import type { TenancyContextValue } from "../contexts/Tenancy";
2
2
  export declare function useTenancy(): TenancyContextValue;
@@ -2,4 +2,6 @@ import { useContext } from "react";
2
2
  import { TenancyContext } from "../contexts/Tenancy";
3
3
  export function useTenancy() {
4
4
  return useContext(TenancyContext);
5
- }
5
+ }
6
+
7
+ //# sourceMappingURL=useTenancy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","TenancyContext","useTenancy"],"sources":["useTenancy.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport type { TenancyContextValue } from \"~/contexts/Tenancy\";\nimport { TenancyContext } from \"~/contexts/Tenancy\";\n\nexport function useTenancy() {\n return useContext<TenancyContextValue>(TenancyContext);\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAElC,SAASC,cAAc;AAEvB,OAAO,SAASC,UAAUA,CAAA,EAAG;EACzB,OAAOF,UAAU,CAAsBC,cAAc,CAAC;AAC1D","ignoreList":[]}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./contexts/Tenancy";
2
2
  export * from "./hooks/useTenancy";
3
3
  export * from "./withTenant";
4
+ export * from "./Tenancy";
4
5
  export declare const plugins: () => import("@webiny/app-admin/types").AdminInstallationPlugin[];
package/index.js CHANGED
@@ -2,6 +2,7 @@ import installation from "./plugins/installation";
2
2
  export * from "./contexts/Tenancy";
3
3
  export * from "./hooks/useTenancy";
4
4
  export * from "./withTenant";
5
- export var plugins = function plugins() {
6
- return [installation];
7
- };
5
+ export * from "./Tenancy";
6
+ export const plugins = () => [installation];
7
+
8
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["installation","plugins"],"sources":["index.ts"],"sourcesContent":["import installation from \"~/plugins/installation\";\nexport * from \"./contexts/Tenancy\";\nexport * from \"./hooks/useTenancy\";\nexport * from \"./withTenant\";\nexport * from \"./Tenancy\";\n\nexport const plugins = () => [installation];\n"],"mappings":"AAAA,OAAOA,YAAY;AACnB;AACA;AACA;AACA;AAEA,OAAO,MAAMC,OAAO,GAAGA,CAAA,KAAM,CAACD,YAAY,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-tenancy",
3
- "version": "0.0.0-mt-3",
3
+ "version": "0.0.0-unstable.06b2ede40f",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,46 +14,31 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@apollo/react-hooks": "3.1.5",
17
- "@babel/runtime": "7.15.4",
18
- "@emotion/styled": "10.0.27",
19
- "@types/react": "16.14.2",
20
- "@webiny/app": "0.0.0-mt-3",
21
- "@webiny/app-admin": "0.0.0-mt-3",
22
- "@webiny/plugins": "0.0.0-mt-3",
23
- "@webiny/ui": "0.0.0-mt-3",
24
- "graphql-tag": "2.12.5",
25
- "react": "16.14.0",
26
- "react-dom": "16.14.0",
17
+ "@emotion/styled": "11.10.6",
18
+ "@types/react": "18.2.79",
19
+ "@webiny/app": "0.0.0-unstable.06b2ede40f",
20
+ "@webiny/app-admin": "0.0.0-unstable.06b2ede40f",
21
+ "@webiny/plugins": "0.0.0-unstable.06b2ede40f",
22
+ "@webiny/ui": "0.0.0-unstable.06b2ede40f",
23
+ "apollo-client": "2.6.10",
24
+ "graphql-tag": "2.12.6",
25
+ "react": "18.2.0",
26
+ "react-dom": "18.2.0",
27
27
  "store": "2.0.12"
28
28
  },
29
29
  "devDependencies": {
30
- "@babel/cli": "^7.5.5",
31
- "@babel/core": "^7.5.5",
32
- "@babel/plugin-proposal-class-properties": "^7.5.5",
33
- "@babel/preset-env": "^7.5.5",
34
- "@babel/preset-react": "^7.0.0",
35
- "@babel/preset-typescript": "^7.8.3",
36
- "@webiny/cli": "^0.0.0-mt-3",
37
- "@webiny/project-utils": "^0.0.0-mt-3",
38
- "babel-plugin-emotion": "^9.2.8",
39
- "babel-plugin-lodash": "^3.3.4",
40
- "babel-plugin-named-asset-import": "^1.0.0-next.3e165448",
41
- "rimraf": "^3.0.2",
42
- "ttypescript": "^1.3.2",
43
- "typescript": "^4.1.3"
30
+ "@emotion/babel-plugin": "11.11.0",
31
+ "@webiny/project-utils": "0.0.0-unstable.06b2ede40f",
32
+ "rimraf": "6.0.1",
33
+ "typescript": "5.3.3"
44
34
  },
45
35
  "publishConfig": {
46
36
  "access": "public",
47
37
  "directory": "dist"
48
38
  },
49
39
  "scripts": {
50
- "build": "yarn webiny run build",
51
- "watch": "yarn webiny run watch"
40
+ "build": "node ../cli/bin.js run build",
41
+ "watch": "node ../cli/bin.js run watch"
52
42
  },
53
- "svgo": {
54
- "plugins": {
55
- "removeViewBox": false
56
- }
57
- },
58
- "gitHead": "ebea815be2be99404591cba465cc1fe88355bd48"
43
+ "gitHead": "06b2ede40fc2212a70eeafd74afd50b56fb0ce82"
59
44
  }
@@ -1,3 +1,3 @@
1
- import { AdminInstallationPlugin } from "@webiny/app-admin/types";
1
+ import type { AdminInstallationPlugin } from "@webiny/app-admin/types";
2
2
  declare const plugin: AdminInstallationPlugin;
3
3
  export default plugin;
@@ -1,99 +1,100 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
-
5
- var _templateObject, _templateObject2;
6
-
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
1
+ import _styled from "@emotion/styled/base";
2
+ 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)."; }
8
3
  import React, { useState, useEffect } from "react";
9
4
  import gql from "graphql-tag";
10
5
  import { useApolloClient } from "@apollo/react-hooks";
11
6
  import { Alert } from "@webiny/ui/Alert";
12
7
  import { CircularProgress } from "@webiny/ui/Progress";
13
8
  import { SimpleForm, SimpleFormContent } from "@webiny/app-admin/components/SimpleForm";
14
- import styled from "@emotion/styled";
15
- var SimpleFormPlaceholder = /*#__PURE__*/styled("div", {
9
+ const SimpleFormPlaceholder = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "production" ? {
10
+ target: "ewob5260"
11
+ } : {
16
12
  target: "ewob5260",
17
13
  label: "SimpleFormPlaceholder"
18
- })({
19
- minHeight: 300,
20
- minWidth: 400
14
+ })(process.env.NODE_ENV === "production" ? {
15
+ name: "u16u3o",
16
+ styles: "min-height:300px;min-width:400px"
17
+ } : {
18
+ name: "u16u3o",
19
+ styles: "min-height:300px;min-width:400px",
20
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluc3RhbGxhdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUzhCIiwiZmlsZSI6Imluc3RhbGxhdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCB7IHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL3JlYWN0LWhvb2tzXCI7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gXCJAd2ViaW55L3VpL0FsZXJ0XCI7XG5pbXBvcnQgeyBDaXJjdWxhclByb2dyZXNzIH0gZnJvbSBcIkB3ZWJpbnkvdWkvUHJvZ3Jlc3NcIjtcbmltcG9ydCB7IFNpbXBsZUZvcm0sIFNpbXBsZUZvcm1Db250ZW50IH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluL2NvbXBvbmVudHMvU2ltcGxlRm9ybVwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IEFkbWluSW5zdGFsbGF0aW9uUGx1Z2luIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluL3R5cGVzXCI7XG5cbmNvbnN0IFNpbXBsZUZvcm1QbGFjZWhvbGRlciA9IHN0eWxlZC5kaXYoe1xuICAgIG1pbkhlaWdodDogMzAwLFxuICAgIG1pbldpZHRoOiA0MDBcbn0pO1xuXG5jb25zdCBJU19JTlNUQUxMRUQgPSBncWxgXG4gICAgcXVlcnkgSXNUZW5hbmN5SW5zdGFsbGVkIHtcbiAgICAgICAgdGVuYW5jeSB7XG4gICAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBJTlNUQUxMID0gZ3FsYFxuICAgIG11dGF0aW9uIEluc3RhbGxUZW5hbmN5IHtcbiAgICAgICAgdGVuYW5jeSB7XG4gICAgICAgICAgICBpbnN0YWxsIHtcbiAgICAgICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAgICAgZXJyb3Ige1xuICAgICAgICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5pbnRlcmZhY2UgVGVuYW5jeUluc3RhbGxlclByb3BzIHtcbiAgICBvbkluc3RhbGxlZDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbmNvbnN0IFRlbmFuY3lJbnN0YWxsZXIgPSAoeyBvbkluc3RhbGxlZCB9OiBUZW5hbmN5SW5zdGFsbGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY2xpZW50Lm11dGF0ZSh7IG11dGF0aW9uOiBJTlNUQUxMIH0pLnRoZW4oKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGVycm9yIH0gPSBkYXRhLnRlbmFuY3kuaW5zdGFsbDtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHNldEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSnVzdCBzbyB0aGUgdXNlciBzZWVzIHRoZSBhY3R1YWwgbWVzc2FnZS5cbiAgICAgICAgICAgIHNldFRpbWVvdXQob25JbnN0YWxsZWQsIDMwMDApO1xuICAgICAgICB9KTtcbiAgICB9LCBbXSk7XG5cbiAgICBjb25zdCBsYWJlbCA9IGVycm9yID8gKFxuICAgICAgICA8QWxlcnQgdGl0bGU9e2BTb21ldGhpbmcgd2VudCB3cm9uZ2B9IHR5cGU9e1wiZGFuZ2VyXCJ9PlxuICAgICAgICAgICAge2Vycm9yfVxuICAgICAgICA8L0FsZXJ0PlxuICAgICkgOiAoXG4gICAgICAgIGBJbnN0YWxsaW5nIFRlbmFuY3kuLi5gXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxTaW1wbGVGb3JtPlxuICAgICAgICAgICAgPENpcmN1bGFyUHJvZ3Jlc3MgbGFiZWw9e2xhYmVsfSAvPlxuICAgICAgICAgICAgPFNpbXBsZUZvcm1Db250ZW50PlxuICAgICAgICAgICAgICAgIDxTaW1wbGVGb3JtUGxhY2Vob2xkZXIgLz5cbiAgICAgICAgICAgIDwvU2ltcGxlRm9ybUNvbnRlbnQ+XG4gICAgICAgIDwvU2ltcGxlRm9ybT5cbiAgICApO1xufTtcblxuY29uc3QgcGx1Z2luOiBBZG1pbkluc3RhbGxhdGlvblBsdWdpbiA9IHtcbiAgICBuYW1lOiBcImFkbWluLWluc3RhbGxhdGlvbi10ZW5hbmN5XCIsXG4gICAgdHlwZTogXCJhZG1pbi1pbnN0YWxsYXRpb25cIixcbiAgICB0aXRsZTogYFRlbmFuY3lgLFxuICAgIGRlcGVuZGVuY2llczogW10sXG4gICAgc2VjdXJlOiBmYWxzZSxcbiAgICBhc3luYyBnZXRJbnN0YWxsZWRWZXJzaW9uKHsgY2xpZW50IH0pIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBjbGllbnQucXVlcnkoeyBxdWVyeTogSVNfSU5TVEFMTEVEIH0pO1xuICAgICAgICByZXR1cm4gZGF0YS50ZW5hbmN5LnZlcnNpb247XG4gICAgfSxcbiAgICByZW5kZXIoeyBvbkluc3RhbGxlZCB9KSB7XG4gICAgICAgIHJldHVybiA8VGVuYW5jeUluc3RhbGxlciBvbkluc3RhbGxlZD17b25JbnN0YWxsZWR9IC8+O1xuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IHBsdWdpbjtcbiJdfQ== */",
21
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
21
22
  });
22
- var IS_INSTALLED = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query IsTenancyInstalled {\n tenancy {\n version\n }\n }\n"])));
23
- var INSTALL = gql(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n mutation InstallTenancy {\n tenancy {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n"])));
24
-
25
- var TenancyInstaller = function TenancyInstaller(_ref) {
26
- var onInstalled = _ref.onInstalled;
27
- var client = useApolloClient();
28
-
29
- var _useState = useState(null),
30
- _useState2 = _slicedToArray(_useState, 2),
31
- error = _useState2[0],
32
- setError = _useState2[1];
33
-
34
- useEffect(function () {
23
+ const IS_INSTALLED = gql`
24
+ query IsTenancyInstalled {
25
+ tenancy {
26
+ version
27
+ }
28
+ }
29
+ `;
30
+ const INSTALL = gql`
31
+ mutation InstallTenancy {
32
+ tenancy {
33
+ install {
34
+ data
35
+ error {
36
+ code
37
+ message
38
+ }
39
+ }
40
+ }
41
+ }
42
+ `;
43
+ const TenancyInstaller = ({
44
+ onInstalled
45
+ }) => {
46
+ const client = useApolloClient();
47
+ const [error, setError] = useState(null);
48
+ useEffect(() => {
35
49
  client.mutate({
36
50
  mutation: INSTALL
37
- }).then(function (_ref2) {
38
- var data = _ref2.data;
39
- var error = data.tenancy.install.error;
40
-
51
+ }).then(({
52
+ data
53
+ }) => {
54
+ const {
55
+ error
56
+ } = data.tenancy.install;
41
57
  if (error) {
42
58
  setError(error.message);
43
59
  return;
44
- } // Just so the user sees the actual message.
45
-
60
+ }
46
61
 
62
+ // Just so the user sees the actual message.
47
63
  setTimeout(onInstalled, 3000);
48
64
  });
49
65
  }, []);
50
- var label = error ? /*#__PURE__*/React.createElement(Alert, {
51
- title: "Something went wrong",
66
+ const label = error ? /*#__PURE__*/React.createElement(Alert, {
67
+ title: `Something went wrong`,
52
68
  type: "danger"
53
- }, error) : "Installing Tenancy...";
69
+ }, error) : `Installing Tenancy...`;
54
70
  return /*#__PURE__*/React.createElement(SimpleForm, null, /*#__PURE__*/React.createElement(CircularProgress, {
55
71
  label: label
56
72
  }), /*#__PURE__*/React.createElement(SimpleFormContent, null, /*#__PURE__*/React.createElement(SimpleFormPlaceholder, null)));
57
73
  };
58
-
59
- var plugin = {
74
+ const plugin = {
60
75
  name: "admin-installation-tenancy",
61
76
  type: "admin-installation",
62
- title: "Tenancy",
77
+ title: `Tenancy`,
63
78
  dependencies: [],
64
79
  secure: false,
65
- getInstalledVersion: function getInstalledVersion(_ref3) {
66
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
67
- var client, _yield$client$query, data;
68
-
69
- return _regeneratorRuntime.wrap(function _callee$(_context) {
70
- while (1) {
71
- switch (_context.prev = _context.next) {
72
- case 0:
73
- client = _ref3.client;
74
- _context.next = 3;
75
- return client.query({
76
- query: IS_INSTALLED
77
- });
78
-
79
- case 3:
80
- _yield$client$query = _context.sent;
81
- data = _yield$client$query.data;
82
- return _context.abrupt("return", data.tenancy.version);
83
-
84
- case 6:
85
- case "end":
86
- return _context.stop();
87
- }
88
- }
89
- }, _callee);
90
- }))();
80
+ async getInstalledVersion({
81
+ client
82
+ }) {
83
+ const {
84
+ data
85
+ } = await client.query({
86
+ query: IS_INSTALLED
87
+ });
88
+ return data.tenancy.version;
91
89
  },
92
- render: function render(_ref4) {
93
- var onInstalled = _ref4.onInstalled;
90
+ render({
91
+ onInstalled
92
+ }) {
94
93
  return /*#__PURE__*/React.createElement(TenancyInstaller, {
95
94
  onInstalled: onInstalled
96
95
  });
97
96
  }
98
97
  };
99
- export default plugin;
98
+ export default plugin;
99
+
100
+ //# sourceMappingURL=installation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","gql","useApolloClient","Alert","CircularProgress","SimpleForm","SimpleFormContent","SimpleFormPlaceholder","_styled","process","env","NODE_ENV","target","label","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","IS_INSTALLED","INSTALL","TenancyInstaller","onInstalled","client","error","setError","mutate","mutation","then","data","tenancy","install","message","setTimeout","createElement","title","type","plugin","dependencies","secure","getInstalledVersion","query","version","render"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport type { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsTenancyInstalled {\n tenancy {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallTenancy {\n tenancy {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface TenancyInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst TenancyInstaller = ({ onInstalled }: TenancyInstallerProps) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.tenancy.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Tenancy...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-tenancy\",\n type: \"admin-installation\",\n title: `Tenancy`,\n dependencies: [],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.tenancy.version;\n },\n render({ onInstalled }) {\n return <TenancyInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,GAAG,MAAM,aAAa;AAC7B,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,UAAU,EAAEC,iBAAiB,QAAQ,yCAAyC;AAIvF,MAAMC,qBAAqB,gBAAGC,OAAA,QAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,CAG7B,CAAC;AAEF,MAAMC,YAAY,GAAGlB,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMmB,OAAO,GAAGnB,GAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAKD,MAAMoB,gBAAgB,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAK;EACjE,MAAMC,MAAM,GAAGrB,eAAe,CAAC,CAAC;EAChC,MAAM,CAACsB,KAAK,EAAEC,QAAQ,CAAC,GAAG1B,QAAQ,CAAC,IAAI,CAAC;EAExCC,SAAS,CAAC,MAAM;IACZuB,MAAM,CAACG,MAAM,CAAC;MAAEC,QAAQ,EAAEP;IAAQ,CAAC,CAAC,CAACQ,IAAI,CAAC,CAAC;MAAEC;IAAK,CAAC,KAAK;MACpD,MAAM;QAAEL;MAAM,CAAC,GAAGK,IAAI,CAACC,OAAO,CAACC,OAAO;MACtC,IAAIP,KAAK,EAAE;QACPC,QAAQ,CAACD,KAAK,CAACQ,OAAO,CAAC;QACvB;MACJ;;MAEA;MACAC,UAAU,CAACX,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMT,KAAK,GAAGW,KAAK,gBACf1B,KAAA,CAAAoC,aAAA,CAAC/B,KAAK;IAACgC,KAAK,EAAE,sBAAuB;IAACC,IAAI,EAAE;EAAS,GAChDZ,KACE,CAAC,GAER,uBACH;EAED,oBACI1B,KAAA,CAAAoC,aAAA,CAAC7B,UAAU,qBACPP,KAAA,CAAAoC,aAAA,CAAC9B,gBAAgB;IAACS,KAAK,EAAEA;EAAM,CAAE,CAAC,eAClCf,KAAA,CAAAoC,aAAA,CAAC5B,iBAAiB,qBACdR,KAAA,CAAAoC,aAAA,CAAC3B,qBAAqB,MAAE,CACT,CACX,CAAC;AAErB,CAAC;AAED,MAAM8B,MAA+B,GAAG;EACpCvB,IAAI,EAAE,4BAA4B;EAClCsB,IAAI,EAAE,oBAAoB;EAC1BD,KAAK,EAAE,SAAS;EAChBG,YAAY,EAAE,EAAE;EAChBC,MAAM,EAAE,KAAK;EACb,MAAMC,mBAAmBA,CAAC;IAAEjB;EAAO,CAAC,EAAE;IAClC,MAAM;MAAEM;IAAK,CAAC,GAAG,MAAMN,MAAM,CAACkB,KAAK,CAAC;MAAEA,KAAK,EAAEtB;IAAa,CAAC,CAAC;IAC5D,OAAOU,IAAI,CAACC,OAAO,CAACY,OAAO;EAC/B,CAAC;EACDC,MAAMA,CAAC;IAAErB;EAAY,CAAC,EAAE;IACpB,oBAAOxB,KAAA,CAAAoC,aAAA,CAACb,gBAAgB;MAACC,WAAW,EAAEA;IAAY,CAAE,CAAC;EACzD;AACJ,CAAC;AAED,eAAee,MAAM","ignoreList":[]}
package/withTenant.d.ts CHANGED
@@ -1,6 +1,12 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
+ import type ApolloClient from "apollo-client";
2
3
  export declare const GET_DEFAULT_TENANT: import("graphql").DocumentNode;
3
- export declare const withTenant: (Component: any) => ({ getIdentityData, children }: {
4
- getIdentityData: any;
5
- children: any;
6
- }) => JSX.Element;
4
+ interface GetIdentityWithTenantParams {
5
+ client: ApolloClient<any>;
6
+ }
7
+ interface WithTenantProps {
8
+ getIdentityData: (params: GetIdentityWithTenantParams) => Promise<Record<string, string>>;
9
+ children: React.ReactNode;
10
+ }
11
+ export declare const withTenant: (Component: React.ComponentType<WithTenantProps>) => ({ getIdentityData, children }: WithTenantProps) => React.JSX.Element;
12
+ export {};
package/withTenant.js CHANGED
@@ -1,71 +1,55 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
-
4
- var _templateObject;
5
-
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
1
  import React from "react";
8
2
  import { gql } from "graphql-tag";
9
3
  import { useTenancy } from "./hooks/useTenancy";
10
- export var GET_DEFAULT_TENANT = gql(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetDefaultTenant {\n tenancy {\n getDefaultTenant {\n data {\n id\n name\n description\n }\n error {\n code\n message\n }\n }\n }\n }\n"])));
11
- export var withTenant = function withTenant(Component) {
12
- var WithTenant = function WithTenant(_ref) {
13
- var getIdentityData = _ref.getIdentityData,
14
- children = _ref.children;
15
-
16
- var _useTenancy = useTenancy(),
17
- tenant = _useTenancy.tenant,
18
- setTenant = _useTenancy.setTenant,
19
- isMultiTenant = _useTenancy.isMultiTenant;
20
-
21
- var getIdentityWithTenant = /*#__PURE__*/function () {
22
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
23
- var response, defaultTenantId;
24
- return _regeneratorRuntime.wrap(function _callee$(_context) {
25
- while (1) {
26
- switch (_context.prev = _context.next) {
27
- case 0:
28
- if (!(tenant || !isMultiTenant)) {
29
- _context.next = 2;
30
- break;
4
+ export const GET_DEFAULT_TENANT = gql`
5
+ query GetDefaultTenant {
6
+ tenancy {
7
+ getDefaultTenant {
8
+ data {
9
+ id
10
+ name
11
+ description
12
+ }
13
+ error {
14
+ code
15
+ message
31
16
  }
32
-
33
- return _context.abrupt("return", getIdentityData(params));
34
-
35
- case 2:
36
- _context.next = 4;
37
- return params.client.query({
38
- query: GET_DEFAULT_TENANT,
39
- context: {
40
- headers: {
41
- "x-tenant": tenant || "root"
42
- }
43
- }
44
- });
45
-
46
- case 4:
47
- response = _context.sent;
48
- defaultTenantId = response.data.tenancy.getDefaultTenant.data.id;
49
- setTenant(defaultTenantId);
50
- return _context.abrupt("return", getIdentityData(params));
51
-
52
- case 8:
53
- case "end":
54
- return _context.stop();
55
17
  }
18
+ }
19
+ }
20
+ `;
21
+ export const withTenant = Component => {
22
+ return function WithTenant({
23
+ getIdentityData,
24
+ children
25
+ }) {
26
+ const {
27
+ tenant,
28
+ setTenant,
29
+ isMultiTenant
30
+ } = useTenancy();
31
+ const getIdentityWithTenant = async params => {
32
+ if (tenant || !isMultiTenant) {
33
+ return getIdentityData(params);
34
+ }
35
+
36
+ // Get default tenant
37
+ const response = await params.client.query({
38
+ query: GET_DEFAULT_TENANT,
39
+ context: {
40
+ headers: {
41
+ "x-tenant": tenant || "root"
56
42
  }
57
- }, _callee);
58
- }));
59
-
60
- return function getIdentityWithTenant(_x) {
61
- return _ref2.apply(this, arguments);
62
- };
63
- }();
64
-
43
+ }
44
+ });
45
+ const defaultTenantId = response.data.tenancy.getDefaultTenant.data.id;
46
+ setTenant(defaultTenantId);
47
+ return getIdentityData(params);
48
+ };
65
49
  return /*#__PURE__*/React.createElement(Component, {
66
50
  getIdentityData: getIdentityWithTenant
67
51
  }, children);
68
52
  };
53
+ };
69
54
 
70
- return WithTenant;
71
- };
55
+ //# sourceMappingURL=withTenant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","gql","useTenancy","GET_DEFAULT_TENANT","withTenant","Component","WithTenant","getIdentityData","children","tenant","setTenant","isMultiTenant","getIdentityWithTenant","params","response","client","query","context","headers","defaultTenantId","data","tenancy","getDefaultTenant","id","createElement"],"sources":["withTenant.tsx"],"sourcesContent":["import React from \"react\";\nimport { gql } from \"graphql-tag\";\nimport { useTenancy } from \"~/hooks/useTenancy\";\nimport type ApolloClient from \"apollo-client\";\n\nexport const GET_DEFAULT_TENANT = gql`\n query GetDefaultTenant {\n tenancy {\n getDefaultTenant {\n data {\n id\n name\n description\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface GetIdentityWithTenantParams {\n client: ApolloClient<any>;\n}\ninterface WithTenantProps {\n getIdentityData: (params: GetIdentityWithTenantParams) => Promise<Record<string, string>>;\n children: React.ReactNode;\n}\nexport const withTenant = (Component: React.ComponentType<WithTenantProps>) => {\n return function WithTenant({ getIdentityData, children }: WithTenantProps) {\n const { tenant, setTenant, isMultiTenant } = useTenancy();\n\n const getIdentityWithTenant = async (params: GetIdentityWithTenantParams) => {\n if (tenant || !isMultiTenant) {\n return getIdentityData(params);\n }\n\n // Get default tenant\n const response = await params.client.query({\n query: GET_DEFAULT_TENANT,\n context: { headers: { \"x-tenant\": tenant || \"root\" } }\n });\n\n const defaultTenantId = response.data.tenancy.getDefaultTenant.data.id;\n\n setTenant(defaultTenantId);\n\n return getIdentityData(params);\n };\n\n return <Component getIdentityData={getIdentityWithTenant}>{children}</Component>;\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,aAAa;AACjC,SAASC,UAAU;AAGnB,OAAO,MAAMC,kBAAkB,GAAGF,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AASD,OAAO,MAAMG,UAAU,GAAIC,SAA+C,IAAK;EAC3E,OAAO,SAASC,UAAUA,CAAC;IAAEC,eAAe;IAAEC;EAA0B,CAAC,EAAE;IACvE,MAAM;MAAEC,MAAM;MAAEC,SAAS;MAAEC;IAAc,CAAC,GAAGT,UAAU,CAAC,CAAC;IAEzD,MAAMU,qBAAqB,GAAG,MAAOC,MAAmC,IAAK;MACzE,IAAIJ,MAAM,IAAI,CAACE,aAAa,EAAE;QAC1B,OAAOJ,eAAe,CAACM,MAAM,CAAC;MAClC;;MAEA;MACA,MAAMC,QAAQ,GAAG,MAAMD,MAAM,CAACE,MAAM,CAACC,KAAK,CAAC;QACvCA,KAAK,EAAEb,kBAAkB;QACzBc,OAAO,EAAE;UAAEC,OAAO,EAAE;YAAE,UAAU,EAAET,MAAM,IAAI;UAAO;QAAE;MACzD,CAAC,CAAC;MAEF,MAAMU,eAAe,GAAGL,QAAQ,CAACM,IAAI,CAACC,OAAO,CAACC,gBAAgB,CAACF,IAAI,CAACG,EAAE;MAEtEb,SAAS,CAACS,eAAe,CAAC;MAE1B,OAAOZ,eAAe,CAACM,MAAM,CAAC;IAClC,CAAC;IAED,oBAAOb,KAAA,CAAAwB,aAAA,CAACnB,SAAS;MAACE,eAAe,EAAEK;IAAsB,GAAEJ,QAAoB,CAAC;EACpF,CAAC;AACL,CAAC","ignoreList":[]}