oidc-spa 8.3.5 → 8.3.7

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 (75) hide show
  1. package/core/StateDataCookie.d.ts +34 -0
  2. package/core/StateDataCookie.js +142 -0
  3. package/core/StateDataCookie.js.map +1 -0
  4. package/core/createOidc.js +23 -5
  5. package/core/createOidc.js.map +1 -1
  6. package/core/earlyInit.d.ts +0 -1
  7. package/core/earlyInit.js +4 -13
  8. package/core/earlyInit.js.map +1 -1
  9. package/core/loginOrGoToAuthServer.d.ts +1 -0
  10. package/core/loginOrGoToAuthServer.js +20 -9
  11. package/core/loginOrGoToAuthServer.js.map +1 -1
  12. package/entrypoint.d.ts +0 -1
  13. package/entrypoint.js +1 -3
  14. package/entrypoint.js.map +1 -1
  15. package/esm/core/StateDataCookie.d.ts +34 -0
  16. package/esm/core/StateDataCookie.js +135 -0
  17. package/esm/core/StateDataCookie.js.map +1 -0
  18. package/esm/core/createOidc.js +23 -5
  19. package/esm/core/createOidc.js.map +1 -1
  20. package/esm/core/earlyInit.d.ts +0 -1
  21. package/esm/core/earlyInit.js +4 -13
  22. package/esm/core/earlyInit.js.map +1 -1
  23. package/esm/core/loginOrGoToAuthServer.d.ts +1 -0
  24. package/esm/core/loginOrGoToAuthServer.js +20 -9
  25. package/esm/core/loginOrGoToAuthServer.js.map +1 -1
  26. package/esm/entrypoint.d.ts +0 -1
  27. package/esm/entrypoint.js +0 -1
  28. package/esm/entrypoint.js.map +1 -1
  29. package/esm/tanstack-start/react/createOidcSpaApi.js +2 -0
  30. package/esm/tanstack-start/react/createOidcSpaApi.js.map +1 -1
  31. package/esm/tanstack-start/react/index.d.ts +1 -1
  32. package/esm/tanstack-start/react/index.js +1 -1
  33. package/esm/tanstack-start/react/index.js.map +1 -1
  34. package/esm/tanstack-start/react/withOidcSpaServerEntry.d.ts +5 -0
  35. package/esm/tanstack-start/react/withOidcSpaServerEntry.js +38 -0
  36. package/esm/tanstack-start/react/withOidcSpaServerEntry.js.map +1 -0
  37. package/package.json +1 -1
  38. package/src/core/StateDataCookie.ts +217 -0
  39. package/src/core/createOidc.ts +32 -4
  40. package/src/core/earlyInit.ts +3 -17
  41. package/src/core/loginOrGoToAuthServer.ts +25 -9
  42. package/src/entrypoint.ts +0 -1
  43. package/src/tanstack-start/react/createOidcSpaApi.tsx +3 -0
  44. package/src/tanstack-start/react/index.ts +1 -1
  45. package/src/tanstack-start/react/withOidcSpaServerEntry.ts +60 -0
  46. package/src/vite-plugin/handleClientEntrypoint.ts +10 -67
  47. package/src/vite-plugin/handleServerEntrypoint.ts +129 -0
  48. package/src/vite-plugin/transformTanstackRouterCreateFileRoute.ts +0 -64
  49. package/src/vite-plugin/utils.ts +64 -0
  50. package/src/vite-plugin/vite-plugin.ts +31 -10
  51. package/vite-plugin/handleClientEntrypoint.d.ts +7 -5
  52. package/vite-plugin/handleClientEntrypoint.js +16 -62
  53. package/vite-plugin/handleClientEntrypoint.js.map +1 -1
  54. package/vite-plugin/handleServerEntrypoint.d.ts +12 -0
  55. package/vite-plugin/handleServerEntrypoint.js +113 -0
  56. package/vite-plugin/handleServerEntrypoint.js.map +1 -0
  57. package/vite-plugin/transformTanstackRouterCreateFileRoute.js +0 -39
  58. package/vite-plugin/transformTanstackRouterCreateFileRoute.js.map +1 -1
  59. package/vite-plugin/utils.d.ts +12 -0
  60. package/vite-plugin/utils.js +88 -0
  61. package/vite-plugin/utils.js.map +1 -0
  62. package/vite-plugin/vite-plugin.d.ts +1 -1
  63. package/vite-plugin/vite-plugin.js +21 -5
  64. package/vite-plugin/vite-plugin.js.map +1 -1
  65. package/core/requiredPostHydrationReplaceNavigationUrl.d.ts +0 -6
  66. package/core/requiredPostHydrationReplaceNavigationUrl.js +0 -12
  67. package/core/requiredPostHydrationReplaceNavigationUrl.js.map +0 -1
  68. package/esm/core/requiredPostHydrationReplaceNavigationUrl.d.ts +0 -6
  69. package/esm/core/requiredPostHydrationReplaceNavigationUrl.js +0 -8
  70. package/esm/core/requiredPostHydrationReplaceNavigationUrl.js.map +0 -1
  71. package/esm/tanstack-start/react/withHandlingOidcPostLoginNavigation.d.ts +0 -2
  72. package/esm/tanstack-start/react/withHandlingOidcPostLoginNavigation.js +0 -36
  73. package/esm/tanstack-start/react/withHandlingOidcPostLoginNavigation.js.map +0 -1
  74. package/src/core/requiredPostHydrationReplaceNavigationUrl.ts +0 -11
  75. package/src/tanstack-start/react/withHandlingOidcPostLoginNavigation.tsx +0 -46
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.oidcSpa = oidcSpa;
4
4
  const assert_1 = require("../tools/tsafe/assert");
5
5
  const handleClientEntrypoint_1 = require("./handleClientEntrypoint");
6
+ const handleServerEntrypoint_1 = require("./handleServerEntrypoint");
6
7
  const manageOptimizedDeps_1 = require("./manageOptimizedDeps");
7
8
  const transformTanstackRouterCreateFileRoute_1 = require("./transformTanstackRouterCreateFileRoute");
8
9
  const projectType_1 = require("./projectType");
@@ -11,7 +12,8 @@ function oidcSpa(params = {
11
12
  freezeXMLHttpRequest: true,
12
13
  freezeWebSocket: true
13
14
  }) {
14
- let loadHandleEntrypoint = undefined;
15
+ let load_handleClientEntrypoint = undefined;
16
+ let load_handleServerEntrypoint = undefined;
15
17
  let projectType = undefined;
16
18
  const plugin = {
17
19
  name: "oidc-spa",
@@ -31,11 +33,15 @@ function oidcSpa(params = {
31
33
  projectType = (0, projectType_1.getProjectType)({
32
34
  pluginNames: resolvedConfig.plugins.map(({ name }) => name)
33
35
  });
34
- loadHandleEntrypoint = (0, handleClientEntrypoint_1.createLoadHandleEntrypoint)({
36
+ load_handleClientEntrypoint = (0, handleClientEntrypoint_1.createHandleClientEntrypoint)({
35
37
  oidcSpaVitePluginParams: params,
36
38
  resolvedConfig,
37
39
  projectType
38
- });
40
+ }).load_handleClientEntrypoint;
41
+ load_handleServerEntrypoint = (0, handleServerEntrypoint_1.createHandleServerEntrypoint)({
42
+ resolvedConfig,
43
+ projectType
44
+ }).load_handleServerEntrypoint;
39
45
  },
40
46
  transform(code, id) {
41
47
  let transformed = null;
@@ -52,9 +58,19 @@ function oidcSpa(params = {
52
58
  return transformed;
53
59
  },
54
60
  async load(id) {
55
- (0, assert_1.assert)(loadHandleEntrypoint !== undefined);
56
61
  {
57
- const r = await loadHandleEntrypoint({
62
+ (0, assert_1.assert)(load_handleClientEntrypoint !== undefined);
63
+ const r = await load_handleClientEntrypoint({
64
+ id,
65
+ pluginContext: this
66
+ });
67
+ if (r !== null) {
68
+ return r;
69
+ }
70
+ }
71
+ {
72
+ (0, assert_1.assert)(load_handleServerEntrypoint !== undefined);
73
+ const r = await load_handleServerEntrypoint({
58
74
  id,
59
75
  pluginContext: this
60
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin/vite-plugin.ts"],"names":[],"mappings":";;AAcA,0BA2EC;AAxFD,kDAA+C;AAG/C,qEAAsE;AACtE,+DAA4D;AAC5D,qGAAoF;AACpF,+CAAiE;AAOjE,SAAgB,OAAO,CACnB,SAAkC;IAC9B,WAAW,EAAE,IAAI;IACjB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,IAAI;CACxB;IAED,IAAI,oBAAoB,GAA8D,SAAS,CAAC;IAEhG,IAAI,WAAW,GAA4B,SAAS,CAAC;IAErD,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK;QACd,MAAM,CAAC,UAAU;YACb,MAAM,WAAW,GAAG,IAAA,4BAAc,EAAC;gBAC/B,WAAW,EACP,UAAU,CAAC,OAAO;oBACd,EAAE,IAAI,EAAE;qBACP,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,MAAM,CAAC;qBAC1C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC;qBAClC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;aAC5C,CAAC,CAAC;YAEH,UAAU,GAAG,IAAA,yCAAmB,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9D,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,cAAc,CAAC,cAAc;YACzB,WAAW,GAAG,IAAA,4BAAc,EAAC;gBACzB,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;aAC9D,CAAC,CAAC;YAEH,oBAAoB,GAAG,IAAA,mDAA0B,EAAC;gBAC9C,uBAAuB,EAAE,MAAM;gBAC/B,cAAc;gBACd,WAAW;aACd,CAAC,CAAC;QACP,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,WAAW,GAA2B,IAAI,CAAC;YAE/C,IAAA,eAAM,EAAC,WAAW,KAAK,SAAS,CAAC,CAAC;YAElC,uCAAuC,EAAE,CAAC;gBACtC,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;oBACnC,MAAM,uCAAuC,CAAC;gBAClD,CAAC;gBAED,WAAW,GAAG,IAAA,iEAAwB,EAAC;oBACnC,IAAI;oBACJ,EAAE;iBACL,CAAC,CAAC;YACP,CAAC;YAED,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACT,IAAA,eAAM,EAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC;YAE3C,CAAC;gBACG,MAAM,CAAC,GAAG,MAAM,oBAAoB,CAAC;oBACjC,EAAE;oBACF,aAAa,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACb,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin/vite-plugin.ts"],"names":[],"mappings":";;AAYA,0BAkGC;AA7GD,kDAA+C;AAG/C,qEAAwE;AACxE,qEAAwE;AACxE,+DAA4D;AAC5D,qGAAoF;AACpF,+CAAiE;AAIjE,SAAgB,OAAO,CACnB,SAAkC;IAC9B,WAAW,EAAE,IAAI;IACjB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,IAAI;CACxB;IAED,IAAI,2BAA2B,GAEb,SAAS,CAAC;IAC5B,IAAI,2BAA2B,GAEb,SAAS,CAAC;IAE5B,IAAI,WAAW,GAA4B,SAAS,CAAC;IAErD,MAAM,MAAM,GAAW;QACnB,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,KAAK;QACd,MAAM,CAAC,UAAU;YACb,MAAM,WAAW,GAAG,IAAA,4BAAc,EAAC;gBAC/B,WAAW,EACP,UAAU,CAAC,OAAO;oBACd,EAAE,IAAI,EAAE;qBACP,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,MAAM,CAAC;qBAC1C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,MAAM,CAAC;qBAClC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;aAC5C,CAAC,CAAC;YAEH,UAAU,GAAG,IAAA,yCAAmB,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9D,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,cAAc,CAAC,cAAc;YACzB,WAAW,GAAG,IAAA,4BAAc,EAAC;gBACzB,WAAW,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;aAC9D,CAAC,CAAC;YAEH,2BAA2B,GAAG,IAAA,qDAA4B,EAAC;gBACvD,uBAAuB,EAAE,MAAM;gBAC/B,cAAc;gBACd,WAAW;aACd,CAAC,CAAC,2BAA2B,CAAC;YAE/B,2BAA2B,GAAG,IAAA,qDAA4B,EAAC;gBACvD,cAAc;gBACd,WAAW;aACd,CAAC,CAAC,2BAA2B,CAAC;QACnC,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,WAAW,GAA2B,IAAI,CAAC;YAE/C,IAAA,eAAM,EAAC,WAAW,KAAK,SAAS,CAAC,CAAC;YAElC,uCAAuC,EAAE,CAAC;gBACtC,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;oBACnC,MAAM,uCAAuC,CAAC;gBAClD,CAAC;gBAED,WAAW,GAAG,IAAA,iEAAwB,EAAC;oBACnC,IAAI;oBACJ,EAAE;iBACL,CAAC,CAAC;YACP,CAAC;YAED,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACT,CAAC;gBACG,IAAA,eAAM,EAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC;gBAElD,MAAM,CAAC,GAAG,MAAM,2BAA2B,CAAC;oBACxC,EAAE;oBACF,aAAa,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACb,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;YAED,CAAC;gBACG,IAAA,eAAM,EAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC;gBAElD,MAAM,CAAC,GAAG,MAAM,2BAA2B,CAAC;oBACxC,EAAE;oBACF,aAAa,EAAE,IAAI;iBACtB,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACb,OAAO,CAAC,CAAC;gBACb,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function getOidcRequiredPostHydrationReplaceNavigationUrl(): {
2
- rootRelativeRedirectUrl: string | undefined;
3
- };
4
- export declare function setOidcRequiredPostHydrationReplaceNavigationUrl(params: {
5
- rootRelativeRedirectUrl: string;
6
- }): void;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOidcRequiredPostHydrationReplaceNavigationUrl = getOidcRequiredPostHydrationReplaceNavigationUrl;
4
- exports.setOidcRequiredPostHydrationReplaceNavigationUrl = setOidcRequiredPostHydrationReplaceNavigationUrl;
5
- let rootRelativeRedirectUrl = undefined;
6
- function getOidcRequiredPostHydrationReplaceNavigationUrl() {
7
- return { rootRelativeRedirectUrl };
8
- }
9
- function setOidcRequiredPostHydrationReplaceNavigationUrl(params) {
10
- rootRelativeRedirectUrl = params.rootRelativeRedirectUrl;
11
- }
12
- //# sourceMappingURL=requiredPostHydrationReplaceNavigationUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requiredPostHydrationReplaceNavigationUrl.js","sourceRoot":"","sources":["../src/core/requiredPostHydrationReplaceNavigationUrl.ts"],"names":[],"mappings":";;AAEA,4GAEC;AAED,4GAIC;AAVD,IAAI,uBAAuB,GAAuB,SAAS,CAAC;AAE5D,SAAgB,gDAAgD;IAC5D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACvC,CAAC;AAED,SAAgB,gDAAgD,CAAC,MAEhE;IACG,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC7D,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare function getOidcRequiredPostHydrationReplaceNavigationUrl(): {
2
- rootRelativeRedirectUrl: string | undefined;
3
- };
4
- export declare function setOidcRequiredPostHydrationReplaceNavigationUrl(params: {
5
- rootRelativeRedirectUrl: string;
6
- }): void;
@@ -1,8 +0,0 @@
1
- let rootRelativeRedirectUrl = undefined;
2
- export function getOidcRequiredPostHydrationReplaceNavigationUrl() {
3
- return { rootRelativeRedirectUrl };
4
- }
5
- export function setOidcRequiredPostHydrationReplaceNavigationUrl(params) {
6
- rootRelativeRedirectUrl = params.rootRelativeRedirectUrl;
7
- }
8
- //# sourceMappingURL=requiredPostHydrationReplaceNavigationUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requiredPostHydrationReplaceNavigationUrl.js","sourceRoot":"","sources":["../../src/core/requiredPostHydrationReplaceNavigationUrl.ts"],"names":[],"mappings":"AAAA,IAAI,uBAAuB,GAAuB,SAAS,CAAC;AAE5D,MAAM,UAAU,gDAAgD;IAC5D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,gDAAgD,CAAC,MAEhE;IACG,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC7D,CAAC"}
@@ -1,2 +0,0 @@
1
- import { type ComponentType, type FC } from "react";
2
- export declare function withHandlingOidcPostLoginNavigation<Props extends Record<string, unknown>>(Component: ComponentType<Props>): FC<Props>;
@@ -1,36 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect } from "react";
3
- import { getOidcRequiredPostHydrationReplaceNavigationUrl } from "../../core/requiredPostHydrationReplaceNavigationUrl";
4
- import { useRouter } from "@tanstack/react-router";
5
- export function withHandlingOidcPostLoginNavigation(Component) {
6
- let { rootRelativeRedirectUrl } = getOidcRequiredPostHydrationReplaceNavigationUrl();
7
- if (rootRelativeRedirectUrl === undefined) {
8
- // @ts-expect-error
9
- return Component;
10
- }
11
- function ComponentWithHandlingOidcPostLoginNavigation(props) {
12
- const router = useRouter();
13
- useEffect(() => {
14
- if (rootRelativeRedirectUrl === undefined) {
15
- return;
16
- }
17
- // Defer navigation to the next paint to avoid hydration mismatches.
18
- // A double rAF schedules after hydration/paint without arbitrary timeouts.
19
- requestAnimationFrame(() => {
20
- requestAnimationFrame(() => {
21
- if (rootRelativeRedirectUrl !== undefined) {
22
- router.navigate({
23
- to: rootRelativeRedirectUrl,
24
- replace: true
25
- });
26
- rootRelativeRedirectUrl = undefined;
27
- }
28
- });
29
- });
30
- }, []);
31
- return _jsx(Component, { ...props });
32
- }
33
- ComponentWithHandlingOidcPostLoginNavigation.displayName = `${Component.displayName ?? Component.name ?? "Component"}WithHandlingOidcPostLoginNavigation`;
34
- return ComponentWithHandlingOidcPostLoginNavigation;
35
- }
36
- //# sourceMappingURL=withHandlingOidcPostLoginNavigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"withHandlingOidcPostLoginNavigation.js","sourceRoot":"","sources":["../../../src/tanstack-start/react/withHandlingOidcPostLoginNavigation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,gDAAgD,EAAE,MAAM,sDAAsD,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,mCAAmC,CAC/C,SAA+B;IAE/B,IAAI,EAAE,uBAAuB,EAAE,GAAG,gDAAgD,EAAE,CAAC;IAErF,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;QACxC,mBAAmB;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,4CAA4C,CAAC,KAAY;QAC9D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAE3B,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO;YACX,CAAC;YAED,oEAAoE;YACpE,2EAA2E;YAC3E,qBAAqB,CAAC,GAAG,EAAE;gBACvB,qBAAqB,CAAC,GAAG,EAAE;oBACvB,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;wBACxC,MAAM,CAAC,QAAQ,CAAC;4BACZ,EAAE,EAAE,uBAAuB;4BAC3B,OAAO,EAAE,IAAI;yBAChB,CAAC,CAAC;wBACH,uBAAuB,GAAG,SAAS,CAAC;oBACxC,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAC;IACpC,CAAC;IAED,4CAA4C,CAAC,WAAW,GAAG,GACvD,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,WAC/C,qCAAqC,CAAC;IAEtC,OAAO,4CAA4C,CAAC;AACxD,CAAC"}
@@ -1,11 +0,0 @@
1
- let rootRelativeRedirectUrl: string | undefined = undefined;
2
-
3
- export function getOidcRequiredPostHydrationReplaceNavigationUrl() {
4
- return { rootRelativeRedirectUrl };
5
- }
6
-
7
- export function setOidcRequiredPostHydrationReplaceNavigationUrl(params: {
8
- rootRelativeRedirectUrl: string;
9
- }) {
10
- rootRelativeRedirectUrl = params.rootRelativeRedirectUrl;
11
- }
@@ -1,46 +0,0 @@
1
- import { type ComponentType, type FC, useEffect } from "react";
2
- import { getOidcRequiredPostHydrationReplaceNavigationUrl } from "../../core/requiredPostHydrationReplaceNavigationUrl";
3
- import { useRouter } from "@tanstack/react-router";
4
-
5
- export function withHandlingOidcPostLoginNavigation<Props extends Record<string, unknown>>(
6
- Component: ComponentType<Props>
7
- ): FC<Props> {
8
- let { rootRelativeRedirectUrl } = getOidcRequiredPostHydrationReplaceNavigationUrl();
9
-
10
- if (rootRelativeRedirectUrl === undefined) {
11
- // @ts-expect-error
12
- return Component;
13
- }
14
-
15
- function ComponentWithHandlingOidcPostLoginNavigation(props: Props) {
16
- const router = useRouter();
17
-
18
- useEffect(() => {
19
- if (rootRelativeRedirectUrl === undefined) {
20
- return;
21
- }
22
-
23
- // Defer navigation to the next paint to avoid hydration mismatches.
24
- // A double rAF schedules after hydration/paint without arbitrary timeouts.
25
- requestAnimationFrame(() => {
26
- requestAnimationFrame(() => {
27
- if (rootRelativeRedirectUrl !== undefined) {
28
- router.navigate({
29
- to: rootRelativeRedirectUrl,
30
- replace: true
31
- });
32
- rootRelativeRedirectUrl = undefined;
33
- }
34
- });
35
- });
36
- }, []);
37
-
38
- return <Component {...props} />;
39
- }
40
-
41
- ComponentWithHandlingOidcPostLoginNavigation.displayName = `${
42
- Component.displayName ?? Component.name ?? "Component"
43
- }WithHandlingOidcPostLoginNavigation`;
44
-
45
- return ComponentWithHandlingOidcPostLoginNavigation;
46
- }