@burdenoff/microfe-auth 2026.1030.1 → 2026.1101.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/auth/AuthRoot.js +14 -11
  2. package/dist/auth/AuthRoot.js.map +1 -1
  3. package/dist/auth/AuthRoutes.js +1 -2
  4. package/dist/auth/AuthRoutes.js.map +1 -1
  5. package/dist/auth/components/AuthIcons.js +1 -2
  6. package/dist/auth/components/AuthIcons.js.map +1 -1
  7. package/dist/auth/components/AuthLayout.js +1 -2
  8. package/dist/auth/components/AuthLayout.js.map +1 -1
  9. package/dist/auth/components/CaptchaV2.js +9 -10
  10. package/dist/auth/components/CaptchaV2.js.map +1 -1
  11. package/dist/auth/components/ConfirmActionDialog.js +1 -2
  12. package/dist/auth/components/ConfirmActionDialog.js.map +1 -1
  13. package/dist/auth/components/profile/UserProfileMenu.js +7 -6
  14. package/dist/auth/components/profile/UserProfileMenu.js.map +1 -1
  15. package/dist/auth/components/workspace/WorkspaceSelector.js +1 -2
  16. package/dist/auth/components/workspace/WorkspaceSelector.js.map +1 -1
  17. package/dist/auth/constants/permissions.js +1 -2
  18. package/dist/auth/constants/permissions.js.map +1 -1
  19. package/dist/auth/constants/sessionKeys.js +1 -2
  20. package/dist/auth/constants/sessionKeys.js.map +1 -1
  21. package/dist/auth/hooks/contextDeepLink.js +1 -2
  22. package/dist/auth/hooks/contextDeepLink.js.map +1 -1
  23. package/dist/auth/hooks/index.js +12 -11
  24. package/dist/auth/hooks/useAccountOperations.js +1 -2
  25. package/dist/auth/hooks/useAccountOperations.js.map +1 -1
  26. package/dist/auth/hooks/useActiveContextBootstrapMirror.js +1 -2
  27. package/dist/auth/hooks/useActiveContextBootstrapMirror.js.map +1 -1
  28. package/dist/auth/hooks/useAuthOperations.js +37 -37
  29. package/dist/auth/hooks/useAuthOperations.js.map +1 -1
  30. package/dist/auth/hooks/useAuthPermissions.js +1 -2
  31. package/dist/auth/hooks/useAuthPermissions.js.map +1 -1
  32. package/dist/auth/hooks/useCaptchaV3.js +1 -2
  33. package/dist/auth/hooks/useCaptchaV3.js.map +1 -1
  34. package/dist/auth/hooks/useContextSwitcherData.js +81 -78
  35. package/dist/auth/hooks/useContextSwitcherData.js.map +1 -1
  36. package/dist/auth/hooks/useMfaOperations.js +4 -5
  37. package/dist/auth/hooks/useMfaOperations.js.map +1 -1
  38. package/dist/auth/hooks/useMyWorkspaces.js +4 -5
  39. package/dist/auth/hooks/useMyWorkspaces.js.map +1 -1
  40. package/dist/auth/hooks/useOAuthOperations.js +11 -12
  41. package/dist/auth/hooks/useOAuthOperations.js.map +1 -1
  42. package/dist/auth/hooks/usePasswordOperations.js +1 -2
  43. package/dist/auth/hooks/usePasswordOperations.js.map +1 -1
  44. package/dist/auth/hooks/useSessionOperations.js +3 -4
  45. package/dist/auth/hooks/useSessionOperations.js.map +1 -1
  46. package/dist/auth/hooks/useSignupCaptcha.js +1 -2
  47. package/dist/auth/hooks/useSignupCaptcha.js.map +1 -1
  48. package/dist/auth/hooks/useSsoOperations.js +80 -81
  49. package/dist/auth/hooks/useSsoOperations.js.map +1 -1
  50. package/dist/auth/hooks/useTokenRefresh.js +8 -12
  51. package/dist/auth/hooks/useTokenRefresh.js.map +1 -1
  52. package/dist/auth/hooks/useUserOperations.js +1 -2
  53. package/dist/auth/hooks/useUserOperations.js.map +1 -1
  54. package/dist/auth/hooks/useWorkspaceOperations.js +1 -2
  55. package/dist/auth/hooks/useWorkspaceOperations.js.map +1 -1
  56. package/dist/auth/hooks/useWorkspaceToken.js +1 -2
  57. package/dist/auth/hooks/useWorkspaceToken.js.map +1 -1
  58. package/dist/auth/index.js +19 -18
  59. package/dist/auth/pages/AuditLogPage.js +21 -22
  60. package/dist/auth/pages/AuditLogPage.js.map +1 -1
  61. package/dist/auth/pages/EmailVerifyPage.js +70 -64
  62. package/dist/auth/pages/EmailVerifyPage.js.map +1 -1
  63. package/dist/auth/pages/LoginPage.js +89 -105
  64. package/dist/auth/pages/LoginPage.js.map +1 -1
  65. package/dist/auth/pages/MagicLinkPage.js +30 -31
  66. package/dist/auth/pages/MagicLinkPage.js.map +1 -1
  67. package/dist/auth/pages/MfaSetupPage.js +18 -20
  68. package/dist/auth/pages/MfaSetupPage.js.map +1 -1
  69. package/dist/auth/pages/MfaVerifyPage.js +31 -35
  70. package/dist/auth/pages/MfaVerifyPage.js.map +1 -1
  71. package/dist/auth/pages/OAuthCallbackPage.js +4 -11
  72. package/dist/auth/pages/OAuthCallbackPage.js.map +1 -1
  73. package/dist/auth/pages/PasswordResetPage.js +20 -23
  74. package/dist/auth/pages/PasswordResetPage.js.map +1 -1
  75. package/dist/auth/pages/ReactivatePage.js +14 -18
  76. package/dist/auth/pages/ReactivatePage.js.map +1 -1
  77. package/dist/auth/pages/RegisterPage.js +180 -181
  78. package/dist/auth/pages/RegisterPage.js.map +1 -1
  79. package/dist/auth/pages/SSOClearPage.js +9 -10
  80. package/dist/auth/pages/SSOClearPage.js.map +1 -1
  81. package/dist/auth/pages/SSODepositPage.js +9 -13
  82. package/dist/auth/pages/SSODepositPage.js.map +1 -1
  83. package/dist/auth/pages/SSORelayCallbackPage.js +3 -7
  84. package/dist/auth/pages/SSORelayCallbackPage.js.map +1 -1
  85. package/dist/auth/pages/SSORelayPage.js +11 -10
  86. package/dist/auth/pages/SSORelayPage.js.map +1 -1
  87. package/dist/auth/pages/SecurityPage.js +19 -21
  88. package/dist/auth/pages/SecurityPage.js.map +1 -1
  89. package/dist/auth/pages/SessionBridgePage.js +9 -16
  90. package/dist/auth/pages/SessionBridgePage.js.map +1 -1
  91. package/dist/auth/pages/SessionsPage.js +17 -18
  92. package/dist/auth/pages/SessionsPage.js.map +1 -1
  93. package/dist/auth/pages/SsoCallbackPage.js +17 -22
  94. package/dist/auth/pages/SsoCallbackPage.js.map +1 -1
  95. package/dist/auth/pages/SsoConfigPage.js +69 -69
  96. package/dist/auth/pages/SsoConfigPage.js.map +1 -1
  97. package/dist/auth/pages/SsoLoginPage.js +9 -10
  98. package/dist/auth/pages/SsoLoginPage.js.map +1 -1
  99. package/dist/auth/pages/UserDetailsPage.js +16 -23
  100. package/dist/auth/pages/UserDetailsPage.js.map +1 -1
  101. package/dist/auth/pages/UserProfilePage.js +140 -141
  102. package/dist/auth/pages/UserProfilePage.js.map +1 -1
  103. package/dist/auth/pages/UsersPage.js +446 -453
  104. package/dist/auth/pages/UsersPage.js.map +1 -1
  105. package/dist/auth/providers/AuthProvider.js +1 -2
  106. package/dist/auth/providers/AuthProvider.js.map +1 -1
  107. package/dist/auth/providers/CaptchaProvider.js +1 -2
  108. package/dist/auth/providers/CaptchaProvider.js.map +1 -1
  109. package/dist/auth/store/authStore.js +5 -12
  110. package/dist/auth/store/authStore.js.map +1 -1
  111. package/dist/auth/utils/captchaConfig.js +5 -8
  112. package/dist/auth/utils/captchaConfig.js.map +1 -1
  113. package/dist/auth/utils/formatters.js +1 -2
  114. package/dist/auth/utils/formatters.js.map +1 -1
  115. package/dist/auth/utils/gatewayBaseUrls.js +1 -2
  116. package/dist/auth/utils/gatewayBaseUrls.js.map +1 -1
  117. package/dist/auth/utils/legalUrls.js +2 -3
  118. package/dist/auth/utils/legalUrls.js.map +1 -1
  119. package/dist/auth/utils/redirect.js +1 -2
  120. package/dist/auth/utils/redirect.js.map +1 -1
  121. package/dist/auth/utils/ssoOrigins.js +2 -3
  122. package/dist/auth/utils/ssoOrigins.js.map +1 -1
  123. package/dist/auth/utils/validation.js +34 -36
  124. package/dist/auth/utils/validation.js.map +1 -1
  125. package/dist/generated/global-operations.js +2 -3
  126. package/dist/generated/global-operations.js.map +1 -1
  127. package/dist/generated/wspace-operations.js +2 -3
  128. package/dist/generated/wspace-operations.js.map +1 -1
  129. package/dist/microfe-auth.css +1 -1
  130. package/dist/shared/hooks/useTr.js +1 -2
  131. package/dist/shared/hooks/useTr.js.map +1 -1
  132. package/dist/translations/en.js +1 -2
  133. package/dist/translations/en.js.map +1 -1
  134. package/dist/utils/nativeBridge.js +1 -2
  135. package/package.json +7 -3
@@ -1,8 +1,8 @@
1
- import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { AlertIcon as t, SpinnerIcon as n } from "../components/AuthIcons.js";
1
+ import { useAuthPermissions as e } from "../hooks/useAuthPermissions.js";
2
+ import { useTr as t } from "../../shared/hooks/useTr.js";
3
+ import { ConfirmActionDialog as n } from "../components/ConfirmActionDialog.js";
3
4
  import { useSsoOperations as r } from "../hooks/useSsoOperations.js";
4
- import { useAuthPermissions as i } from "../hooks/useAuthPermissions.js";
5
- import { ConfirmActionDialog as a } from "../components/ConfirmActionDialog.js";
5
+ import { AlertIcon as i, SpinnerIcon as a } from "../components/AuthIcons.js";
6
6
  import { nativeCopyText as o, nativeImpact as s, nativeNotify as c } from "../../utils/nativeBridge.js";
7
7
  import { useEffect as l, useRef as ee, useState as u } from "react";
8
8
  import { useNavigate as te, useSearchParams as ne } from "react-router";
@@ -10,9 +10,11 @@ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
10
10
  import { useFeatureFlagDetails as re } from "@burdenoff/fe-libs/shared/feature-flags";
11
11
  import { Button as m } from "@burdenoff/fe-libs/button";
12
12
  import { EmphasisPanel as ie, IllustratedEmptyState as h, NextSteps as ae, PagePurpose as oe } from "@burdenoff/fe-libs/ui";
13
- //#region src/auth/pages/SsoConfigPage.tsx
13
+ // src/auth/pages/SsoConfigPage.tsx
14
14
  var g = async (e) => {
15
- s("light"), c(await o(e) ? "success" : "error");
15
+ s("light");
16
+ let t = await o(e);
17
+ c(t ? "success" : "error");
16
18
  };
17
19
  function _(e) {
18
20
  try {
@@ -48,7 +50,7 @@ function _(e) {
48
50
  }
49
51
  }
50
52
  function v({ bypassEnterprisePlanGate: o = !1 }) {
51
- let v = e(), y = te(), [b] = ne(), { canManageSsoConfig: se, isLoading: ce } = i(), le = re("workspace.auth.enterprise-sso"), ue = o || le?.value === !0, x = ee(null), S = b.get("tenant"), C = b.get("org"), w = b.get("workspace"), { ssoConfig: T, oidcConfig: E, isLoading: D, isSaving: O, isDeleting: k, saveSsoConfig: A, deleteSsoConfig: de } = r(S ?? "burdenoff.com"), [j, fe] = u("saml"), [M, N] = u(!1), [pe, P] = u(!1), [F, I] = u(null), [L, R] = u(null), [z, B] = u(""), [V, H] = u(!1), [U, W] = u(!1), [G, K] = u({
53
+ let v = t(), y = te(), [b] = ne(), { canManageSsoConfig: se, isLoading: ce } = e(), le = re("workspace.auth.enterprise-sso"), ue = o || le?.value === !0, x = ee(null), S = b.get("tenant"), C = b.get("org"), w = b.get("workspace"), { ssoConfig: T, oidcConfig: E, isLoading: D, isSaving: O, isDeleting: k, saveSsoConfig: A, deleteSsoConfig: de } = r(S ?? "burdenoff.com"), [j, fe] = u("saml"), [M, N] = u(!1), [pe, P] = u(!1), [F, I] = u(null), [L, R] = u(null), [z, B] = u(""), [V, H] = u(!1), [U, W] = u(!1), [G, K] = u({
52
54
  client_name: "",
53
55
  redirect_uris: "",
54
56
  grant_types: ["authorization_code", "refresh_token"],
@@ -79,61 +81,60 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
79
81
  }
80
82
  }
81
83
  }, he = async () => {
82
- if (!z) {
83
- I(v("auth.sso.enterUrl", "Please enter a metadata URL"));
84
- return;
85
- }
86
- I(null), H(!0);
87
- try {
88
- let e = await fetch(z);
89
- if (!e.ok) throw Error(`Failed to fetch: ${e.statusText}`);
90
- let t = _(await e.text());
91
- t ? (Q({
92
- ...Z,
93
- entityId: t.entityId,
94
- ssoUrl: t.ssoUrl,
95
- sloUrl: t.sloUrl || "",
96
- certificate: t.certificate
97
- }), R(v("auth.sso.importSuccessFromUrl", "SAML metadata imported successfully! Review and save the configuration.")), N(!0), B("")) : I(v("auth.sso.parseUrlError", "Failed to parse SAML metadata from URL."));
98
- } catch (e) {
99
- I(e instanceof Error ? e.message : v("auth.sso.fetchError", "Failed to fetch metadata from URL"));
100
- } finally {
101
- H(!1);
84
+ if (!z) I(v("auth.sso.enterUrl", "Please enter a metadata URL"));
85
+ else {
86
+ I(null), H(!0);
87
+ try {
88
+ let e = await fetch(z);
89
+ if (!e.ok) throw Error(`Failed to fetch: ${e.statusText}`);
90
+ let t = _(await e.text());
91
+ t ? (Q({
92
+ ...Z,
93
+ entityId: t.entityId,
94
+ ssoUrl: t.ssoUrl,
95
+ sloUrl: t.sloUrl || "",
96
+ certificate: t.certificate
97
+ }), R(v("auth.sso.importSuccessFromUrl", "SAML metadata imported successfully! Review and save the configuration.")), N(!0), B("")) : I(v("auth.sso.parseUrlError", "Failed to parse SAML metadata from URL."));
98
+ } catch (e) {
99
+ I(e instanceof Error ? e.message : v("auth.sso.fetchError", "Failed to fetch metadata from URL"));
100
+ } finally {
101
+ H(!1);
102
+ }
102
103
  }
103
104
  }, ge = async () => {
104
- if (!G.client_name || !G.redirect_uris) {
105
- I(v("auth.sso.clientRequired", "Client name and redirect URI are required"));
106
- return;
107
- }
108
- J(!0), I(null);
109
- try {
110
- let e = E?.registrationEndpoint;
111
- if (!e) throw Error(v("auth.sso.oidcNotConfigured", "OIDC dynamic client registration is not configured for this environment."));
112
- let t = await fetch(e, {
113
- method: "POST",
114
- headers: { "Content-Type": "application/json" },
115
- body: JSON.stringify({
116
- client_name: G.client_name,
117
- redirect_uris: G.redirect_uris.split(",").map((e) => e.trim()),
118
- grant_types: G.grant_types,
119
- response_types: ["code"],
120
- token_endpoint_auth_method: G.token_endpoint_auth_method
121
- })
122
- });
123
- if (!t.ok) {
124
- let e = await t.json();
125
- throw Error(e.error_description || e.error || "Registration failed");
105
+ if (!G.client_name || !G.redirect_uris) I(v("auth.sso.clientRequired", "Client name and redirect URI are required"));
106
+ else {
107
+ J(!0), I(null);
108
+ try {
109
+ let e = E?.registrationEndpoint;
110
+ if (!e) throw Error(v("auth.sso.oidcNotConfigured", "OIDC dynamic client registration is not configured for this environment."));
111
+ let t = await fetch(e, {
112
+ method: "POST",
113
+ headers: { "Content-Type": "application/json" },
114
+ body: JSON.stringify({
115
+ client_name: G.client_name,
116
+ redirect_uris: G.redirect_uris.split(",").map((e) => e.trim()),
117
+ grant_types: G.grant_types,
118
+ response_types: ["code"],
119
+ token_endpoint_auth_method: G.token_endpoint_auth_method
120
+ })
121
+ });
122
+ if (!t.ok) {
123
+ let e = await t.json();
124
+ throw Error(e.error_description || e.error || "Registration failed");
125
+ }
126
+ let n = await t.json();
127
+ X(n), R(v("auth.sso.clientRegistered", "OIDC client registered successfully! Save the client credentials.")), W(!1), K({
128
+ client_name: "",
129
+ redirect_uris: "",
130
+ grant_types: ["authorization_code", "refresh_token"],
131
+ token_endpoint_auth_method: "none"
132
+ });
133
+ } catch (e) {
134
+ I(e instanceof Error ? e.message : v("auth.sso.registerFailed", "Failed to register client"));
135
+ } finally {
136
+ J(!1);
126
137
  }
127
- X(await t.json()), R(v("auth.sso.clientRegistered", "OIDC client registered successfully! Save the client credentials.")), W(!1), K({
128
- client_name: "",
129
- redirect_uris: "",
130
- grant_types: ["authorization_code", "refresh_token"],
131
- token_endpoint_auth_method: "none"
132
- });
133
- } catch (e) {
134
- I(e instanceof Error ? e.message : v("auth.sso.registerFailed", "Failed to register client"));
135
- } finally {
136
- J(!1);
137
138
  }
138
139
  };
139
140
  l(() => {
@@ -180,7 +181,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
180
181
  className: "max-w-5xl mx-auto p-6",
181
182
  children: /* @__PURE__ */ p("div", {
182
183
  className: "text-center py-16",
183
- children: [/* @__PURE__ */ f(n, { className: "size-8 mx-auto text-text-secondary animate-spin" }), /* @__PURE__ */ f("p", {
184
+ children: [/* @__PURE__ */ f(a, { className: "size-8 mx-auto text-text-secondary animate-spin" }), /* @__PURE__ */ f("p", {
184
185
  className: "mt-4 text-text-secondary",
185
186
  children: v("auth.sso.loadingPermissions", "Loading permissions...")
186
187
  })]
@@ -188,7 +189,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
188
189
  }) : se ? ue ? /* @__PURE__ */ p("div", {
189
190
  className: "max-w-5xl mx-auto p-6",
190
191
  children: [
191
- /* @__PURE__ */ f(a, {
192
+ /* @__PURE__ */ f(n, {
192
193
  open: pe,
193
194
  onOpenChange: P,
194
195
  title: v("auth.sso.deleteConfirmTitle", "Delete SSO configuration?"),
@@ -311,7 +312,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
311
312
  }),
312
313
  F && /* @__PURE__ */ p("div", {
313
314
  className: "mb-6 flex items-start gap-3 p-4 rounded-xl bg-status-error-bg-subtle border border-status-error-border",
314
- children: [/* @__PURE__ */ f(t, { className: "size-5 text-status-error-text flex-shrink-0 mt-0.5" }), /* @__PURE__ */ p("div", {
315
+ children: [/* @__PURE__ */ f(i, { className: "size-5 text-status-error-text flex-shrink-0 mt-0.5" }), /* @__PURE__ */ p("div", {
315
316
  className: "flex-1",
316
317
  children: [/* @__PURE__ */ f("p", {
317
318
  className: "text-sm text-status-error-text",
@@ -386,7 +387,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
386
387
  }),
387
388
  D && /* @__PURE__ */ p("div", {
388
389
  className: "flex items-center justify-center py-12",
389
- children: [/* @__PURE__ */ f(n, { className: "size-8 text-text-link animate-spin" }), /* @__PURE__ */ f("span", {
390
+ children: [/* @__PURE__ */ f(a, { className: "size-8 text-text-link animate-spin" }), /* @__PURE__ */ f("span", {
390
391
  className: "ml-3 text-text-secondary",
391
392
  children: v("auth.sso.loadingConfig", "Loading configuration...")
392
393
  })]
@@ -447,7 +448,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
447
448
  /* @__PURE__ */ p("label", {
448
449
  htmlFor: "metadata-file",
449
450
  className: "flex items-center justify-center gap-2 w-full px-4 py-3 border-2 border-dashed border-border-default rounded-xl cursor-pointer hover:border-action-primary-bg transition-colors",
450
- children: [V ? /* @__PURE__ */ f(n, { className: "size-5 animate-spin text-text-link" }) : /* @__PURE__ */ f("svg", {
451
+ children: [V ? /* @__PURE__ */ f(a, { className: "size-5 animate-spin text-text-link" }) : /* @__PURE__ */ f("svg", {
451
452
  className: "size-5 text-text-tertiary",
452
453
  fill: "none",
453
454
  viewBox: "0 0 24 24",
@@ -484,7 +485,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
484
485
  onClick: he,
485
486
  disabled: V || !z,
486
487
  className: "px-4 py-2.5 rounded-xl bg-action-primary-bg text-white font-medium hover:bg-action-primary-bg-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center gap-2",
487
- children: [V ? /* @__PURE__ */ f(n, { className: "size-4 animate-spin" }) : /* @__PURE__ */ f("svg", {
488
+ children: [V ? /* @__PURE__ */ f(a, { className: "size-4 animate-spin" }) : /* @__PURE__ */ f("svg", {
488
489
  className: "size-4",
489
490
  fill: "none",
490
491
  viewBox: "0 0 24 24",
@@ -684,7 +685,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
684
685
  variant: "default",
685
686
  size: "lg",
686
687
  className: "font-semibold",
687
- children: O ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(n, { className: "size-4 animate-spin" }), v("auth.sso.saving", "Saving...")] }) : v("auth.sso.saveConfig", "Save Configuration")
688
+ children: O ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(a, { className: "size-4 animate-spin" }), v("auth.sso.saving", "Saving...")] }) : v("auth.sso.saveConfig", "Save Configuration")
688
689
  }), M && /* @__PURE__ */ f("button", {
689
690
  type: "button",
690
691
  onClick: () => {
@@ -718,7 +719,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
718
719
  onClick: () => P(!0),
719
720
  disabled: k,
720
721
  className: "px-4 py-2 rounded-lg bg-status-error-bg text-white font-medium hover:bg-status-error-bg-hover disabled:opacity-50 transition-colors flex items-center gap-2",
721
- children: k ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(n, { className: "size-4 animate-spin" }), v("auth.sso.deleting", "Deleting...")] }) : v("auth.sso.deleteConfig", "Delete SSO Configuration")
722
+ children: k ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(a, { className: "size-4 animate-spin" }), v("auth.sso.deleting", "Deleting...")] }) : v("auth.sso.deleteConfig", "Delete SSO Configuration")
722
723
  })
723
724
  ]
724
725
  })
@@ -1086,7 +1087,7 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
1086
1087
  variant: "default",
1087
1088
  size: "lg",
1088
1089
  className: "font-semibold",
1089
- children: q ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(n, { className: "size-4 animate-spin" }), v("auth.sso.registering", "Registering...")] }) : v("auth.sso.registerClientButton", "Register Client")
1090
+ children: q ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(a, { className: "size-4 animate-spin" }), v("auth.sso.registering", "Registering...")] }) : v("auth.sso.registerClientButton", "Register Client")
1090
1091
  }), /* @__PURE__ */ f("button", {
1091
1092
  type: "button",
1092
1093
  onClick: () => {
@@ -1260,7 +1261,6 @@ function v({ bypassEnterprisePlanGate: o = !1 }) {
1260
1261
  })
1261
1262
  });
1262
1263
  }
1263
- //#endregion
1264
1264
  export { v as SsoConfigPage };
1265
1265
 
1266
1266
  //# sourceMappingURL=SsoConfigPage.js.map