@contember/react-identity 1.3.0-alpha.15 → 1.3.0-alpha.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/development/components/HasRole.cjs +11 -3
  2. package/dist/development/components/HasRole.cjs.map +1 -1
  3. package/dist/development/components/HasRole.js +11 -3
  4. package/dist/development/components/HasRole.js.map +1 -1
  5. package/dist/development/components/IdentityProvider.cjs +18 -2
  6. package/dist/development/components/IdentityProvider.cjs.map +1 -1
  7. package/dist/development/components/IdentityProvider.js +18 -2
  8. package/dist/development/components/IdentityProvider.js.map +1 -1
  9. package/dist/development/components/IdentityState.cjs +6 -1
  10. package/dist/development/components/IdentityState.cjs.map +1 -1
  11. package/dist/development/components/IdentityState.js +6 -1
  12. package/dist/development/components/IdentityState.js.map +1 -1
  13. package/dist/development/components/LogoutTrigger.cjs +6 -2
  14. package/dist/development/components/LogoutTrigger.cjs.map +1 -1
  15. package/dist/development/components/LogoutTrigger.js +6 -2
  16. package/dist/development/components/LogoutTrigger.js.map +1 -1
  17. package/dist/development/hooks/useFetchIdentity.cjs +18 -17
  18. package/dist/development/hooks/useFetchIdentity.cjs.map +1 -1
  19. package/dist/development/hooks/useFetchIdentity.js +18 -17
  20. package/dist/development/hooks/useFetchIdentity.js.map +1 -1
  21. package/dist/production/components/IdentityState.cjs +2 -1
  22. package/dist/production/components/IdentityState.cjs.map +1 -1
  23. package/dist/production/components/IdentityState.js +2 -1
  24. package/dist/production/components/IdentityState.js.map +1 -1
  25. package/dist/production/hooks/useFetchIdentity.cjs +18 -17
  26. package/dist/production/hooks/useFetchIdentity.cjs.map +1 -1
  27. package/dist/production/hooks/useFetchIdentity.js +18 -17
  28. package/dist/production/hooks/useFetchIdentity.js.map +1 -1
  29. package/dist/types/components/IdentityState.d.ts +1 -1
  30. package/dist/types/components/IdentityState.d.ts.map +1 -1
  31. package/dist/types/hooks/useFetchIdentity.d.ts.map +1 -1
  32. package/dist/types/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +6 -6
  34. package/src/components/IdentityState.tsx +2 -2
  35. package/src/hooks/useFetchIdentity.ts +18 -17
@@ -1,18 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
4
  const reactBinding = require("@contember/react-binding");
5
5
  const useProjectUserRoles = require("../hooks/useProjectUserRoles.cjs");
6
6
  const IdentityEnvironmentExtension = require("../environment/IdentityEnvironmentExtension.cjs");
7
7
  const ProjectEnvironmentExtension = require("../environment/ProjectEnvironmentExtension.cjs");
8
8
  const HasRole = reactBinding.Component(({ children, role }) => {
9
9
  const projectRoles = useProjectUserRoles.useProjectUserRoles();
10
- return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }) : null;
10
+ return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
11
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/HasRole.tsx",
12
+ lineNumber: 19,
13
+ columnNumber: 49
14
+ }, void 0) : null;
11
15
  }, ({ children, role }, env) => {
12
16
  const identity = env.getExtension(IdentityEnvironmentExtension.identityEnvironmentExtension).identity;
13
17
  const project = env.getExtension(ProjectEnvironmentExtension.projectEnvironmentExtension).slug;
14
18
  const projectRoles = new Set(identity?.projects.find((it) => it.slug === project)?.roles ?? []);
15
- return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }) : null;
19
+ return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
20
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/HasRole.tsx",
21
+ lineNumber: 25,
22
+ columnNumber: 49
23
+ }, void 0) : null;
16
24
  });
17
25
  const evaluateCondition = (condition, roles) => {
18
26
  if (typeof condition === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"HasRole.cjs","sources":["../../../src/components/HasRole.tsx"],"sourcesContent":["import { Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\nimport { useProjectUserRoles } from '../hooks'\nimport { identityEnvironmentExtension, projectEnvironmentExtension } from '../environment'\n\nexport type RoleCondition = string | ((roles: Set<string>) => boolean)\n\nexport interface HasRoleProps {\n\tchildren?: ReactNode\n\trole: RoleCondition\n}\n\n/**\n * @group Logic Components\n */\nexport const HasRole = Component<HasRoleProps>(({ children, role }) => {\n\tconst projectRoles = useProjectUserRoles()\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n}, ({ children, role }, env) => {\n\tconst identity = env.getExtension(identityEnvironmentExtension).identity\n\tconst project = env.getExtension(projectEnvironmentExtension).slug\n\tconst projectRoles = new Set(identity?.projects.find(it => it.slug === project)?.roles ?? [])\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n})\n\nconst evaluateCondition = (condition: RoleCondition, roles: Set<string>) => {\n\tif (typeof condition === 'string') {\n\t\treturn roles.has(condition)\n\t}\n\treturn condition(roles)\n}\n"],"names":["Component","useProjectUserRoles","jsx","Fragment","identityEnvironmentExtension","projectEnvironmentExtension"],"mappings":";;;;;;;AAeO,MAAM,UAAUA,aAAAA,UAAwB,CAAC,EAAE,UAAU,WAAW;AACtE,QAAM,eAAeC,oBAAAA;AAErB,SAAO,kBAAkB,MAAM,YAAY,IAAIC,2BAAAA,IAAAC,WAAAA,UAAA,EAAG,UAAS,IAAM;AAClE,GAAG,CAAC,EAAE,UAAU,KAAA,GAAQ,QAAQ;AAC/B,QAAM,WAAW,IAAI,aAAaC,6BAA4B,4BAAA,EAAE;AAChE,QAAM,UAAU,IAAI,aAAaC,4BAA2B,2BAAA,EAAE;AAC9D,QAAM,eAAe,IAAI,IAAI,UAAU,SAAS,KAAK,CAAM,OAAA,GAAG,SAAS,OAAO,GAAG,SAAS,CAAE,CAAA;AAE5F,SAAO,kBAAkB,MAAM,YAAY,IAAIH,2BAAAA,IAAAC,WAAAA,UAAA,EAAG,UAAS,IAAM;AAClE,CAAC;AAED,MAAM,oBAAoB,CAAC,WAA0B,UAAuB;AACvE,MAAA,OAAO,cAAc,UAAU;AAC3B,WAAA,MAAM,IAAI,SAAS;AAAA,EAC3B;AACA,SAAO,UAAU,KAAK;AACvB;;"}
1
+ {"version":3,"file":"HasRole.cjs","sources":["../../../src/components/HasRole.tsx"],"sourcesContent":["import { Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\nimport { useProjectUserRoles } from '../hooks'\nimport { identityEnvironmentExtension, projectEnvironmentExtension } from '../environment'\n\nexport type RoleCondition = string | ((roles: Set<string>) => boolean)\n\nexport interface HasRoleProps {\n\tchildren?: ReactNode\n\trole: RoleCondition\n}\n\n/**\n * @group Logic Components\n */\nexport const HasRole = Component<HasRoleProps>(({ children, role }) => {\n\tconst projectRoles = useProjectUserRoles()\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n}, ({ children, role }, env) => {\n\tconst identity = env.getExtension(identityEnvironmentExtension).identity\n\tconst project = env.getExtension(projectEnvironmentExtension).slug\n\tconst projectRoles = new Set(identity?.projects.find(it => it.slug === project)?.roles ?? [])\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n})\n\nconst evaluateCondition = (condition: RoleCondition, roles: Set<string>) => {\n\tif (typeof condition === 'string') {\n\t\treturn roles.has(condition)\n\t}\n\treturn condition(roles)\n}\n"],"names":["Component","useProjectUserRoles","this","identityEnvironmentExtension","projectEnvironmentExtension"],"mappings":";;;;;;;AAeO,MAAM,UAAUA,aAAAA,UAAwB,CAAC,EAAE,UAAU,WAAW;AACtE,QAAM,eAAeC,oBAAAA;AAErB,SAAO,kBAAkB,MAAM,YAAY,mEAAO,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAAY,IAAM;AAClE,GAAG,CAAC,EAAE,UAAU,KAAA,GAAQ,QAAQ;AAC/B,QAAM,WAAW,IAAI,aAAaC,6BAA4B,4BAAA,EAAE;AAChE,QAAM,UAAU,IAAI,aAAaC,4BAA2B,2BAAA,EAAE;AAC9D,QAAM,eAAe,IAAI,IAAI,UAAU,SAAS,KAAK,CAAM,OAAA,GAAG,SAAS,OAAO,GAAG,SAAS,CAAE,CAAA;AAE5F,SAAO,kBAAkB,MAAM,YAAY,mEAAO,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAF,MAAY,IAAM;AAClE,CAAC;AAED,MAAM,oBAAoB,CAAC,WAA0B,UAAuB;AACvE,MAAA,OAAO,cAAc,UAAU;AAC3B,WAAA,MAAM,IAAI,SAAS;AAAA,EAC3B;AACA,SAAO,UAAU,KAAK;AACvB;;"}
@@ -1,16 +1,24 @@
1
- import { jsx, Fragment } from "react/jsx-runtime";
1
+ import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
2
2
  import { Component } from "@contember/react-binding";
3
3
  import { useProjectUserRoles } from "../hooks/useProjectUserRoles.js";
4
4
  import { identityEnvironmentExtension } from "../environment/IdentityEnvironmentExtension.js";
5
5
  import { projectEnvironmentExtension } from "../environment/ProjectEnvironmentExtension.js";
6
6
  const HasRole = Component(({ children, role }) => {
7
7
  const projectRoles = useProjectUserRoles();
8
- return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
8
+ return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
9
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/HasRole.tsx",
10
+ lineNumber: 19,
11
+ columnNumber: 49
12
+ }, void 0) : null;
9
13
  }, ({ children, role }, env) => {
10
14
  const identity = env.getExtension(identityEnvironmentExtension).identity;
11
15
  const project = env.getExtension(projectEnvironmentExtension).slug;
12
16
  const projectRoles = new Set(identity?.projects.find((it) => it.slug === project)?.roles ?? []);
13
- return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
17
+ return evaluateCondition(role, projectRoles) ? /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
18
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/HasRole.tsx",
19
+ lineNumber: 25,
20
+ columnNumber: 49
21
+ }, void 0) : null;
14
22
  });
15
23
  const evaluateCondition = (condition, roles) => {
16
24
  if (typeof condition === "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"HasRole.js","sources":["../../../src/components/HasRole.tsx"],"sourcesContent":["import { Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\nimport { useProjectUserRoles } from '../hooks'\nimport { identityEnvironmentExtension, projectEnvironmentExtension } from '../environment'\n\nexport type RoleCondition = string | ((roles: Set<string>) => boolean)\n\nexport interface HasRoleProps {\n\tchildren?: ReactNode\n\trole: RoleCondition\n}\n\n/**\n * @group Logic Components\n */\nexport const HasRole = Component<HasRoleProps>(({ children, role }) => {\n\tconst projectRoles = useProjectUserRoles()\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n}, ({ children, role }, env) => {\n\tconst identity = env.getExtension(identityEnvironmentExtension).identity\n\tconst project = env.getExtension(projectEnvironmentExtension).slug\n\tconst projectRoles = new Set(identity?.projects.find(it => it.slug === project)?.roles ?? [])\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n})\n\nconst evaluateCondition = (condition: RoleCondition, roles: Set<string>) => {\n\tif (typeof condition === 'string') {\n\t\treturn roles.has(condition)\n\t}\n\treturn condition(roles)\n}\n"],"names":[],"mappings":";;;;;AAeO,MAAM,UAAU,UAAwB,CAAC,EAAE,UAAU,WAAW;AACtE,QAAM,eAAe;AAErB,SAAO,kBAAkB,MAAM,YAAY,IAAI,oBAAA,UAAA,EAAG,UAAS,IAAM;AAClE,GAAG,CAAC,EAAE,UAAU,KAAA,GAAQ,QAAQ;AAC/B,QAAM,WAAW,IAAI,aAAa,4BAA4B,EAAE;AAChE,QAAM,UAAU,IAAI,aAAa,2BAA2B,EAAE;AAC9D,QAAM,eAAe,IAAI,IAAI,UAAU,SAAS,KAAK,CAAM,OAAA,GAAG,SAAS,OAAO,GAAG,SAAS,CAAE,CAAA;AAE5F,SAAO,kBAAkB,MAAM,YAAY,IAAI,oBAAA,UAAA,EAAG,UAAS,IAAM;AAClE,CAAC;AAED,MAAM,oBAAoB,CAAC,WAA0B,UAAuB;AACvE,MAAA,OAAO,cAAc,UAAU;AAC3B,WAAA,MAAM,IAAI,SAAS;AAAA,EAC3B;AACA,SAAO,UAAU,KAAK;AACvB;"}
1
+ {"version":3,"file":"HasRole.js","sources":["../../../src/components/HasRole.tsx"],"sourcesContent":["import { Component } from '@contember/react-binding'\nimport { ReactNode } from 'react'\nimport { useProjectUserRoles } from '../hooks'\nimport { identityEnvironmentExtension, projectEnvironmentExtension } from '../environment'\n\nexport type RoleCondition = string | ((roles: Set<string>) => boolean)\n\nexport interface HasRoleProps {\n\tchildren?: ReactNode\n\trole: RoleCondition\n}\n\n/**\n * @group Logic Components\n */\nexport const HasRole = Component<HasRoleProps>(({ children, role }) => {\n\tconst projectRoles = useProjectUserRoles()\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n}, ({ children, role }, env) => {\n\tconst identity = env.getExtension(identityEnvironmentExtension).identity\n\tconst project = env.getExtension(projectEnvironmentExtension).slug\n\tconst projectRoles = new Set(identity?.projects.find(it => it.slug === project)?.roles ?? [])\n\n\treturn evaluateCondition(role, projectRoles) ? <>{children}</> : null\n})\n\nconst evaluateCondition = (condition: RoleCondition, roles: Set<string>) => {\n\tif (typeof condition === 'string') {\n\t\treturn roles.has(condition)\n\t}\n\treturn condition(roles)\n}\n"],"names":["this"],"mappings":";;;;;AAeO,MAAM,UAAU,UAAwB,CAAC,EAAE,UAAU,WAAW;AACtE,QAAM,eAAe;AAErB,SAAO,kBAAkB,MAAM,YAAY,uCAAO,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY,IAAM;AAClE,GAAG,CAAC,EAAE,UAAU,KAAA,GAAQ,QAAQ;AAC/B,QAAM,WAAW,IAAI,aAAa,4BAA4B,EAAE;AAChE,QAAM,UAAU,IAAI,aAAa,2BAA2B,EAAE;AAC9D,QAAM,eAAe,IAAI,IAAI,UAAU,SAAS,KAAK,CAAM,OAAA,GAAG,SAAS,OAAO,GAAG,SAAS,CAAE,CAAA;AAE5F,SAAO,kBAAkB,MAAM,YAAY,uCAAO,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY,IAAM;AAClE,CAAC;AAED,MAAM,oBAAoB,CAAC,WAA0B,UAAuB;AACvE,MAAA,OAAO,cAAc,UAAU;AAC3B,WAAA,MAAM,IAAI,SAAS;AAAA,EAC3B;AACA,SAAO,UAAU,KAAK;AACvB;"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
4
  const reactClient = require("@contember/react-client");
5
5
  const react = require("react");
6
6
  const reactBinding = require("@contember/react-binding");
@@ -21,7 +21,23 @@ const IdentityProvider = ({ children }) => {
21
21
  },
22
22
  [sessionToken, refreshIdentity, clearIdentity]
23
23
  );
24
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.IdentityStateContext.Provider, { value: state, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.IdentityContext.Provider, { value: identity, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.IdentityMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EnvironmentExtensionProvider, { extension: IdentityEnvironmentExtension.identityEnvironmentExtension, state: identity ?? null, children }) }) }) });
24
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.IdentityStateContext.Provider, { value: state, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.IdentityContext.Provider, { value: identity, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.IdentityMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.EnvironmentExtensionProvider, { extension: IdentityEnvironmentExtension.identityEnvironmentExtension, state: identity ?? null, children }, void 0, false, {
25
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
26
+ lineNumber: 33,
27
+ columnNumber: 6
28
+ }, void 0) }, void 0, false, {
29
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
30
+ lineNumber: 32,
31
+ columnNumber: 5
32
+ }, void 0) }, void 0, false, {
33
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
34
+ lineNumber: 31,
35
+ columnNumber: 4
36
+ }, void 0) }, void 0, false, {
37
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
38
+ lineNumber: 30,
39
+ columnNumber: 3
40
+ }, void 0);
25
41
  };
26
42
  exports.IdentityProvider = IdentityProvider;
27
43
  //# sourceMappingURL=IdentityProvider.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProvider.cjs","sources":["../../../src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../internal/contexts'\nimport { identityEnvironmentExtension } from '../environment/IdentityEnvironmentExtension'\n\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(\n\t\t() => {\n\t\t\tif (sessionToken !== undefined) {\n\t\t\t\trefreshIdentity()\n\t\t\t} else {\n\t\t\t\tclearIdentity()\n\t\t\t}\n\t\t},\n\t\t[sessionToken, refreshIdentity, clearIdentity],\n\t)\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={identityEnvironmentExtension} state={identity ?? null}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":["useSessionToken","useFetchIdentity","useEffect","jsx","IdentityStateContext","IdentityContext","IdentityMethodsContext","EnvironmentExtensionProvider","identityEnvironmentExtension"],"mappings":";;;;;;;;;AAYO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAeA,YAAAA;AACrB,QAAM,CAAC,EAAE,UAAU,MAAS,GAAA,OAAO,IAAIC,iBAAAA;AAEjC,QAAA,EAAE,iBAAiB,cAAkB,IAAA;AAC3CC,QAAA;AAAA,IACC,MAAM;AACL,UAAI,iBAAiB,QAAW;AACf;MAAA,OACV;AACQ;MACf;AAAA,IACD;AAAA,IACA,CAAC,cAAc,iBAAiB,aAAa;AAAA,EAAA;AAG9C,SACEC,2BAAAA,IAAAC,SAAAA,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAACD,2BAAAA,IAAAE,SAAAA,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAACF,2BAAA,IAAAG,gCAAuB,UAAvB,EAAgC,OAAO,SACvC,UAACH,2BAAA,IAAAI,aAAA,8BAAA,EAA6B,WAAWC,6BAAA,8BAA8B,OAAO,YAAY,MACxF,SAAA,CACF,EACD,CAAA,EAAA,CACD,EACD,CAAA;AAEF;;"}
1
+ {"version":3,"file":"IdentityProvider.cjs","sources":["../../../src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../internal/contexts'\nimport { identityEnvironmentExtension } from '../environment/IdentityEnvironmentExtension'\n\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(\n\t\t() => {\n\t\t\tif (sessionToken !== undefined) {\n\t\t\t\trefreshIdentity()\n\t\t\t} else {\n\t\t\t\tclearIdentity()\n\t\t\t}\n\t\t},\n\t\t[sessionToken, refreshIdentity, clearIdentity],\n\t)\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={identityEnvironmentExtension} state={identity ?? null}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":["useSessionToken","useFetchIdentity","useEffect","jsxDEV","IdentityStateContext","IdentityContext","IdentityMethodsContext","EnvironmentExtensionProvider","identityEnvironmentExtension","this"],"mappings":";;;;;;;;;AAYO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAeA,YAAAA;AACrB,QAAM,CAAC,EAAE,UAAU,MAAS,GAAA,OAAO,IAAIC,iBAAAA;AAEjC,QAAA,EAAE,iBAAiB,cAAkB,IAAA;AAC3CC,QAAA;AAAA,IACC,MAAM;AACL,UAAI,iBAAiB,QAAW;AACf;MAAA,OACV;AACQ;MACf;AAAA,IACD;AAAA,IACA,CAAC,cAAc,iBAAiB,aAAa;AAAA,EAAA;AAI7C,SAAAC,8BAAAA,OAACC,SAAAA,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAACD,8BAAA,OAAAE,SAAA,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,+CAACC,SAAuB,uBAAA,UAAvB,EAAgC,OAAO,SACvC,UAAAH,8BAAAA,OAACI,aAAAA,8BAA6B,EAAA,WAAWC,6BAA8B,8BAAA,OAAO,YAAY,MACxF,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF;;"}
@@ -1,4 +1,4 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { useSessionToken } from "@contember/react-client";
3
3
  import { useEffect } from "react";
4
4
  import { EnvironmentExtensionProvider } from "@contember/react-binding";
@@ -19,7 +19,23 @@ const IdentityProvider = ({ children }) => {
19
19
  },
20
20
  [sessionToken, refreshIdentity, clearIdentity]
21
21
  );
22
- return /* @__PURE__ */ jsx(IdentityStateContext.Provider, { value: state, children: /* @__PURE__ */ jsx(IdentityContext.Provider, { value: identity, children: /* @__PURE__ */ jsx(IdentityMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(EnvironmentExtensionProvider, { extension: identityEnvironmentExtension, state: identity ?? null, children }) }) }) });
22
+ return /* @__PURE__ */ jsxDEV(IdentityStateContext.Provider, { value: state, children: /* @__PURE__ */ jsxDEV(IdentityContext.Provider, { value: identity, children: /* @__PURE__ */ jsxDEV(IdentityMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxDEV(EnvironmentExtensionProvider, { extension: identityEnvironmentExtension, state: identity ?? null, children }, void 0, false, {
23
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
24
+ lineNumber: 33,
25
+ columnNumber: 6
26
+ }, void 0) }, void 0, false, {
27
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
28
+ lineNumber: 32,
29
+ columnNumber: 5
30
+ }, void 0) }, void 0, false, {
31
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
32
+ lineNumber: 31,
33
+ columnNumber: 4
34
+ }, void 0) }, void 0, false, {
35
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityProvider.tsx",
36
+ lineNumber: 30,
37
+ columnNumber: 3
38
+ }, void 0);
23
39
  };
24
40
  export {
25
41
  IdentityProvider
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityProvider.js","sources":["../../../src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../internal/contexts'\nimport { identityEnvironmentExtension } from '../environment/IdentityEnvironmentExtension'\n\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(\n\t\t() => {\n\t\t\tif (sessionToken !== undefined) {\n\t\t\t\trefreshIdentity()\n\t\t\t} else {\n\t\t\t\tclearIdentity()\n\t\t\t}\n\t\t},\n\t\t[sessionToken, refreshIdentity, clearIdentity],\n\t)\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={identityEnvironmentExtension} state={identity ?? null}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;;;AAYO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAe;AACrB,QAAM,CAAC,EAAE,UAAU,MAAS,GAAA,OAAO,IAAI;AAEjC,QAAA,EAAE,iBAAiB,cAAkB,IAAA;AAC3C;AAAA,IACC,MAAM;AACL,UAAI,iBAAiB,QAAW;AACf;MAAA,OACV;AACQ;MACf;AAAA,IACD;AAAA,IACA,CAAC,cAAc,iBAAiB,aAAa;AAAA,EAAA;AAG9C,SACE,oBAAA,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAC,oBAAA,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,UAAC,oBAAA,uBAAuB,UAAvB,EAAgC,OAAO,SACvC,UAAC,oBAAA,8BAAA,EAA6B,WAAW,8BAA8B,OAAO,YAAY,MACxF,SAAA,CACF,EACD,CAAA,EAAA,CACD,EACD,CAAA;AAEF;"}
1
+ {"version":3,"file":"IdentityProvider.js","sources":["../../../src/components/IdentityProvider.tsx"],"sourcesContent":["import { useSessionToken } from '@contember/react-client'\nimport { ReactNode, useEffect } from 'react'\nimport { EnvironmentExtensionProvider } from '@contember/react-binding'\nimport { useFetchIdentity } from '../hooks'\nimport { IdentityContext, IdentityMethodsContext, IdentityStateContext } from '../internal/contexts'\nimport { identityEnvironmentExtension } from '../environment/IdentityEnvironmentExtension'\n\n\nexport interface IdentityProviderProps {\n\tchildren: ReactNode\n}\n\nexport const IdentityProvider: React.FC<IdentityProviderProps> = ({ children }) => {\n\tconst sessionToken = useSessionToken()\n\tconst [{ identity, state }, methods] = useFetchIdentity()\n\n\tconst { refreshIdentity, clearIdentity } = methods\n\tuseEffect(\n\t\t() => {\n\t\t\tif (sessionToken !== undefined) {\n\t\t\t\trefreshIdentity()\n\t\t\t} else {\n\t\t\t\tclearIdentity()\n\t\t\t}\n\t\t},\n\t\t[sessionToken, refreshIdentity, clearIdentity],\n\t)\n\n\treturn (\n\t\t<IdentityStateContext.Provider value={state}>\n\t\t\t<IdentityContext.Provider value={identity}>\n\t\t\t\t<IdentityMethodsContext.Provider value={methods}>\n\t\t\t\t\t<EnvironmentExtensionProvider extension={identityEnvironmentExtension} state={identity ?? null}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</EnvironmentExtensionProvider>\n\t\t\t\t</IdentityMethodsContext.Provider>\n\t\t\t</IdentityContext.Provider>\n\t\t</IdentityStateContext.Provider>\n\t)\n}\n"],"names":["this"],"mappings":";;;;;;;AAYO,MAAM,mBAAoD,CAAC,EAAE,eAAe;AAClF,QAAM,eAAe;AACrB,QAAM,CAAC,EAAE,UAAU,MAAS,GAAA,OAAO,IAAI;AAEjC,QAAA,EAAE,iBAAiB,cAAkB,IAAA;AAC3C;AAAA,IACC,MAAM;AACL,UAAI,iBAAiB,QAAW;AACf;MAAA,OACV;AACQ;MACf;AAAA,IACD;AAAA,IACA,CAAC,cAAc,iBAAiB,aAAa;AAAA,EAAA;AAI7C,SAAA,uBAAC,qBAAqB,UAArB,EAA8B,OAAO,OACrC,UAAC,uBAAA,gBAAgB,UAAhB,EAAyB,OAAO,UAChC,iCAAC,uBAAuB,UAAvB,EAAgC,OAAO,SACvC,UAAA,uBAAC,8BAA6B,EAAA,WAAW,8BAA8B,OAAO,YAAY,MACxF,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF;"}
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
3
4
  const contexts = require("../internal/contexts.cjs");
4
5
  const IdentityState = ({ state, children }) => {
5
6
  const currentState = contexts.useIdentityState();
6
- return state === currentState || Array.isArray(state) && state.includes(currentState) ? children : null;
7
+ return state === currentState || Array.isArray(state) && state.includes(currentState) ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(jsxDevRuntime.Fragment, { children }, void 0, false, {
8
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityState.tsx",
9
+ lineNumber: 13,
10
+ columnNumber: 92
11
+ }, void 0) : null;
7
12
  };
8
13
  exports.IdentityState = IdentityState;
9
14
  //# sourceMappingURL=IdentityState.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityState.cjs","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? children : null\n}\n"],"names":["useIdentityState"],"mappings":";;;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAeA,SAAAA;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAK,WAAW;AACtG;;"}
1
+ {"version":3,"file":"IdentityState.cjs","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import React, { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? <>{children}</> : null\n}\n"],"names":["useIdentityState","jsxDEV","Fragment","this"],"mappings":";;;;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAeA,SAAAA;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAKC,8BAAA,OAAAC,wBAAA,EAAG,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAAY,IAAM;AAC7G;;"}
@@ -1,7 +1,12 @@
1
+ import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
1
2
  import { useIdentityState } from "../internal/contexts.js";
2
3
  const IdentityState = ({ state, children }) => {
3
4
  const currentState = useIdentityState();
4
- return state === currentState || Array.isArray(state) && state.includes(currentState) ? children : null;
5
+ return state === currentState || Array.isArray(state) && state.includes(currentState) ? /* @__PURE__ */ jsxDEV(Fragment, { children }, void 0, false, {
6
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/IdentityState.tsx",
7
+ lineNumber: 13,
8
+ columnNumber: 92
9
+ }, void 0) : null;
5
10
  };
6
11
  export {
7
12
  IdentityState
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityState.js","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? children : null\n}\n"],"names":[],"mappings":";AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAe;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAK,WAAW;AACtG;"}
1
+ {"version":3,"file":"IdentityState.js","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import React, { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? <>{children}</> : null\n}\n"],"names":["this"],"mappings":";;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAe;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAK,uBAAA,UAAA,EAAG,SAAH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAAY,IAAM;AAC7G;"}
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
3
+ const jsxDevRuntime = require("react/jsx-dev-runtime");
4
4
  const react = require("react");
5
5
  const reactSlot = require("@radix-ui/react-slot");
6
6
  const useLogout = require("../hooks/useLogout.cjs");
7
7
  const LogoutTrigger = ({ children }) => {
8
8
  const logout = useLogout.useLogout();
9
- return /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slot, { onClick: react.useCallback(() => logout(), [logout]), children });
9
+ return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactSlot.Slot, { onClick: react.useCallback(() => logout(), [logout]), children }, void 0, false, {
10
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/LogoutTrigger.tsx",
11
+ lineNumber: 9,
12
+ columnNumber: 9
13
+ }, void 0);
10
14
  };
11
15
  exports.LogoutTrigger = LogoutTrigger;
12
16
  //# sourceMappingURL=LogoutTrigger.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutTrigger.cjs","sources":["../../../src/components/LogoutTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { useLogout } from '../hooks'\n\nexport const LogoutTrigger = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst logout = useLogout()\n\treturn <Slot onClick={useCallback(() => logout(), [logout])}>{children}</Slot>\n}\n"],"names":["useLogout","jsx","Slot","useCallback"],"mappings":";;;;;;AAIO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,SAASA,UAAAA;AACR,SAAAC,+BAACC,UAAAA,MAAK,EAAA,SAASC,MAAAA,YAAY,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAI,SAAS,CAAA;AACxE;;"}
1
+ {"version":3,"file":"LogoutTrigger.cjs","sources":["../../../src/components/LogoutTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { useLogout } from '../hooks'\n\nexport const LogoutTrigger = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst logout = useLogout()\n\treturn <Slot onClick={useCallback(() => logout(), [logout])}>{children}</Slot>\n}\n"],"names":["useLogout","jsxDEV","Slot","useCallback","this"],"mappings":";;;;;;AAIO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,SAASA,UAAAA;AACR,SAAAC,8BAAA,OAACC,UAAK,MAAA,EAAA,SAASC,MAAAA,YAAY,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAI,SAAvD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgE,GAAAC,MAAA;AACxE;;"}
@@ -1,10 +1,14 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import { jsxDEV } from "react/jsx-dev-runtime";
2
2
  import { useCallback } from "react";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { useLogout } from "../hooks/useLogout.js";
5
5
  const LogoutTrigger = ({ children }) => {
6
6
  const logout = useLogout();
7
- return /* @__PURE__ */ jsx(Slot, { onClick: useCallback(() => logout(), [logout]), children });
7
+ return /* @__PURE__ */ jsxDEV(Slot, { onClick: useCallback(() => logout(), [logout]), children }, void 0, false, {
8
+ fileName: "/__w/interface/interface/packages/react-identity/src/components/LogoutTrigger.tsx",
9
+ lineNumber: 9,
10
+ columnNumber: 9
11
+ }, void 0);
8
12
  };
9
13
  export {
10
14
  LogoutTrigger
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutTrigger.js","sources":["../../../src/components/LogoutTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { useLogout } from '../hooks'\n\nexport const LogoutTrigger = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst logout = useLogout()\n\treturn <Slot onClick={useCallback(() => logout(), [logout])}>{children}</Slot>\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,SAAS;AACR,SAAA,oBAAC,MAAK,EAAA,SAAS,YAAY,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAI,SAAS,CAAA;AACxE;"}
1
+ {"version":3,"file":"LogoutTrigger.js","sources":["../../../src/components/LogoutTrigger.tsx"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { useLogout } from '../hooks'\n\nexport const LogoutTrigger = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst logout = useLogout()\n\treturn <Slot onClick={useCallback(() => logout(), [logout])}>{children}</Slot>\n}\n"],"names":["this"],"mappings":";;;;AAIO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,SAAS;AACR,SAAA,uBAAC,MAAK,EAAA,SAAS,YAAY,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,GAAI,SAAvD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAgE,GAAAA,MAAA;AACxE;"}
@@ -7,40 +7,41 @@ const useLogoutInternal = require("../internal/hooks/useLogoutInternal.cjs");
7
7
  const useFetchIdentity = () => {
8
8
  const sessionToken = reactClient.useSessionToken();
9
9
  const fetchMe = useFetchMe.useFetchMe();
10
- const [identityState, setIdentityState] = react.useState(sessionToken ? "loading" : "none");
11
- const [identity, setIdentity] = react.useState();
12
- const clearIdentity = react.useCallback(() => setIdentityState("cleared"), []);
10
+ const [identityState, setIdentityState] = react.useState({ state: sessionToken ? "loading" : "none", identity: void 0 });
11
+ const clearIdentity = react.useCallback(() => setIdentityState({ state: "cleared", identity: void 0 }), []);
13
12
  const logout = useLogoutInternal.useLogoutInternal(clearIdentity);
14
13
  const fetch = react.useCallback(async () => {
15
- setIdentityState("loading");
14
+ setIdentityState({ state: "loading", identity: void 0 });
16
15
  try {
17
16
  const response = await fetchMe();
18
17
  const person = response.person;
19
18
  const projects = response.projects;
20
19
  const permissions = response.permissions ?? { canCreateProject: false };
21
- setIdentityState("success");
22
- setIdentity({
23
- id: response.id,
24
- person: person ?? void 0,
25
- projects: projects.map((it) => ({
26
- name: it.project.name,
27
- slug: it.project.slug,
28
- roles: it.memberships.map((it2) => it2.role)
29
- })),
30
- permissions
20
+ setIdentityState({
21
+ state: "success",
22
+ identity: {
23
+ id: response.id,
24
+ person: person ?? void 0,
25
+ projects: projects.map((it) => ({
26
+ name: it.project.name,
27
+ slug: it.project.slug,
28
+ roles: it.memberships.map((it2) => it2.role)
29
+ })),
30
+ permissions
31
+ }
31
32
  });
32
33
  } catch (e) {
33
34
  console.error(e);
34
35
  if (typeof e === "object" && e !== null && "status" in e && e.status === 401) {
35
36
  logout({ noRedirect: true });
36
- setIdentityState("cleared");
37
+ setIdentityState({ state: "cleared", identity: void 0 });
37
38
  } else {
38
- setIdentityState("failed");
39
+ setIdentityState({ state: "failed", identity: void 0 });
39
40
  }
40
41
  }
41
42
  }, [fetchMe, logout]);
42
43
  return [
43
- { state: identityState, identity },
44
+ identityState,
44
45
  react.useMemo(() => ({
45
46
  clearIdentity,
46
47
  refreshIdentity: fetch
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<IdentityStateValue>(sessionToken ? 'loading' : 'none')\n\tconst [identity, setIdentity] = useState<Identity | undefined>()\n\n\tconst clearIdentity = useCallback(() => setIdentityState('cleared'), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState('loading')\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState('success')\n\t\t\tsetIdentity({\n\t\t\t\tid: response.id,\n\t\t\t\tperson: person ?? undefined,\n\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\tname: it.project.name,\n\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t})),\n\t\t\t\tpermissions,\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState('cleared')\n\t\t\t} else {\n\t\t\t\tsetIdentityState('failed')\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\t{ state: identityState, identity },\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useFetchMe","useState","useCallback","useLogoutInternal","it","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA;AACrB,QAAM,UAAUC,WAAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,MAA6B,SAAA,eAAe,YAAY,MAAM;AACxG,QAAM,CAAC,UAAU,WAAW,IAAIA,MAA+B,SAAA;AAE/D,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,SAAS,GAAG,CAAA,CAAE;AACjE,QAAA,SAASC,oCAAkB,aAAa;AAExC,QAAA,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,SAAS;AACtB,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAEtE,uBAAiB,SAAS;AACd,kBAAA;AAAA,QACX,IAAI,SAAS;AAAA,QACb,QAAQ,UAAU;AAAA,QAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,UAC7B,MAAM,GAAG,QAAQ;AAAA,UACjB,MAAM,GAAG,QAAQ;AAAA,UACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,QAAA,EACtC;AAAA,QACF;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,SAAS;AAAA,MAAA,OACpB;AACN,yBAAiB,QAAQ;AAAA,MAC1B;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN,EAAE,OAAO,eAAe,SAAS;AAAA,IACjCC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
1
+ {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({ state: sessionToken ? 'loading' : 'none', identity: undefined })\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState({ state: 'cleared', identity: undefined })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useFetchMe","useState","useCallback","useLogoutInternal","it","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA;AACrB,QAAM,UAAUC,WAAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,MAAAA,SAAiD,EAAE,OAAO,eAAe,YAAY,QAAQ,UAAU,OAAW,CAAA;AAE5J,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,CAAE,CAAA;AACjG,QAAA,SAASC,oCAAkB,aAAa;AAExC,QAAA,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AACtD,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAErD,uBAAA;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QACD;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAAA,MAAA,OACpD;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN;AAAA,IACAC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
@@ -5,40 +5,41 @@ import { useLogoutInternal } from "../internal/hooks/useLogoutInternal.js";
5
5
  const useFetchIdentity = () => {
6
6
  const sessionToken = useSessionToken();
7
7
  const fetchMe = useFetchMe();
8
- const [identityState, setIdentityState] = useState(sessionToken ? "loading" : "none");
9
- const [identity, setIdentity] = useState();
10
- const clearIdentity = useCallback(() => setIdentityState("cleared"), []);
8
+ const [identityState, setIdentityState] = useState({ state: sessionToken ? "loading" : "none", identity: void 0 });
9
+ const clearIdentity = useCallback(() => setIdentityState({ state: "cleared", identity: void 0 }), []);
11
10
  const logout = useLogoutInternal(clearIdentity);
12
11
  const fetch = useCallback(async () => {
13
- setIdentityState("loading");
12
+ setIdentityState({ state: "loading", identity: void 0 });
14
13
  try {
15
14
  const response = await fetchMe();
16
15
  const person = response.person;
17
16
  const projects = response.projects;
18
17
  const permissions = response.permissions ?? { canCreateProject: false };
19
- setIdentityState("success");
20
- setIdentity({
21
- id: response.id,
22
- person: person ?? void 0,
23
- projects: projects.map((it) => ({
24
- name: it.project.name,
25
- slug: it.project.slug,
26
- roles: it.memberships.map((it2) => it2.role)
27
- })),
28
- permissions
18
+ setIdentityState({
19
+ state: "success",
20
+ identity: {
21
+ id: response.id,
22
+ person: person ?? void 0,
23
+ projects: projects.map((it) => ({
24
+ name: it.project.name,
25
+ slug: it.project.slug,
26
+ roles: it.memberships.map((it2) => it2.role)
27
+ })),
28
+ permissions
29
+ }
29
30
  });
30
31
  } catch (e) {
31
32
  console.error(e);
32
33
  if (typeof e === "object" && e !== null && "status" in e && e.status === 401) {
33
34
  logout({ noRedirect: true });
34
- setIdentityState("cleared");
35
+ setIdentityState({ state: "cleared", identity: void 0 });
35
36
  } else {
36
- setIdentityState("failed");
37
+ setIdentityState({ state: "failed", identity: void 0 });
37
38
  }
38
39
  }
39
40
  }, [fetchMe, logout]);
40
41
  return [
41
- { state: identityState, identity },
42
+ identityState,
42
43
  useMemo(() => ({
43
44
  clearIdentity,
44
45
  refreshIdentity: fetch
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchIdentity.js","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<IdentityStateValue>(sessionToken ? 'loading' : 'none')\n\tconst [identity, setIdentity] = useState<Identity | undefined>()\n\n\tconst clearIdentity = useCallback(() => setIdentityState('cleared'), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState('loading')\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState('success')\n\t\t\tsetIdentity({\n\t\t\t\tid: response.id,\n\t\t\t\tperson: person ?? undefined,\n\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\tname: it.project.name,\n\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t})),\n\t\t\t\tpermissions,\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState('cleared')\n\t\t\t} else {\n\t\t\t\tsetIdentityState('failed')\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\t{ state: identityState, identity },\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["it"],"mappings":";;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAe;AACrB,QAAM,UAAU;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAA6B,eAAe,YAAY,MAAM;AACxG,QAAM,CAAC,UAAU,WAAW,IAAI,SAA+B;AAE/D,QAAM,gBAAgB,YAAY,MAAM,iBAAiB,SAAS,GAAG,CAAA,CAAE;AACjE,QAAA,SAAS,kBAAkB,aAAa;AAExC,QAAA,QAAQ,YAAY,YAAY;AACrC,qBAAiB,SAAS;AACtB,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAEtE,uBAAiB,SAAS;AACd,kBAAA;AAAA,QACX,IAAI,SAAS;AAAA,QACb,QAAQ,UAAU;AAAA,QAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,UAC7B,MAAM,GAAG,QAAQ;AAAA,UACjB,MAAM,GAAG,QAAQ;AAAA,UACjB,OAAO,GAAG,YAAY,IAAI,CAAAA,QAAMA,IAAG,IAAI;AAAA,QAAA,EACtC;AAAA,QACF;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,SAAS;AAAA,MAAA,OACpB;AACN,yBAAiB,QAAQ;AAAA,MAC1B;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN,EAAE,OAAO,eAAe,SAAS;AAAA,IACjC,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;"}
1
+ {"version":3,"file":"useFetchIdentity.js","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({ state: sessionToken ? 'loading' : 'none', identity: undefined })\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState({ state: 'cleared', identity: undefined })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["it"],"mappings":";;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAe;AACrB,QAAM,UAAU;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAiD,EAAE,OAAO,eAAe,YAAY,QAAQ,UAAU,OAAW,CAAA;AAE5J,QAAM,gBAAgB,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,CAAE,CAAA;AACjG,QAAA,SAAS,kBAAkB,aAAa;AAExC,QAAA,QAAQ,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AACtD,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAErD,uBAAA;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAA,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QACD;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAAA,MAAA,OACpD;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN;AAAA,IACA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
3
4
  const contexts = require("../internal/contexts.cjs");
4
5
  const IdentityState = ({ state, children }) => {
5
6
  const currentState = contexts.useIdentityState();
6
- return state === currentState || Array.isArray(state) && state.includes(currentState) ? children : null;
7
+ return state === currentState || Array.isArray(state) && state.includes(currentState) ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }) : null;
7
8
  };
8
9
  exports.IdentityState = IdentityState;
9
10
  //# sourceMappingURL=IdentityState.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityState.cjs","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? children : null\n}\n"],"names":["useIdentityState"],"mappings":";;;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAeA,SAAAA;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAK,WAAW;AACtG;;"}
1
+ {"version":3,"file":"IdentityState.cjs","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import React, { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? <>{children}</> : null\n}\n"],"names":["useIdentityState","jsx","Fragment"],"mappings":";;;;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAeA,SAAAA;AAErB,SAAO,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAQC,2BAAAA,IAAAC,WAAAA,UAAA,EAAA,SAAA,CAAS,IAAM;AAC7G;;"}
@@ -1,7 +1,8 @@
1
+ import { jsx, Fragment } from "react/jsx-runtime";
1
2
  import { useIdentityState } from "../internal/contexts.js";
2
3
  const IdentityState = ({ state, children }) => {
3
4
  const currentState = useIdentityState();
4
- return state === currentState || Array.isArray(state) && state.includes(currentState) ? children : null;
5
+ return state === currentState || Array.isArray(state) && state.includes(currentState) ? /* @__PURE__ */ jsx(Fragment, { children }) : null;
5
6
  };
6
7
  export {
7
8
  IdentityState
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityState.js","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? children : null\n}\n"],"names":[],"mappings":";AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAe;AAEd,SAAA,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAK,WAAW;AACtG;"}
1
+ {"version":3,"file":"IdentityState.js","sources":["../../../src/components/IdentityState.tsx"],"sourcesContent":["import React, { ReactNode } from 'react'\nimport { IdentityStateValue } from '../types'\nimport { useIdentityState } from '../internal/contexts'\n\nexport interface IdentityStateProps {\n\tstate: IdentityStateValue | IdentityStateValue[]\n\tchildren: ReactNode\n}\n\nexport const IdentityState = ({ state, children }: IdentityStateProps) => {\n\tconst currentState = useIdentityState()\n\n\treturn state === currentState || (Array.isArray(state) && state.includes(currentState)) ? <>{children}</> : null\n}\n"],"names":[],"mappings":";;AASO,MAAM,gBAAgB,CAAC,EAAE,OAAO,eAAmC;AACzE,QAAM,eAAe;AAErB,SAAO,UAAU,gBAAiB,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,YAAY,IAAQ,oBAAA,UAAA,EAAA,SAAA,CAAS,IAAM;AAC7G;"}
@@ -7,40 +7,41 @@ const useLogoutInternal = require("../internal/hooks/useLogoutInternal.cjs");
7
7
  const useFetchIdentity = () => {
8
8
  const sessionToken = reactClient.useSessionToken();
9
9
  const fetchMe = useFetchMe.useFetchMe();
10
- const [identityState, setIdentityState] = react.useState(sessionToken ? "loading" : "none");
11
- const [identity, setIdentity] = react.useState();
12
- const clearIdentity = react.useCallback(() => setIdentityState("cleared"), []);
10
+ const [identityState, setIdentityState] = react.useState({ state: sessionToken ? "loading" : "none", identity: void 0 });
11
+ const clearIdentity = react.useCallback(() => setIdentityState({ state: "cleared", identity: void 0 }), []);
13
12
  const logout = useLogoutInternal.useLogoutInternal(clearIdentity);
14
13
  const fetch = react.useCallback(async () => {
15
- setIdentityState("loading");
14
+ setIdentityState({ state: "loading", identity: void 0 });
16
15
  try {
17
16
  const response = await fetchMe();
18
17
  const person = response.person;
19
18
  const projects = response.projects;
20
19
  const permissions = response.permissions ?? { canCreateProject: false };
21
- setIdentityState("success");
22
- setIdentity({
23
- id: response.id,
24
- person: person ?? void 0,
25
- projects: projects.map((it) => ({
26
- name: it.project.name,
27
- slug: it.project.slug,
28
- roles: it.memberships.map((it2) => it2.role)
29
- })),
30
- permissions
20
+ setIdentityState({
21
+ state: "success",
22
+ identity: {
23
+ id: response.id,
24
+ person: person ?? void 0,
25
+ projects: projects.map((it) => ({
26
+ name: it.project.name,
27
+ slug: it.project.slug,
28
+ roles: it.memberships.map((it2) => it2.role)
29
+ })),
30
+ permissions
31
+ }
31
32
  });
32
33
  } catch (e) {
33
34
  console.error(e);
34
35
  if (typeof e === "object" && e !== null && "status" in e && e.status === 401) {
35
36
  logout({ noRedirect: true });
36
- setIdentityState("cleared");
37
+ setIdentityState({ state: "cleared", identity: void 0 });
37
38
  } else {
38
- setIdentityState("failed");
39
+ setIdentityState({ state: "failed", identity: void 0 });
39
40
  }
40
41
  }
41
42
  }, [fetchMe, logout]);
42
43
  return [
43
- { state: identityState, identity },
44
+ identityState,
44
45
  react.useMemo(() => ({
45
46
  clearIdentity,
46
47
  refreshIdentity: fetch
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<IdentityStateValue>(sessionToken ? 'loading' : 'none')\n\tconst [identity, setIdentity] = useState<Identity | undefined>()\n\n\tconst clearIdentity = useCallback(() => setIdentityState('cleared'), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState('loading')\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState('success')\n\t\t\tsetIdentity({\n\t\t\t\tid: response.id,\n\t\t\t\tperson: person ?? undefined,\n\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\tname: it.project.name,\n\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t})),\n\t\t\t\tpermissions,\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState('cleared')\n\t\t\t} else {\n\t\t\t\tsetIdentityState('failed')\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\t{ state: identityState, identity },\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useFetchMe","useState","useCallback","useLogoutInternal","it","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA;AACrB,QAAM,UAAUC,WAAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,MAA6B,SAAA,eAAe,YAAY,MAAM;AACxG,QAAM,CAAC,UAAU,WAAW,IAAIA,MAA+B,SAAA;AAE/D,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,SAAS,GAAG,CAAA,CAAE;AACjE,QAAA,SAASC,oCAAkB,aAAa;AAExC,QAAA,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,SAAS;AACtB,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAEtE,uBAAiB,SAAS;AACd,kBAAA;AAAA,QACX,IAAI,SAAS;AAAA,QACb,QAAQ,UAAU;AAAA,QAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,UAC7B,MAAM,GAAG,QAAQ;AAAA,UACjB,MAAM,GAAG,QAAQ;AAAA,UACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,QAAA,EACtC;AAAA,QACF;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,SAAS;AAAA,MAAA,OACpB;AACN,yBAAiB,QAAQ;AAAA,MAC1B;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN,EAAE,OAAO,eAAe,SAAS;AAAA,IACjCC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}
1
+ {"version":3,"file":"useFetchIdentity.cjs","sources":["../../../src/hooks/useFetchIdentity.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { Identity, IdentityMethods, IdentityStateValue } from '../types'\nimport { useSessionToken } from '@contember/react-client'\nimport { useFetchMe } from '../internal/hooks/useFetchMe'\nimport { useLogoutInternal } from '../internal/hooks/useLogoutInternal'\n\nexport const useFetchIdentity = (): [{ state: IdentityStateValue, identity: Identity | undefined }, IdentityMethods] => {\n\tconst sessionToken = useSessionToken()\n\tconst fetchMe = useFetchMe()\n\n\tconst [identityState, setIdentityState] = useState<ReturnType<typeof useFetchIdentity>[0]>({ state: sessionToken ? 'loading' : 'none', identity: undefined })\n\n\tconst clearIdentity = useCallback(() => setIdentityState({ state: 'cleared', identity: undefined }), [])\n\tconst logout = useLogoutInternal(clearIdentity)\n\n\tconst fetch = useCallback(async () => {\n\t\tsetIdentityState({ state: 'loading', identity: undefined })\n\t\ttry {\n\t\t\tconst response = await fetchMe()\n\t\t\tconst person = response.person\n\t\t\tconst projects = response.projects\n\t\t\tconst permissions = response.permissions ?? { canCreateProject: false }\n\n\t\t\tsetIdentityState({\n\t\t\t\tstate: 'success',\n\t\t\t\tidentity: {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\tperson: person ?? undefined,\n\t\t\t\t\tprojects: projects.map(it => ({\n\t\t\t\t\t\tname: it.project.name,\n\t\t\t\t\t\tslug: it.project.slug,\n\t\t\t\t\t\troles: it.memberships.map(it => it.role),\n\t\t\t\t\t})),\n\t\t\t\t\tpermissions,\n\t\t\t\t},\n\t\t\t})\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tif (typeof e === 'object' && e !== null && 'status' in e && (e as { status?: unknown }).status === 401) {\n\t\t\t\tlogout({ noRedirect: true })\n\t\t\t\tsetIdentityState({ state: 'cleared', identity: undefined })\n\t\t\t} else {\n\t\t\t\tsetIdentityState({ state: 'failed', identity: undefined })\n\t\t\t}\n\t\t}\n\t}, [fetchMe, logout])\n\n\treturn [\n\t\tidentityState,\n\t\tuseMemo((): IdentityMethods => ({\n\t\t\tclearIdentity,\n\t\t\trefreshIdentity: fetch,\n\t\t}), [clearIdentity, fetch]),\n\t]\n}\n"],"names":["useSessionToken","useFetchMe","useState","useCallback","useLogoutInternal","it","useMemo"],"mappings":";;;;;;AAMO,MAAM,mBAAmB,MAAwF;AACvH,QAAM,eAAeA,YAAAA;AACrB,QAAM,UAAUC,WAAAA;AAEhB,QAAM,CAAC,eAAe,gBAAgB,IAAIC,MAAAA,SAAiD,EAAE,OAAO,eAAe,YAAY,QAAQ,UAAU,OAAW,CAAA;AAE5J,QAAM,gBAAgBC,MAAAA,YAAY,MAAM,iBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW,GAAG,CAAE,CAAA;AACjG,QAAA,SAASC,oCAAkB,aAAa;AAExC,QAAA,QAAQD,MAAAA,YAAY,YAAY;AACrC,qBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AACtD,QAAA;AACG,YAAA,WAAW,MAAM;AACvB,YAAM,SAAS,SAAS;AACxB,YAAM,WAAW,SAAS;AAC1B,YAAM,cAAc,SAAS,eAAe,EAAE,kBAAkB,MAAM;AAErD,uBAAA;AAAA,QAChB,OAAO;AAAA,QACP,UAAU;AAAA,UACT,IAAI,SAAS;AAAA,UACb,QAAQ,UAAU;AAAA,UAClB,UAAU,SAAS,IAAI,CAAO,QAAA;AAAA,YAC7B,MAAM,GAAG,QAAQ;AAAA,YACjB,MAAM,GAAG,QAAQ;AAAA,YACjB,OAAO,GAAG,YAAY,IAAI,CAAAE,QAAMA,IAAG,IAAI;AAAA,UAAA,EACtC;AAAA,UACF;AAAA,QACD;AAAA,MAAA,CACA;AAAA,aACO,GAAG;AACX,cAAQ,MAAM,CAAC;AACX,UAAA,OAAO,MAAM,YAAY,MAAM,QAAQ,YAAY,KAAM,EAA2B,WAAW,KAAK;AAChG,eAAA,EAAE,YAAY,KAAA,CAAM;AAC3B,yBAAiB,EAAE,OAAO,WAAW,UAAU,QAAW;AAAA,MAAA,OACpD;AACN,yBAAiB,EAAE,OAAO,UAAU,UAAU,QAAW;AAAA,MAC1D;AAAA,IACD;AAAA,EAAA,GACE,CAAC,SAAS,MAAM,CAAC;AAEb,SAAA;AAAA,IACN;AAAA,IACAC,MAAAA,QAAQ,OAAwB;AAAA,MAC/B;AAAA,MACA,iBAAiB;AAAA,IAAA,IACd,CAAC,eAAe,KAAK,CAAC;AAAA,EAAA;AAE5B;;"}