@atlasauth/react 0.15.0 → 0.17.0

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.
@@ -1,13 +1,21 @@
1
1
  "use strict";
2
2
  'use client';
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ATLASID_EVENTS = void 0;
4
5
  exports.buildAtlasAuthorizeUrl = buildAtlasAuthorizeUrl;
5
6
  exports.completeSignInWithAtlas = completeSignInWithAtlas;
6
7
  exports.signInWithAtlasPopup = signInWithAtlasPopup;
8
+ exports.atlasIdLabels = atlasIdLabels;
9
+ exports.listenAtlasIdEvents = listenAtlasIdEvents;
10
+ exports.useAtlasIdEvents = useAtlasIdEvents;
11
+ exports.oneTapWithAtlas = oneTapWithAtlas;
7
12
  exports.SignInWithAtlasButton = SignInWithAtlasButton;
8
13
  const react_1 = require("react");
14
+ const runtime_1 = require("@atlasauth/design/runtime");
9
15
  const js_1 = require("@atlasauth/js");
10
16
  const DEFAULT_ISSUER = 'https://atlasauth.net';
17
+ /** Reported in atlasid:ready by the React button (the hosted script reports its own version). */
18
+ const SDK_BUTTON_VERSION = 'react';
11
19
  function b64url(bytes) {
12
20
  let s = '';
13
21
  for (const b of bytes)
@@ -50,6 +58,8 @@ function begin(opts, mode) {
50
58
  });
51
59
  if (mode === 'popup')
52
60
  params.set('response_mode', 'web_message');
61
+ // Tells Atlas the SDK's button started this sign-in (the app preflight's button_rendered_origins).
62
+ params.set('atlasid_button', 'react');
53
63
  for (const [k, v] of (0, js_1.referralParams)({ referral: opts.referral, consent: opts.referralConsent, source: opts.referralSource }))
54
64
  params.set(k, v);
55
65
  return `${issuer}/oauth2/authorize?${params.toString()}`;
@@ -308,6 +318,147 @@ const LABELS = {
308
318
  signup: 'Sign up with Atlas',
309
319
  continue: 'Continue with Atlas',
310
320
  };
321
+ /** The label in each hosted-page language (same table as the hosted script). */
322
+ const LABELS_BY_LOCALE = {
323
+ en: LABELS,
324
+ es: { signin: 'Iniciar sesión con Atlas', signup: 'Registrarse con Atlas', continue: 'Continuar con Atlas' },
325
+ fr: { signin: 'Se connecter avec Atlas', signup: "S'inscrire avec Atlas", continue: 'Continuer avec Atlas' },
326
+ de: { signin: 'Mit Atlas anmelden', signup: 'Mit Atlas registrieren', continue: 'Weiter mit Atlas' },
327
+ 'pt-BR': { signin: 'Entrar com Atlas', signup: 'Cadastrar-se com Atlas', continue: 'Continuar com Atlas' },
328
+ ja: { signin: 'Atlas でログイン', signup: 'Atlas で登録', continue: 'Atlas で続ける' },
329
+ nl: { signin: 'Inloggen met Atlas', signup: 'Registreren met Atlas', continue: 'Doorgaan met Atlas' },
330
+ };
331
+ /** The labels for a BCP 47 tag (`es-MX` → es, `pt` → pt-BR), English when unknown. */
332
+ function atlasIdLabels(locale) {
333
+ const t = String(locale ?? '').replace(/_/g, '-');
334
+ if (LABELS_BY_LOCALE[t])
335
+ return LABELS_BY_LOCALE[t];
336
+ const lang = t.split('-')[0].toLowerCase();
337
+ if (lang === 'pt')
338
+ return LABELS_BY_LOCALE['pt-BR'];
339
+ return LABELS_BY_LOCALE[lang] ?? LABELS;
340
+ }
341
+ /**
342
+ * The `atlasid:*` DOM events the button (this component and the hosted
343
+ * script's) dispatches on its element, bubbling:
344
+ * atlasid:ready rendered ({ version })
345
+ * atlasid:signin a popup / One Tap sign-in finished (the AtlasIdResult)
346
+ * atlasid:error { error } (popup_closed is a cancel)
347
+ * atlasid:onetap { outcome: signed_in | dismissed | unavailable | error }
348
+ * and keeps `data-atlasid-state` on it: ready | pending | signed-in | error.
349
+ */
350
+ exports.ATLASID_EVENTS = ['atlasid:ready', 'atlasid:signin', 'atlasid:error', 'atlasid:onetap'];
351
+ /**
352
+ * Subscribe to the `atlasid:*` events of a button element (this component, or
353
+ * a `[data-atlas-signin]` host the hosted script upgrades). Returns the
354
+ * unsubscribe function. SSR-safe: a no-op without an element.
355
+ */
356
+ function listenAtlasIdEvents(el, handlers) {
357
+ if (!el || typeof el.addEventListener !== 'function')
358
+ return () => { };
359
+ const map = [
360
+ ['atlasid:ready', handlers.onReady],
361
+ ['atlasid:signin', handlers.onSignIn],
362
+ ['atlasid:error', handlers.onError],
363
+ ['atlasid:onetap', handlers.onOneTap],
364
+ ];
365
+ const bound = map
366
+ .filter(([, fn]) => typeof fn === 'function')
367
+ .map(([name, fn]) => {
368
+ const l = (ev) => fn(ev.detail);
369
+ el.addEventListener(name, l);
370
+ return () => el.removeEventListener(name, l);
371
+ });
372
+ return () => bound.forEach((off) => off());
373
+ }
374
+ /** React hook form of {@link listenAtlasIdEvents} for a ref to the button or host element. */
375
+ function useAtlasIdEvents(ref, handlers) {
376
+ const latest = (0, react_1.useRef)(handlers);
377
+ latest.current = handlers;
378
+ (0, react_1.useEffect)(() => listenAtlasIdEvents(ref.current, {
379
+ onReady: (d) => latest.current.onReady?.(d),
380
+ onSignIn: (d) => latest.current.onSignIn?.(d),
381
+ onError: (d) => latest.current.onError?.(d),
382
+ onOneTap: (d) => latest.current.onOneTap?.(d),
383
+ }), [ref]);
384
+ }
385
+ function emitAtlasId(el, name, detail) {
386
+ if (!el || typeof el.dispatchEvent !== 'function' || typeof CustomEvent === 'undefined')
387
+ return;
388
+ try {
389
+ el.dispatchEvent(new CustomEvent(name, { bubbles: true, detail }));
390
+ }
391
+ catch {
392
+ /* a detached element */
393
+ }
394
+ }
395
+ function setAtlasIdState(el, state) {
396
+ try {
397
+ el?.setAttribute('data-atlasid-state', state);
398
+ }
399
+ catch {
400
+ /* ignore */
401
+ }
402
+ }
403
+ /** The button's :focus-visible ring and reduced-motion rule (inline styles cannot express them). */
404
+ const BUTTON_SHEET = '[data-atlas="sign-in-with-atlas"]{transition:filter .15s,background .15s}' +
405
+ '[data-atlas="sign-in-with-atlas"]:hover{filter:brightness(1.12)}' +
406
+ '[data-atlas="sign-in-with-atlas"]:focus{outline:none}' +
407
+ '[data-atlas="sign-in-with-atlas"]:focus-visible{outline:3px solid var(--atlas-host-focus-ring,#1a73e8);outline-offset:2px}' +
408
+ '@media (prefers-reduced-motion:reduce){[data-atlas="sign-in-with-atlas"]{transition:none}[data-atlas="sign-in-with-atlas"]:hover{filter:none}}' +
409
+ '@media (forced-colors:active){[data-atlas="sign-in-with-atlas"]{border-color:ButtonText}}';
410
+ let buttonSheetApplied = false;
411
+ function ensureButtonSheet() {
412
+ if (buttonSheetApplied || typeof document === 'undefined')
413
+ return;
414
+ buttonSheetApplied = true;
415
+ if ((0, runtime_1.adoptConstructable)(document, 'atlasid-react-button', BUTTON_SHEET))
416
+ return;
417
+ const style = document.createElement('style');
418
+ style.setAttribute('data-atlasid-react', '');
419
+ (0, runtime_1.applyStyleNonce)(document, style);
420
+ style.textContent = BUTTON_SHEET;
421
+ document.head.appendChild(style);
422
+ }
423
+ /**
424
+ * One Tap: the browser's own FedCM account prompt for Sign in with Atlas (no
425
+ * third-party cookies, no popup). Rejects with `fedcm_unavailable` where the
426
+ * browser has no FedCM, and with the browser's error when the user is signed
427
+ * out of Atlas or dismisses it — keep the button as the fallback.
428
+ */
429
+ async function oneTapWithAtlas(opts) {
430
+ if (!opts.clientId)
431
+ throw new Error('clientId is required');
432
+ const nav = typeof navigator !== 'undefined' ? navigator : undefined;
433
+ if (typeof globalThis.IdentityCredential === 'undefined' || !nav?.credentials?.get) {
434
+ throw new Error('fedcm_unavailable');
435
+ }
436
+ const issuer = (opts.issuer ?? DEFAULT_ISSUER).replace(/\/+$/, '');
437
+ const nonce = opts.nonce ?? randomToken();
438
+ const provider = {
439
+ configURL: `${issuer}/oauth2/fedcm/config.json`,
440
+ clientId: opts.clientId,
441
+ nonce,
442
+ params: { nonce, scope: opts.scope ?? 'openid profile email' },
443
+ };
444
+ if (opts.loginHint)
445
+ provider.loginHint = opts.loginHint;
446
+ const cred = (await nav.credentials.get({
447
+ identity: { providers: [provider], context: opts.context ?? 'signin' },
448
+ mediation: opts.mediation ?? 'optional',
449
+ ...(opts.signal ? { signal: opts.signal } : {}),
450
+ }));
451
+ const token = cred && typeof cred.token === 'string' ? cred.token : null;
452
+ if (!token)
453
+ throw new Error('fedcm_no_token');
454
+ const claims = decodeClaims(token);
455
+ const aud = Array.isArray(claims.aud) ? claims.aud : [claims.aud];
456
+ if (claims.iss !== issuer || !aud.includes(opts.clientId))
457
+ throw new Error('invalid_id_token');
458
+ if (claims.nonce !== nonce)
459
+ throw new Error('nonce_mismatch');
460
+ return { credential: token, idToken: token, claims, via: 'fedcm' };
461
+ }
311
462
  // Same look as the hosted script's button (.atlasid-btn and friends).
312
463
  const FONT = '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif';
313
464
  const SIZES = {
@@ -315,10 +466,11 @@ const SIZES = {
315
466
  medium: { height: 38, fontSize: 14, padding: '0 14px', gap: 10, mark: 18 },
316
467
  small: { height: 32, fontSize: 13, padding: '0 10px', gap: 8, mark: 16 },
317
468
  };
469
+ // The host page's --atlas-host-* variables restyle the button where the page sets them.
318
470
  const THEMES = {
319
- dark: { background: '#0f1117', color: '#fff', borderColor: '#0f1117' },
320
- light: { background: '#fff', color: '#0f1117', borderColor: '#dadce0' },
321
- outline: { background: 'transparent', color: 'inherit', borderColor: 'currentColor' },
471
+ dark: { background: 'var(--atlas-host-accent, #0f1117)', color: 'var(--atlas-host-accent-ink, #fff)', borderColor: 'var(--atlas-host-accent, #0f1117)' },
472
+ light: { background: 'var(--atlas-host-surface, #fff)', color: 'var(--atlas-host-ink, #0f1117)', borderColor: 'var(--atlas-host-line, #dadce0)' },
473
+ outline: { background: 'transparent', color: 'var(--atlas-host-ink, inherit)', borderColor: 'var(--atlas-host-line, currentColor)' },
322
474
  };
323
475
  function AtlasMark({ size }) {
324
476
  return (0, react_1.createElement)('svg', { viewBox: '0 0 24 24', width: size, height: size, 'aria-hidden': true, fill: 'none', style: { flex: 'none', display: 'block' } }, (0, react_1.createElement)('path', { d: 'M12 2 3 21h4l5-11 5 11h4L12 2z', fill: 'currentColor' }));
@@ -340,37 +492,88 @@ function SignInWithAtlasButton(props) {
340
492
  padding: dims.padding,
341
493
  height: dims.height,
342
494
  };
343
- const fail = (e) => {
495
+ // Hook-free on purpose (it renders without a provider and is callable as a
496
+ // plain function): the element comes from the click / ref callback.
497
+ let el = null;
498
+ const fail = (e, target) => {
344
499
  const error = e instanceof Error ? e : new Error(String(e));
500
+ const node = target ?? el;
501
+ setAtlasIdState(node, error.message === 'popup_closed' ? 'ready' : 'error');
502
+ emitAtlasId(node, 'atlasid:error', { error: error.message });
345
503
  if (props.onError)
346
504
  props.onError(error);
347
505
  else if (typeof console !== 'undefined')
348
506
  console.error(`AtlasID: ${error.message}`);
349
507
  };
350
- const onClick = () => {
508
+ const succeed = (r, target) => {
509
+ const node = target ?? el;
510
+ setAtlasIdState(node, 'signed-in');
511
+ emitAtlasId(node, 'atlasid:signin', r);
512
+ props.onSuccess?.(r);
513
+ };
514
+ const onClick = (ev) => {
515
+ const target = ev?.currentTarget ?? el;
351
516
  if (props.loginUri !== undefined) {
352
- const target = safeLoginUri(props.loginUri);
353
- if (target)
354
- window.location.assign((0, js_1.withReferralParams)(target, { referral: props.referral, consent: props.referralConsent, source: props.referralSource }));
517
+ const dest = safeLoginUri(props.loginUri);
518
+ if (dest) {
519
+ setAtlasIdState(target, 'pending');
520
+ window.location.assign((0, js_1.withReferralParams)(dest, { referral: props.referral, consent: props.referralConsent, source: props.referralSource }));
521
+ }
355
522
  else
356
- fail(new Error('loginUri must be an https URL or a same-origin path'));
523
+ fail(new Error('loginUri must be an https URL or a same-origin path'), target);
357
524
  return;
358
525
  }
526
+ setAtlasIdState(target, 'pending');
359
527
  if (props.uxMode === 'popup') {
360
528
  signInWithAtlasPopup(props)
361
- .then((r) => props.onSuccess?.(r))
529
+ .then((r) => succeed(r, target))
362
530
  .catch((e) => {
363
531
  // Closing the popup is a normal cancel, not an error to log.
364
- if (e?.message === 'popup_closed' && !props.onError)
532
+ if (e?.message === 'popup_closed' && !props.onError) {
533
+ setAtlasIdState(target, 'ready');
534
+ emitAtlasId(target, 'atlasid:error', { error: 'popup_closed' });
365
535
  return;
366
- fail(e);
536
+ }
537
+ fail(e, target);
367
538
  });
368
539
  return;
369
540
  }
370
541
  buildAtlasAuthorizeUrl(props)
371
542
  .then((u) => window.location.assign(u))
372
- .catch(fail);
543
+ .catch((e) => fail(e, target));
544
+ };
545
+ const ref = (node) => {
546
+ el = node;
547
+ if (!node || node.hasAttribute('data-atlasid-state'))
548
+ return;
549
+ ensureButtonSheet();
550
+ setAtlasIdState(node, 'ready');
551
+ emitAtlasId(node, 'atlasid:ready', { version: SDK_BUTTON_VERSION });
552
+ props.onReady?.({ version: SDK_BUTTON_VERSION });
553
+ if (props.oneTap && props.loginUri === undefined && props.clientId) {
554
+ oneTapWithAtlas({ clientId: props.clientId, issuer: props.issuer, scope: props.scope }).then((r) => {
555
+ emitAtlasId(node, 'atlasid:onetap', { outcome: 'signed_in' });
556
+ succeed({ ...r, id_token: r.idToken }, node);
557
+ }, (e) => {
558
+ const outcome = e?.message === 'fedcm_unavailable'
559
+ ? 'unavailable'
560
+ : e?.name === 'NetworkError' || e?.name === 'NotAllowedError' || e?.name === 'AbortError'
561
+ ? 'dismissed'
562
+ : 'error';
563
+ emitAtlasId(node, 'atlasid:onetap', { outcome, error: e?.message });
564
+ });
565
+ }
373
566
  };
374
- return (0, react_1.createElement)('button', { type: 'button', className: props.className, style, onClick, 'data-atlas': 'sign-in-with-atlas' }, (0, react_1.createElement)(AtlasMark, { size: dims.mark }), (0, react_1.createElement)('span', null, LABELS[text]));
567
+ const pageLang = props.locale ?? (typeof document !== 'undefined' ? document.documentElement?.getAttribute('lang') : null) ?? 'en';
568
+ const label = atlasIdLabels(pageLang)[text];
569
+ return (0, react_1.createElement)('button', {
570
+ type: 'button',
571
+ className: props.className,
572
+ style,
573
+ onClick,
574
+ ref,
575
+ 'aria-label': props.ariaLabel ?? label,
576
+ 'data-atlas': 'sign-in-with-atlas',
577
+ }, (0, react_1.createElement)(AtlasMark, { size: dims.mark }), (0, react_1.createElement)('span', null, label));
375
578
  }
376
579
  //# sourceMappingURL=sign-in-with-atlas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in-with-atlas.js","sourceRoot":"","sources":["../src/sign-in-with-atlas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign-in-with-atlas.js","sourceRoot":"","sources":["../src/sign-in-with-atlas.tsx"],"names":[],"mappings":"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"}
package/dist/sign-in.js CHANGED
@@ -9,16 +9,23 @@ const react_1 = require("react");
9
9
  const js_1 = require("@atlasauth/js");
10
10
  const AtlasProvider_1 = require("./AtlasProvider");
11
11
  const fapi_1 = require("./fapi");
12
+ const policies_1 = require("./policies");
12
13
  const captcha_1 = require("./captcha");
13
14
  const flow_1 = require("./flow");
14
15
  const version_1 = require("./version");
15
16
  function SignIn(props = {}) {
16
- const { state, submit, client, finish, captcha, prepare, usePassword, saveRecoveryCodes } = (0, flow_1.useFlow)({
17
+ const t = (0, policies_1.usePolicyText)();
18
+ const { state, setState, submit, client, finish, captcha, prepare, usePassword, saveRecoveryCodes } = (0, flow_1.useFlow)({
17
19
  afterUrl: props.afterUrl,
18
20
  referral: props.referral,
19
21
  referralConsent: props.referralConsent,
20
22
  });
21
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!state.attempt ? (0, jsx_runtime_1.jsx)(flow_1.LastUsedHint, { client: client }) : null, (0, jsx_runtime_1.jsx)(flow_1.AttemptFlow, { attempt: state.attempt, busy: state.busy, errors: state.errors, sessionKept: state.sessionKept, titleKey: "signIn.title", hideTitle: props.hideTitle, onSubmit: submit, captcha: (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), prepared: state.prepared ?? null, onPrepare: prepare, onUsePassword: usePassword, recoveryCodes: (0, js_1.pendingRecoveryCodes)(state), onRecoveryCodesSaved: saveRecoveryCodes }), state.attempt?.status !== 'complete' ? (0, jsx_runtime_1.jsx)(flow_1.SignUpPrompt, { signUpUrl: props.signUpUrl, afterUrl: props.afterUrl }) : null, !state.attempt ? ((0, jsx_runtime_1.jsx)(flow_1.SocialSignInButtons, { client: client, onComplete: finish, oneTap: props.googleOneTap, oauthMode: props.oauthMode, onProviderUnavailable: props.onProviderUnavailable, googleButton: props.googleButton })) : null] }));
23
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!state.attempt ? (0, jsx_runtime_1.jsx)(flow_1.LastUsedHint, { client: client }) : null, (0, jsx_runtime_1.jsx)(flow_1.AttemptFlow, { attempt: state.attempt, busy: state.busy, errors: state.errors, sessionKept: state.sessionKept, titleKey: "signIn.title", hideTitle: props.hideTitle, onSubmit: submit, captcha: (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), prepared: state.prepared ?? null, onPrepare: prepare, onUsePassword: usePassword, recoveryCodes: (0, js_1.pendingRecoveryCodes)(state), onRecoveryCodesSaved: saveRecoveryCodes, onPolicyDecline: (policy) =>
24
+ // Declining cancels the attempt: back to the first step, saying why.
25
+ setState({
26
+ ...fapi_1.initialFlow,
27
+ errors: [{ code: 'POLICY_DECLINED', message: t('policy.declined', { policy: policy.title }) }],
28
+ }) }), state.attempt?.status !== 'complete' ? (0, jsx_runtime_1.jsx)(flow_1.SignUpPrompt, { signUpUrl: props.signUpUrl, afterUrl: props.afterUrl }) : null, !state.attempt ? ((0, jsx_runtime_1.jsx)(flow_1.SocialSignInButtons, { client: client, onComplete: finish, oneTap: props.googleOneTap, oauthMode: props.oauthMode, onProviderUnavailable: props.onProviderUnavailable, googleButton: props.googleButton })) : null] }));
22
29
  }
23
30
  /**
24
31
  * §6 headless native sign-in, for a consumer that renders its OWN Google button
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../src/sign-in.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign-in.js","sourceRoot":"","sources":["../src/sign-in.tsx"],"names":[],"mappings":"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"}
package/dist/sign-up.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type PolicyAcceptancePayload } from '@atlasauth/js';
1
2
  import { type FlowState } from './fapi';
2
3
  import { type FlowProps } from './flow';
3
4
  /**
@@ -38,5 +39,7 @@ export declare function useSignUp(): {
38
39
  fields?: Record<string, string>;
39
40
  consent?: boolean;
40
41
  captchaToken?: string;
42
+ /** The instance's policies the user accepted (`usePolicies().build()`). */
43
+ policyAcceptances?: PolicyAcceptancePayload[];
41
44
  }) => Promise<FlowState>;
42
45
  };
package/dist/sign-up.js CHANGED
@@ -11,6 +11,7 @@ const fapi_1 = require("./fapi");
11
11
  const flow_1 = require("./flow");
12
12
  const captcha_1 = require("./captcha");
13
13
  const referral_1 = require("./referral");
14
+ const policies_1 = require("./policies");
14
15
  const components_shared_1 = require("./components-shared");
15
16
  const version_1 = require("./version");
16
17
  /**
@@ -60,6 +61,8 @@ function SignUp(props = {}) {
60
61
  active: !state.attempt && !emailUnavailable && (0, js_1.flowNeedsCaptcha)(signUpFlow),
61
62
  atlasLabels: (0, js_1.atlasCaptchaLabels)(t),
62
63
  });
64
+ // The instance's policies (terms, privacy, …): shown in place of the legacy single consent row.
65
+ const policies = (0, policies_1.usePolicies)({ combined: props.policyConsent !== 'separate' }, client);
63
66
  const create = (0, react_1.useCallback)((values, consent) => {
64
67
  void (async () => {
65
68
  setState((current) => ({ ...current, busy: true, errors: [] }));
@@ -70,12 +73,14 @@ function SignUp(props = {}) {
70
73
  if (value)
71
74
  fields[key] = value;
72
75
  const token = await captcha.getToken();
76
+ const policyAcceptances = policies.controller.build();
73
77
  let next = usingPasskey
74
78
  ? await (0, js_1.startPasskeySignUp)(client, {
75
79
  email: email || undefined,
76
80
  fields,
77
81
  consent,
78
82
  captchaToken: token ?? undefined,
83
+ policyAcceptances,
79
84
  })
80
85
  : await (0, js_1.startSignUp)(client, {
81
86
  email,
@@ -83,7 +88,11 @@ function SignUp(props = {}) {
83
88
  fields,
84
89
  consent,
85
90
  captchaToken: token ?? undefined,
91
+ policyAcceptances,
86
92
  });
93
+ // A policy changed while the form was open: reload them so the form asks again.
94
+ if ((0, js_1.isPolicyAcceptanceRequired)(next.errors))
95
+ await policies.refresh();
87
96
  const localized = (0, captcha_1.localizeCaptchaErrors)(next.errors, t);
88
97
  next = { ...next, errors: localized.errors };
89
98
  // The token was spent either way; a refused create needs a fresh one.
@@ -114,7 +123,7 @@ function SignUp(props = {}) {
114
123
  }
115
124
  if (emailUnavailable)
116
125
  return (0, jsx_runtime_1.jsx)(SignUpEmailUnavailable, { hideTitle: props.hideTitle });
117
- return ((0, jsx_runtime_1.jsx)(SignUpForm, { settings: instanceSettings, busy: state.busy, errors: state.errors, hideTitle: props.hideTitle, captcha: captcha, onSubmit: create, passkey: usingPasskey ? { email: passkeyOffer.email } : null, onSwitchMode: canPasskey
126
+ return ((0, jsx_runtime_1.jsx)(SignUpForm, { settings: instanceSettings, busy: state.busy, errors: state.errors, hideTitle: props.hideTitle, captcha: captcha, policies: policies, onSubmit: create, passkey: usingPasskey ? { email: passkeyOffer.email } : null, onSwitchMode: canPasskey
118
127
  ? () => {
119
128
  setState((current) => ({ ...current, errors: [] }));
120
129
  setMode(usingPasskey ? 'password' : 'passkey');
@@ -141,7 +150,7 @@ function SignUpEmailUnavailable({ hideTitle }) {
141
150
  return ((0, jsx_runtime_1.jsxs)("div", { className: cardClass, children: [hideTitle ? null : (0, jsx_runtime_1.jsx)("h1", { className: titleClass, children: t('signUp.title') }), (0, jsx_runtime_1.jsx)("p", { className: errorClass, role: "alert", "data-atlas-email-unavailable": "", children: t('signUp.emailUnavailable') })] }));
142
151
  }
143
152
  /** The create-account step. Values are kept in state so an error never clears them. */
144
- function SignUpForm({ settings, busy, errors, hideTitle, captcha, onSubmit, passkey = null, onSwitchMode, }) {
153
+ function SignUpForm({ settings, busy, errors, hideTitle, captcha, policies, onSubmit, passkey = null, onSwitchMode, }) {
145
154
  const t = (0, components_shared_1.useText)();
146
155
  const errorText = (0, components_shared_1.useErrorText)();
147
156
  const cardClass = (0, components_shared_1.useClass)('card', 'atlas-card');
@@ -153,9 +162,14 @@ function SignUpForm({ settings, busy, errors, hideTitle, captcha, onSubmit, pass
153
162
  const [values, setValues] = (0, react_1.useState)({});
154
163
  const [agreed, setAgreed] = (0, react_1.useState)(false);
155
164
  const set = (name, value) => setValues((v) => ({ ...v, [name]: value }));
156
- const legal = settings?.legal;
165
+ const pt = (0, policies_1.usePolicyText)();
166
+ const [reading, setReading] = (0, react_1.useState)(false);
167
+ const [declined, setDeclined] = (0, react_1.useState)(null);
168
+ const hasPolicies = policies.policies.length > 0;
169
+ // Instance policies replace the legacy single "I agree to the Terms" row.
170
+ const legal = hasPolicies ? undefined : settings?.legal;
157
171
  const showLegal = !!legal && (!!legal.termsUrl || !!legal.privacyUrl);
158
- const consentOk = !legal?.required || agreed;
172
+ const consentOk = (!legal?.required || agreed) && (!hasPolicies || policies.controller.canSubmit());
159
173
  const fieldErrors = (name) => errors
160
174
  .filter((error) => error.param === name)
161
175
  .map((error) => ((0, jsx_runtime_1.jsx)("span", { className: errorClass, children: errorText(error) }, error.code)));
@@ -200,6 +214,12 @@ function SignUpForm({ settings, busy, errors, hideTitle, captcha, onSubmit, pass
200
214
  event.preventDefault();
201
215
  if (!consentOk)
202
216
  return;
217
+ setDeclined(null);
218
+ // Scroll-mode policies are read in their dialog first; the sign-up goes once they are accepted.
219
+ if (policies.controller.pendingScroll()) {
220
+ setReading(true);
221
+ return;
222
+ }
203
223
  onSubmit(values, legal?.required ? agreed : true);
204
224
  }, children: [(settings?.signUpFields ?? []).map((f) => {
205
225
  const body = ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: cls('formFieldLabel', 'atlas-field-label'), children: label(f) }), control(f), fieldErrors(f.key)] }));
@@ -209,7 +229,13 @@ function SignUpForm({ settings, busy, errors, hideTitle, captcha, onSubmit, pass
209
229
  ? passkey.email === 'off'
210
230
  ? null
211
231
  : textField('email', 'signUp.emailLabel', 'email', 'email', passkey.email === 'required')
212
- : textField('email', 'signUp.emailLabel', 'email', 'email'), passkey ? null : textField('password', 'signUp.passwordLabel', 'password', 'new-password'), passkey ? (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('signUp.passkeyIntro') }) : null, showLegal ? ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-consent'), children: [legal.required ? ((0, jsx_runtime_1.jsx)("input", { type: "checkbox", name: "consent", checked: agreed, onChange: (e) => setAgreed(e.target.checked) })) : null, (0, jsx_runtime_1.jsxs)("span", { className: cls('text', 'atlas-text'), children: [t(legal.required ? 'signUp.consentAgree' : 'signUp.consentNotice'), ' ', links.map((link, i) => ((0, jsx_runtime_1.jsxs)("span", { children: [i > 0 ? ` ${t('signUp.and')} ` : null, link] }, i))), "."] }), fieldErrors('consent')] })) : null, (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), (0, jsx_runtime_1.jsx)("button", { className: buttonClass, disabled: busy || !consentOk, type: "submit", children: t('signUp.submit') }), onSwitchMode ? ((0, jsx_runtime_1.jsx)("div", { className: "atlas-alternatives", children: (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('link', 'atlas-link'), "data-atlas-sign-up-mode": passkey ? 'password' : 'passkey', disabled: busy, onClick: onSwitchMode, children: t(passkey ? 'signUp.passwordOption' : 'signUp.passkeyOption') }) })) : null] })] }));
232
+ : textField('email', 'signUp.emailLabel', 'email', 'email'), passkey ? null : textField('password', 'signUp.passwordLabel', 'password', 'new-password'), passkey ? (0, jsx_runtime_1.jsx)("p", { className: cls('text', 'atlas-text'), children: t('signUp.passkeyIntro') }) : null, showLegal ? ((0, jsx_runtime_1.jsxs)("label", { className: cls('formField', 'atlas-consent'), children: [legal.required ? ((0, jsx_runtime_1.jsx)("input", { type: "checkbox", name: "consent", checked: agreed, onChange: (e) => setAgreed(e.target.checked) })) : null, (0, jsx_runtime_1.jsxs)("span", { className: cls('text', 'atlas-text'), children: [t(legal.required ? 'signUp.consentAgree' : 'signUp.consentNotice'), ' ', links.map((link, i) => ((0, jsx_runtime_1.jsxs)("span", { children: [i > 0 ? ` ${t('signUp.and')} ` : null, link] }, i))), "."] }), fieldErrors('consent')] })) : null, hasPolicies ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(policies_1.PolicyConsent, { controller: policies.controller, errors: errors }), declined ? ((0, jsx_runtime_1.jsx)("span", { className: errorClass, role: "alert", "data-atlas-policy-declined": "", children: pt('policy.declined', { policy: declined }) })) : null] })) : null, (0, jsx_runtime_1.jsx)(captcha_1.CaptchaSlot, { controller: captcha }), (0, jsx_runtime_1.jsx)("button", { className: buttonClass, disabled: busy || !consentOk, type: "submit", children: t('signUp.submit') }), hasPolicies ? (0, jsx_runtime_1.jsx)(policies_1.PolicyClickwrap, { controller: policies.controller }) : null, hasPolicies ? ((0, jsx_runtime_1.jsx)(policies_1.PolicyScrollQueue, { controller: policies.controller, running: reading, onDone: () => {
233
+ setReading(false);
234
+ onSubmit(values, true);
235
+ }, onDecline: (policy) => {
236
+ setReading(false);
237
+ setDeclined(policy.title);
238
+ } })) : null, onSwitchMode ? ((0, jsx_runtime_1.jsx)("div", { className: "atlas-alternatives", children: (0, jsx_runtime_1.jsx)("button", { type: "button", className: cls('link', 'atlas-link'), "data-atlas-sign-up-mode": passkey ? 'password' : 'passkey', disabled: busy, onClick: onSwitchMode, children: t(passkey ? 'signUp.passwordOption' : 'signUp.passkeyOption') }) })) : null] })] }));
213
239
  }
214
240
  /**
215
241
  * §5.1 headless sign-up — the sign-up counterpart of {@link useSignIn}. Starts a