@ollaid/native-sso 1.0.3 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -34,7 +34,7 @@ export { useMobileRegistration } from './hooks/useMobileRegistration';
34
34
  export { nativeAuthService } from './services/nativeAuth';
35
35
  export { mobilePasswordService } from './services/mobilePassword';
36
36
  export { iamAccountService } from './services/iamAccount';
37
- export { setNativeAuthConfig, getNativeAuthConfig, ApiError, getAuthToken, getAuthUser, getAccountType } from './services/api';
37
+ export { setNativeAuthConfig, getNativeAuthConfig, ApiError, getAuthToken, getAuthUser, getAccountType, clearAuthToken } from './services/api';
38
38
  export type { NativeAuthConfig, ApiErrorType } from './services/api';
39
39
  export type { NativeAuthType, NativeAuthStatus, AccountType, RegistrationType, NativeCredentials, NativeEncryptRequest, NativeEncryptResponse, NativeConfigResponse, NativeInitResponse, NativeValidateResponse, NativeGrantAccessResponse, NativeResendOtpResponse, NativeExchangeResponse, NativeUser, NativeAuthState, UserInfos, LinkPhoneRequest, LinkPhoneResponse, LinkEmailRequest, LinkEmailResponse, RefreshUserInfoSingleRequest, RefreshUserInfoSingleResponse, RefreshUserInfoBulkRequest, RefreshUserInfoBulkResponse, UpdateAvatarRequest, UpdateAvatarResponse, ResetAvatarRequest, ResetAvatarResponse, CheckTokenResponse, } from './types/native';
40
40
  export type { MobilePasswordState, MobilePasswordStatus, } from './types/mobile';
package/dist/index.js CHANGED
@@ -2952,12 +2952,9 @@ function PhoneInput({
2952
2952
  ] })
2953
2953
  ] });
2954
2954
  }
2955
- function AppsLogoSlider({ speed = "normal", className = "", iamApiUrl: iamApiUrlProp }) {
2956
- const scrollRef = useRef(null);
2957
- const [isPaused, setIsPaused] = useState(false);
2955
+ function AppsLogoSlider({ className = "", iamApiUrl: iamApiUrlProp }) {
2958
2956
  const [applications, setApplications] = useState([]);
2959
2957
  const [isLoading, setIsLoading] = useState(true);
2960
- const speedMap = { slow: 50, normal: 30, fast: 15 };
2961
2958
  useEffect(() => {
2962
2959
  const resolvedIamApiUrl = iamApiUrlProp || getNativeAuthConfig().iamApiUrl;
2963
2960
  if (!resolvedIamApiUrl) return;
@@ -2976,19 +2973,6 @@ function AppsLogoSlider({ speed = "normal", className = "", iamApiUrl: iamApiUrl
2976
2973
  };
2977
2974
  fetchApps();
2978
2975
  }, [iamApiUrlProp]);
2979
- useEffect(() => {
2980
- const container = scrollRef.current;
2981
- if (!container || applications.length === 0) return;
2982
- let pos = 0;
2983
- const id = setInterval(() => {
2984
- if (!isPaused && container) {
2985
- pos += 1;
2986
- if (pos >= container.scrollWidth / 2) pos = 0;
2987
- container.scrollLeft = pos;
2988
- }
2989
- }, speedMap[speed]);
2990
- return () => clearInterval(id);
2991
- }, [isPaused, speed, applications.length]);
2992
2976
  const getLogoUrl = (logo) => {
2993
2977
  if (!logo) return null;
2994
2978
  if (logo.startsWith("http")) return logo;
@@ -2996,27 +2980,85 @@ function AppsLogoSlider({ speed = "normal", className = "", iamApiUrl: iamApiUrl
2996
2980
  return `${resolvedUrl.replace("/api", "")}/storage/applications/${logo}`;
2997
2981
  };
2998
2982
  if (isLoading) {
2999
- return /* @__PURE__ */ jsx("div", { className, style: { overflow: "hidden" }, children: /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "1rem", padding: "0.5rem 0" }, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsxs("div", { style: { flexShrink: 0, display: "flex", flexDirection: "column", alignItems: "center", gap: "0.5rem" }, children: [
3000
- /* @__PURE__ */ jsx("div", { style: { width: "3rem", height: "3rem", borderRadius: "0.75rem", backgroundColor: "#e5e7eb" } }),
3001
- /* @__PURE__ */ jsx("div", { style: { width: "2.5rem", height: "0.75rem", borderRadius: "0.25rem", backgroundColor: "#e5e7eb" } })
3002
- ] }, i)) }) });
2983
+ return /* @__PURE__ */ jsx("div", { className, style: { width: "100%", height: "100%", display: "flex", alignItems: "center", justifyContent: "center" }, children: /* @__PURE__ */ jsx("div", { style: { display: "flex", gap: "0.75rem", padding: "0 0.75rem" }, children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx("div", { style: { width: "2rem", height: "2rem", borderRadius: "0.5rem", backgroundColor: "#e5e7eb", flexShrink: 0 } }, i)) }) });
3003
2984
  }
3004
2985
  if (applications.length === 0) return null;
3005
- const displayApps = [...applications, ...applications];
3006
- return /* @__PURE__ */ jsx(
2986
+ const displayApps = [...applications, ...applications, ...applications];
2987
+ return /* @__PURE__ */ jsxs(
3007
2988
  "div",
3008
2989
  {
3009
2990
  className,
3010
- style: { position: "relative", overflow: "hidden" },
3011
- onMouseEnter: () => setIsPaused(true),
3012
- onMouseLeave: () => setIsPaused(false),
3013
- children: /* @__PURE__ */ jsx("div", { ref: scrollRef, style: { display: "flex", gap: "1rem", overflow: "hidden", padding: "0.5rem 0" }, children: displayApps.map((app, index) => {
3014
- const logoUrl = getLogoUrl(app.logo);
3015
- return /* @__PURE__ */ jsxs("div", { style: { flexShrink: 0, display: "flex", flexDirection: "column", alignItems: "center", gap: "0.5rem" }, children: [
3016
- /* @__PURE__ */ jsx("div", { style: { width: "3rem", height: "3rem", borderRadius: "0.75rem", display: "flex", alignItems: "center", justifyContent: "center", boxShadow: "0 1px 3px rgba(0,0,0,0.1)", backgroundColor: "white", border: "1px solid #f3f4f6" }, children: logoUrl ? /* @__PURE__ */ jsx("img", { src: logoUrl, alt: app.name, style: { width: "2.5rem", height: "2.5rem", objectFit: "contain", borderRadius: "0.5rem" } }) : /* @__PURE__ */ jsx("span", { style: { fontWeight: 700, fontSize: "1.125rem", color: "hsl(var(--primary, 222 47% 11%))" }, children: app.name.charAt(0).toUpperCase() }) }),
3017
- /* @__PURE__ */ jsx("span", { style: { fontSize: "0.75rem", color: "#6b7280", fontWeight: 500 }, children: app.name })
3018
- ] }, `${app.id}-${index}`);
3019
- }) })
2991
+ style: { position: "relative", width: "100%", height: "100%", overflow: "hidden" },
2992
+ children: [
2993
+ /* @__PURE__ */ jsx("div", { style: {
2994
+ position: "absolute",
2995
+ left: 0,
2996
+ top: 0,
2997
+ bottom: 0,
2998
+ width: "1.5rem",
2999
+ background: "linear-gradient(to right, #ffffff, transparent)",
3000
+ zIndex: 10,
3001
+ pointerEvents: "none"
3002
+ } }),
3003
+ /* @__PURE__ */ jsx("div", { style: {
3004
+ display: "flex",
3005
+ animation: "ollaid-marquee 20s linear infinite",
3006
+ height: "100%",
3007
+ alignItems: "center"
3008
+ }, children: displayApps.map((app, index) => {
3009
+ var _a, _b;
3010
+ const logoUrl = getLogoUrl(app.logo);
3011
+ return /* @__PURE__ */ jsxs(
3012
+ "div",
3013
+ {
3014
+ style: { flexShrink: 0, padding: "0 0.75rem", display: "flex", alignItems: "center", height: "100%" },
3015
+ children: [
3016
+ logoUrl ? /* @__PURE__ */ jsx(
3017
+ "img",
3018
+ {
3019
+ src: logoUrl,
3020
+ alt: app.name,
3021
+ style: { width: "2rem", height: "2rem", objectFit: "contain" },
3022
+ onError: (e) => {
3023
+ const target = e.currentTarget;
3024
+ target.style.display = "none";
3025
+ if (target.nextElementSibling) {
3026
+ target.nextElementSibling.style.display = "flex";
3027
+ }
3028
+ }
3029
+ }
3030
+ ) : null,
3031
+ /* @__PURE__ */ jsx(
3032
+ "div",
3033
+ {
3034
+ style: {
3035
+ width: "2rem",
3036
+ height: "2rem",
3037
+ borderRadius: "0.5rem",
3038
+ backgroundColor: "#f3f4f6",
3039
+ alignItems: "center",
3040
+ justifyContent: "center",
3041
+ display: logoUrl ? "none" : "flex"
3042
+ },
3043
+ children: /* @__PURE__ */ jsx("span", { style: { fontSize: "0.75rem", fontWeight: 700, color: "#6b7280" }, children: ((_b = (_a = app.name) == null ? void 0 : _a.charAt(0)) == null ? void 0 : _b.toUpperCase()) || "A" })
3044
+ }
3045
+ )
3046
+ ]
3047
+ },
3048
+ `${app.id}-${index}`
3049
+ );
3050
+ }) }),
3051
+ /* @__PURE__ */ jsx("div", { style: {
3052
+ position: "absolute",
3053
+ right: 0,
3054
+ top: 0,
3055
+ bottom: 0,
3056
+ width: "1.5rem",
3057
+ background: "linear-gradient(to left, #ffffff, transparent)",
3058
+ zIndex: 10,
3059
+ pointerEvents: "none"
3060
+ } })
3061
+ ]
3020
3062
  }
3021
3063
  );
3022
3064
  }
@@ -4099,8 +4141,10 @@ function DebugPanel({ saasApiUrl, iamApiUrl }) {
4099
4141
  ] })
4100
4142
  ] });
4101
4143
  }
4144
+ const ollaidLogo = "data:image/png;base64,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";
4102
4145
  const COLORS = {
4103
4146
  primary: "#002147",
4147
+ primaryForeground: "#ffffff",
4104
4148
  accent: "#e8430a",
4105
4149
  card: "#ffffff",
4106
4150
  cardForeground: "#1a2332",
@@ -4129,13 +4173,49 @@ const LIGHT_VARS = {
4129
4173
  "--input": "40 15% 88%",
4130
4174
  "--ring": "209 100% 13%"
4131
4175
  };
4132
- const ShieldCheckIcon = () => /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: COLORS.accent, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4176
+ const ShieldCheckIcon = ({ size = 24, color = COLORS.accent }) => /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4133
4177
  /* @__PURE__ */ jsx("path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" }),
4134
4178
  /* @__PURE__ */ jsx("path", { d: "m9 12 2 2 4-4" })
4135
4179
  ] });
4136
4180
  function needsOnboarding(user) {
4137
4181
  return !user.image_url || !user.phone;
4138
4182
  }
4183
+ const GRADIENT_STYLE_ID = "ollaid-sso-gradient-anim";
4184
+ function injectGradientAnimation() {
4185
+ if (document.getElementById(GRADIENT_STYLE_ID)) return;
4186
+ const style = document.createElement("style");
4187
+ style.id = GRADIENT_STYLE_ID;
4188
+ style.textContent = `
4189
+ @keyframes ollaid-border-gradient {
4190
+ 0% { background-position: 0% 50%; }
4191
+ 50% { background-position: 100% 50%; }
4192
+ 100% { background-position: 0% 50%; }
4193
+ }
4194
+ @keyframes ollaid-marquee {
4195
+ 0% { transform: translateX(0); }
4196
+ 100% { transform: translateX(-50%); }
4197
+ }
4198
+ `;
4199
+ document.head.appendChild(style);
4200
+ }
4201
+ const TopBranding = ({ subtitle }) => /* @__PURE__ */ jsxs("div", { style: { textAlign: "center", marginBottom: "1.5rem" }, children: [
4202
+ /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", gap: "0.5rem", marginBottom: "0.5rem" }, children: [
4203
+ /* @__PURE__ */ jsx(ShieldCheckIcon, { size: 28, color: COLORS.accent }),
4204
+ /* @__PURE__ */ jsxs("span", { style: { fontSize: "1.25rem", fontWeight: 700, color: COLORS.primaryForeground }, children: [
4205
+ "iam.",
4206
+ /* @__PURE__ */ jsx("span", { style: { color: COLORS.accent }, children: "ollaid" }),
4207
+ ".com"
4208
+ ] })
4209
+ ] }),
4210
+ /* @__PURE__ */ jsx("p", { style: { fontSize: "1rem", fontWeight: 600, color: "rgba(255,255,255,0.85)" }, children: subtitle })
4211
+ ] });
4212
+ const Footer = ({ hideFooter }) => /* @__PURE__ */ jsxs("div", { style: { marginTop: "1.5rem", textAlign: "center" }, children: [
4213
+ /* @__PURE__ */ jsx("img", { src: ollaidLogo, alt: "Ollaid", style: { height: "28px", margin: "0 auto 0.5rem" } }),
4214
+ !hideFooter && /* @__PURE__ */ jsxs("p", { style: { fontSize: "0.75rem", color: "rgba(255,255,255,0.5)" }, children: [
4215
+ "© 2026 iam.ollaid.com propulsé par ",
4216
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 500 }, children: "ollaid" })
4217
+ ] })
4218
+ ] });
4139
4219
  function NativeSSOPage({
4140
4220
  saasApiUrl,
4141
4221
  iamApiUrl,
@@ -4144,10 +4224,12 @@ function NativeSSOPage({
4144
4224
  onOnboardingComplete,
4145
4225
  accountType = "user",
4146
4226
  configPrefix = "iam",
4147
- title = "Un compte, plusieurs accès",
4227
+ title = "Un compte pour toutes vos applications",
4148
4228
  description = "Connectez-vous avec votre compte Ollaid pour accéder à toutes les applications partenaires.",
4149
4229
  logoUrl,
4150
- hideFooter = false
4230
+ hideFooter = false,
4231
+ redirectAfterLogin,
4232
+ redirectAfterLogout
4151
4233
  }) {
4152
4234
  const [modal, setModal] = useState("none");
4153
4235
  const [showOnboarding, setShowOnboarding] = useState(false);
@@ -4163,6 +4245,7 @@ function NativeSSOPage({
4163
4245
  });
4164
4246
  const { isDebug: resolvedDebug } = useNativeAuth({ saasApiUrl, iamApiUrl, configPrefix, autoLoadCredentials: true });
4165
4247
  useEffect(() => {
4248
+ injectGradientAnimation();
4166
4249
  const root = document.documentElement;
4167
4250
  const originalValues = {};
4168
4251
  Object.keys(LIGHT_VARS).forEach((key) => {
@@ -4216,8 +4299,9 @@ function NativeSSOPage({
4216
4299
  } else {
4217
4300
  setSession({ token, user: userObj });
4218
4301
  onLoginSuccess == null ? void 0 : onLoginSuccess(token, user);
4302
+ if (redirectAfterLogin) window.location.href = redirectAfterLogin;
4219
4303
  }
4220
- }, [onLoginSuccess]);
4304
+ }, [onLoginSuccess, redirectAfterLogin]);
4221
4305
  const handleOnboardingComplete = useCallback((data) => {
4222
4306
  if (!pendingSession) return;
4223
4307
  const updatedUser = { ...pendingSession.user, ...data };
@@ -4227,14 +4311,16 @@ function NativeSSOPage({
4227
4311
  setPendingSession(null);
4228
4312
  onOnboardingComplete == null ? void 0 : onOnboardingComplete(data);
4229
4313
  onLoginSuccess == null ? void 0 : onLoginSuccess(pendingSession.token, updatedUser);
4230
- }, [pendingSession, onLoginSuccess, onOnboardingComplete]);
4314
+ if (redirectAfterLogin) window.location.href = redirectAfterLogin;
4315
+ }, [pendingSession, onLoginSuccess, onOnboardingComplete, redirectAfterLogin]);
4231
4316
  const handleOnboardingSkip = useCallback(() => {
4232
4317
  if (!pendingSession) return;
4233
4318
  setShowOnboarding(false);
4234
4319
  setSession(pendingSession);
4235
4320
  setPendingSession(null);
4236
4321
  onLoginSuccess == null ? void 0 : onLoginSuccess(pendingSession.token, pendingSession.user);
4237
- }, [pendingSession, onLoginSuccess]);
4322
+ if (redirectAfterLogin) window.location.href = redirectAfterLogin;
4323
+ }, [pendingSession, onLoginSuccess, redirectAfterLogin]);
4238
4324
  const handleLogout = useCallback(() => {
4239
4325
  localStorage.removeItem(STORAGE.AUTH_TOKEN);
4240
4326
  localStorage.removeItem(STORAGE.TOKEN);
@@ -4243,7 +4329,8 @@ function NativeSSOPage({
4243
4329
  localStorage.removeItem(STORAGE.ALIAS_REFERENCE);
4244
4330
  setSession(null);
4245
4331
  onLogout == null ? void 0 : onLogout();
4246
- }, [onLogout]);
4332
+ if (redirectAfterLogout) window.location.href = redirectAfterLogout;
4333
+ }, [onLogout, redirectAfterLogout]);
4247
4334
  const containerStyle = {
4248
4335
  minHeight: "100vh",
4249
4336
  backgroundColor: COLORS.primary,
@@ -4251,7 +4338,7 @@ function NativeSSOPage({
4251
4338
  flexDirection: "column",
4252
4339
  alignItems: "center",
4253
4340
  justifyContent: "center",
4254
- padding: "1rem"
4341
+ padding: "1.5rem 1rem"
4255
4342
  };
4256
4343
  const cardStyle = {
4257
4344
  width: "100%",
@@ -4262,25 +4349,40 @@ function NativeSSOPage({
4262
4349
  boxShadow: COLORS.shadow,
4263
4350
  overflow: "hidden"
4264
4351
  };
4265
- const footerStyle = {
4266
- marginTop: "1.5rem",
4267
- fontSize: "0.75rem",
4268
- color: "rgba(255,255,255,0.6)",
4269
- textAlign: "center"
4270
- };
4271
- const BrandingHeader = () => /* @__PURE__ */ jsx("div", { style: { textAlign: "center", marginBottom: "1.5rem" }, children: /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", gap: "0.5rem", marginBottom: "0.5rem" }, children: [
4272
- /* @__PURE__ */ jsx(ShieldCheckIcon, {}),
4273
- /* @__PURE__ */ jsxs("span", { style: { fontSize: "1.125rem", fontWeight: 700, color: COLORS.primary }, children: [
4274
- "iam.",
4275
- /* @__PURE__ */ jsx("span", { style: { color: COLORS.accent }, children: "ollaid" }),
4276
- ".com"
4277
- ] })
4352
+ const SliderBadge = () => /* @__PURE__ */ jsx("div", { style: { width: "100%", maxWidth: "28rem", marginBottom: "1.5rem" }, children: logoUrl ? /* @__PURE__ */ jsx("img", { src: logoUrl, alt: "Logo", style: { height: "3rem", margin: "0 auto" } }) : /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "1rem" }, children: [
4353
+ /* @__PURE__ */ jsx("div", { style: {
4354
+ width: "3rem",
4355
+ height: "3rem",
4356
+ borderRadius: "50%",
4357
+ backgroundColor: "#ffffff",
4358
+ display: "flex",
4359
+ alignItems: "center",
4360
+ justifyContent: "center",
4361
+ flexShrink: 0,
4362
+ boxShadow: "0 2px 8px rgba(0,0,0,0.15)",
4363
+ border: `1px solid ${COLORS.border}`
4364
+ }, children: /* @__PURE__ */ jsx(ShieldCheckIcon, { size: 22, color: COLORS.accent }) }),
4365
+ /* @__PURE__ */ jsx("div", { style: {
4366
+ flex: 1,
4367
+ minWidth: 0,
4368
+ position: "relative",
4369
+ borderRadius: "9999px",
4370
+ padding: "2px",
4371
+ background: `linear-gradient(90deg, ${COLORS.primary}, ${COLORS.accent}, ${COLORS.primary})`,
4372
+ backgroundSize: "200% 100%",
4373
+ animation: "ollaid-border-gradient 3s ease infinite"
4374
+ }, children: /* @__PURE__ */ jsx("div", { style: {
4375
+ backgroundColor: "#ffffff",
4376
+ borderRadius: "9999px",
4377
+ height: "3rem",
4378
+ overflow: "hidden"
4379
+ }, children: /* @__PURE__ */ jsx(AppsLogoSlider, { iamApiUrl, speed: "normal" }) }) })
4278
4380
  ] }) });
4279
4381
  if (session) {
4280
4382
  return /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
4281
- /* @__PURE__ */ jsx("div", { style: { width: "100%", maxWidth: "28rem", marginBottom: "1.5rem" }, children: /* @__PURE__ */ jsx(AppsLogoSlider, { iamApiUrl }) }),
4383
+ /* @__PURE__ */ jsx(TopBranding, { subtitle: title }),
4384
+ /* @__PURE__ */ jsx(SliderBadge, {}),
4282
4385
  /* @__PURE__ */ jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxs("div", { style: { padding: "2rem 1.5rem 1.5rem" }, children: [
4283
- /* @__PURE__ */ jsx(BrandingHeader, {}),
4284
4386
  /* @__PURE__ */ jsxs("h2", { style: { fontSize: "1.25rem", fontWeight: 600, textAlign: "center", color: COLORS.cardForeground }, children: [
4285
4387
  "Bienvenue, ",
4286
4388
  session.user.name
@@ -4288,20 +4390,13 @@ function NativeSSOPage({
4288
4390
  /* @__PURE__ */ jsx("p", { style: { fontSize: "0.875rem", color: COLORS.muted, textAlign: "center", marginTop: "0.25rem" }, children: "Vous êtes connecté à votre compte Ollaid SSO" }),
4289
4391
  /* @__PURE__ */ jsx("div", { style: { marginTop: "1.5rem" }, children: /* @__PURE__ */ jsx(Button, { variant: "outline", onClick: handleLogout, style: { width: "100%" }, children: "Déconnexion" }) })
4290
4392
  ] }) }),
4291
- !hideFooter && /* @__PURE__ */ jsxs("p", { style: footerStyle, children: [
4292
- "Géré par",
4293
- " ",
4294
- /* @__PURE__ */ jsx("a", { href: "https://iam.ollaid.com", target: "_blank", rel: "noopener noreferrer", style: { color: COLORS.accent, textDecoration: "none" }, children: "iam.ollaid.com" }),
4295
- " ",
4296
- "— Identity Access Manager"
4297
- ] })
4393
+ /* @__PURE__ */ jsx(Footer, { hideFooter })
4298
4394
  ] });
4299
4395
  }
4300
4396
  return /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
4301
- /* @__PURE__ */ jsx("div", { style: { width: "100%", maxWidth: "28rem", marginBottom: "1.5rem" }, children: logoUrl ? /* @__PURE__ */ jsx("img", { src: logoUrl, alt: "Logo", style: { height: "3rem", margin: "0 auto" } }) : /* @__PURE__ */ jsx(AppsLogoSlider, { iamApiUrl }) }),
4397
+ /* @__PURE__ */ jsx(TopBranding, { subtitle: title }),
4398
+ /* @__PURE__ */ jsx(SliderBadge, {}),
4302
4399
  /* @__PURE__ */ jsx("div", { style: cardStyle, children: /* @__PURE__ */ jsxs("div", { style: { padding: "2rem 1.5rem 1.5rem" }, children: [
4303
- /* @__PURE__ */ jsx(BrandingHeader, {}),
4304
- /* @__PURE__ */ jsx("h2", { style: { fontSize: "1.25rem", fontWeight: 600, textAlign: "center", color: COLORS.cardForeground, marginBottom: "0.5rem" }, children: title }),
4305
4400
  /* @__PURE__ */ jsx("p", { style: { fontSize: "0.875rem", color: COLORS.muted, textAlign: "center", marginBottom: "1.5rem" }, children: description }),
4306
4401
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
4307
4402
  /* @__PURE__ */ jsx(Button, { onClick: openLogin, style: { width: "100%", height: "2.75rem" }, children: "Connexion" }),
@@ -4310,24 +4405,13 @@ function NativeSSOPage({
4310
4405
  {
4311
4406
  variant: "outline",
4312
4407
  onClick: openSignup,
4313
- style: {
4314
- width: "100%",
4315
- height: "2.75rem",
4316
- borderColor: COLORS.cardForeground,
4317
- color: COLORS.cardForeground
4318
- },
4408
+ style: { width: "100%", height: "2.75rem", borderColor: COLORS.cardForeground, color: COLORS.cardForeground },
4319
4409
  children: "Inscription"
4320
4410
  }
4321
4411
  )
4322
4412
  ] })
4323
4413
  ] }) }),
4324
- !hideFooter && /* @__PURE__ */ jsxs("p", { style: footerStyle, children: [
4325
- "Géré par",
4326
- " ",
4327
- /* @__PURE__ */ jsx("a", { href: "https://iam.ollaid.com", target: "_blank", rel: "noopener noreferrer", style: { color: COLORS.accent, textDecoration: "none" }, children: "iam.ollaid.com" }),
4328
- " ",
4329
- "— Identity Access Manager"
4330
- ] }),
4414
+ /* @__PURE__ */ jsx(Footer, { hideFooter }),
4331
4415
  /* @__PURE__ */ jsx(
4332
4416
  LoginModal,
4333
4417
  {
@@ -4547,6 +4631,7 @@ export {
4547
4631
  PasswordRecoveryModal,
4548
4632
  PhoneInput,
4549
4633
  SignupModal,
4634
+ clearAuthToken,
4550
4635
  getAccountType,
4551
4636
  getAuthToken,
4552
4637
  getAuthUser,