@unisim/sdk 0.140.3 → 0.141.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,5 +1,5 @@
1
1
  'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { useEffect, useRef, useState, } from 'react';
4
4
  import { createPortal } from 'react-dom';
5
5
  import { BRAND } from './brand.js';
@@ -7,12 +7,13 @@ import { NAV_OVERLAY_Z_INDEX } from './DropdownSurface.js';
7
7
  import { t } from './i18n.js';
8
8
  import { useLanguage, useUniversal } from './provider.js';
9
9
  import { useCanHover } from './hover.js';
10
- import { OAuthButtons } from './OAuthButtons.js';
11
- import { abandonTrialAndSignIn, clearOAuthError, isIdentityCollision, isManualLinkingDisabled, readOAuthError, startOAuthSignIn, } from './oauth.js';
12
- import { continueWithEmail } from './emailAuth.js';
13
- // Reset links must land somewhere that can host the set-a-password step; the
14
- // hub's /login?finish=1 already does and is on Supabase's redirect allowlist,
15
- // unlike each app's own origin.
10
+ import { OAuthButtons, ProviderMark } from './OAuthButtons.js';
11
+ import { abandonTrialAndSignIn, clearOAuthError, fetchEnabledOAuthProviders, isIdentityCollision, isManualLinkingDisabled, oauthProviderLabel, OAUTH_PROVIDERS, readOAuthError, startOAuthSignIn, } from './oauth.js';
12
+ import { sendSignInCode, verifySignInCode } from './emailCode.js';
13
+ import { isNativeShell } from './sessionStorage.js';
14
+ // Supabase's own floor between two codes to one address. Waiting it out on the
15
+ // button beats a refusal the person has to read.
16
+ const RESEND_AFTER_MS = 60_000;
16
17
  const DEFAULT_HUB = 'https://app.unisim.co.uk';
17
18
  function hubOrigin(hubLoginHref) {
18
19
  if (!hubLoginHref)
@@ -24,60 +25,101 @@ function hubOrigin(hubLoginHref) {
24
25
  return DEFAULT_HUB;
25
26
  }
26
27
  }
28
+ /** "Apple", "Apple or Google", "Apple, Google or Microsoft". */
29
+ function joinOr(names, or) {
30
+ if (names.length <= 1)
31
+ return names[0] ?? '';
32
+ return `${names.slice(0, -1).join(', ')} ${or} ${names[names.length - 1]}`;
33
+ }
27
34
  export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signin', }) {
28
35
  const canHover = useCanHover();
29
- const { supabase, session } = useUniversal();
36
+ const { supabase, session, config } = useUniversal();
30
37
  const { language } = useLanguage();
31
- const [mode, setMode] = useState(initialMode);
38
+ const [tab, setTab] = useState(initialMode === 'sso' ? 'sso' : 'email');
39
+ const [stage, setStage] = useState('start');
40
+ const [method, setMethod] = useState('code');
41
+ const [flow, setFlow] = useState('signin');
32
42
  const [email, setEmail] = useState('');
33
43
  const [password, setPassword] = useState('');
44
+ const [code, setCode] = useState('');
34
45
  const [busy, setBusy] = useState(false);
35
46
  const [error, setError] = useState(null);
36
- const [info, setInfo] = useState(null);
47
+ const [resendAt, setResendAt] = useState(0);
48
+ const [now, setNow] = useState(() => Date.now());
37
49
  const emailRef = useRef(null);
38
- // The one outcome that needs a panel rather than a line of text, because it
39
- // ends in a button — and the one the old two-form design could not say at
40
- // all: the address is registered and this is not its password.
41
- const [accountExists, setAccountExists] = useState(false);
50
+ const codeRef = useRef(null);
42
51
  // Provider sign-in. `oauthBusy` names the provider whose redirect is in
43
52
  // flight; `oauthError` is either a failure to START one or — far more often —
44
53
  // one read back off the URL after a failed round trip.
45
54
  const [oauthBusy, setOauthBusy] = useState(null);
46
55
  const [oauthError, setOauthError] = useState(null);
47
56
  const [collisionProvider, setCollisionProvider] = useState(null);
57
+ // The providers this project has switched on. Empty until known, so the tab
58
+ // never appears for one that would fail.
59
+ const [providers, setProviders] = useState([]);
48
60
  const isAnonymous = session?.user?.is_anonymous === true;
49
- // Fresh form every time the dialog opens — a half-typed password from a
50
- // previous attempt must not linger in state while the dialog is hidden.
61
+ // A fresh start every time the dialog opens — a half-typed password or a
62
+ // code from a previous attempt must not linger while it is hidden. The email
63
+ // is kept: retyping it is the thing this dialog exists to avoid.
51
64
  useEffect(() => {
52
65
  if (!open)
53
66
  return;
54
- setMode(initialMode);
67
+ setTab(initialMode === 'sso' ? 'sso' : 'email');
68
+ setStage('start');
69
+ setMethod('code');
55
70
  setPassword('');
71
+ setCode('');
56
72
  setError(null);
57
- setInfo(null);
58
- setAccountExists(false);
59
73
  setOauthBusy(null);
60
74
  setOauthError(null);
61
75
  setCollisionProvider(null);
62
- // Focus after the portal content paints.
63
76
  const id = setTimeout(() => emailRef.current?.focus(), 0);
64
77
  return () => clearTimeout(id);
65
78
  }, [open, initialMode]);
66
79
  // ⚠️ The provider round trip lands back on the APP's own URL, by which time
67
- // this dialog has long since unmounted — so a failed Google/Microsoft
68
- // sign-in has nowhere to report itself and the app simply looks signed out.
69
- // The failure does survive in the address bar, so the next time the dialog
70
- // opens we read it there and say what went wrong. Without this the whole
71
- // feature fails silently, which is the one outcome worth engineering against.
80
+ // this dialog has long since unmounted — so a failed provider sign-in has
81
+ // nowhere to report itself and the app simply looks signed out. The failure
82
+ // survives in the address bar, so the next open reads it there and shows it
83
+ // on the provider tab, where it happened.
72
84
  useEffect(() => {
73
85
  if (!open)
74
86
  return;
75
87
  const found = readOAuthError();
76
88
  if (!found)
77
89
  return;
90
+ setTab('sso');
78
91
  setOauthError(found);
79
92
  setCollisionProvider(null);
80
93
  }, [open]);
94
+ // Which providers to offer. See the header for why native gets none.
95
+ const mockActive = !!config.mockAuth && !config.cookieDomain;
96
+ useEffect(() => {
97
+ if (!open)
98
+ return;
99
+ if (isNativeShell()) {
100
+ setProviders([]);
101
+ return;
102
+ }
103
+ // The offline mock has no GoTrue to ask, and its signInWithOAuth signs in
104
+ // as the dummy account, so every provider "works" there.
105
+ if (mockActive) {
106
+ setProviders(OAUTH_PROVIDERS);
107
+ return;
108
+ }
109
+ let cancelled = false;
110
+ void fetchEnabledOAuthProviders(config.supabaseUrl, config.supabaseAnonKey).then((list) => {
111
+ if (!cancelled)
112
+ setProviders(list);
113
+ });
114
+ return () => { cancelled = true; };
115
+ }, [open, mockActive, config.supabaseUrl, config.supabaseAnonKey]);
116
+ // The resend countdown. Only ticks while a code is being waited for.
117
+ useEffect(() => {
118
+ if (!open || stage !== 'code')
119
+ return;
120
+ const id = setInterval(() => setNow(Date.now()), 1000);
121
+ return () => clearInterval(id);
122
+ }, [open, stage]);
81
123
  useEffect(() => {
82
124
  if (!open)
83
125
  return;
@@ -88,15 +130,73 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
88
130
  document.addEventListener('keydown', onKey);
89
131
  return () => document.removeEventListener('keydown', onKey);
90
132
  }, [open, onClose]);
133
+ // ── Email code ───────────────────────────────────────────────────────────────
134
+ async function sendCode(e) {
135
+ e?.preventDefault();
136
+ if (busy || !email.trim().includes('@'))
137
+ return;
138
+ setBusy(true);
139
+ setError(null);
140
+ const result = await sendSignInCode(supabase, { email });
141
+ setBusy(false);
142
+ if (!result.ok) {
143
+ setError(result.message);
144
+ if (result.retryAfterSeconds)
145
+ setResendAt(Date.now() + result.retryAfterSeconds * 1000);
146
+ return;
147
+ }
148
+ setFlow(result.flow);
149
+ setStage('code');
150
+ setCode('');
151
+ setResendAt(Date.now() + RESEND_AFTER_MS);
152
+ setNow(Date.now());
153
+ setTimeout(() => codeRef.current?.focus(), 0);
154
+ }
155
+ async function submitCode(e) {
156
+ e.preventDefault();
157
+ if (busy)
158
+ return;
159
+ setBusy(true);
160
+ setError(null);
161
+ const result = await verifySignInCode(supabase, { email, code, flow });
162
+ setBusy(false);
163
+ // The provider's onAuthStateChange updates the navbar; nothing to navigate
164
+ // to — the whole point is the user stays where they were.
165
+ if (result.ok) {
166
+ onClose();
167
+ return;
168
+ }
169
+ setError(result.invalid ? t(language, 'signin.code_invalid') : result.message);
170
+ }
171
+ // A password SIGNS IN an account that has one, and does nothing else. A
172
+ // failure never falls through to creating an account — only the code can do
173
+ // that, because only the code proves the address is theirs.
174
+ async function submitPassword(e) {
175
+ e.preventDefault();
176
+ if (busy || !email.trim() || !password)
177
+ return;
178
+ setBusy(true);
179
+ setError(null);
180
+ const { error: err } = await supabase.auth.signInWithPassword({ email: email.trim(), password });
181
+ setBusy(false);
182
+ if (!err) {
183
+ onClose();
184
+ return;
185
+ }
186
+ const e2 = err;
187
+ const wrong = e2.code === 'invalid_credentials' || /invalid login credentials/i.test(e2.message ?? '');
188
+ setError(wrong ? t(language, 'signin.password_wrong') : (e2.message ?? t(language, 'signin.password_wrong')));
189
+ }
190
+ // ── Providers ────────────────────────────────────────────────────────────────
91
191
  async function onProvider(provider) {
92
192
  setOauthBusy(provider);
93
193
  setOauthError(null);
94
194
  setCollisionProvider(null);
95
195
  setError(null);
96
- setInfo(null);
97
196
  clearOAuthError();
98
197
  const { error: err } = await startOAuthSignIn(supabase, provider, {
99
198
  redirectTo: window.location.href,
199
+ loginHint: email,
100
200
  });
101
201
  if (!err)
102
202
  return; // redirect in flight — leave the button busy
@@ -113,100 +213,55 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
113
213
  setCollisionProvider(null);
114
214
  const { error: err } = await abandonTrialAndSignIn(supabase, provider, {
115
215
  redirectTo: window.location.href,
216
+ loginHint: email,
116
217
  });
117
218
  if (!err)
118
219
  return;
119
220
  setOauthBusy(null);
120
221
  setOauthError(err);
121
222
  }
122
- const switchMode = (m) => {
123
- setMode(m);
124
- setError(null);
125
- setInfo(null);
126
- setAccountExists(false);
127
- };
128
- function applyOutcome(outcome) {
129
- switch (outcome.kind) {
130
- case 'signed-in':
131
- // The provider's onAuthStateChange updates the navbar; nothing to
132
- // navigate to — the whole point is the user stays where they were.
133
- onClose();
134
- return;
135
- case 'created':
136
- setInfo(t(language, 'signin.info_created'));
137
- return;
138
- case 'upgraded':
139
- setInfo(t(language, 'signin.info_signup'));
140
- return;
141
- case 'unconfirmed':
142
- setInfo(t(language, 'signin.info_unconfirmed'));
143
- return;
144
- case 'account-exists':
145
- setAccountExists(true);
146
- return;
147
- case 'error':
148
- setError(outcome.message);
149
- }
150
- }
151
- async function submit(e) {
152
- e.preventDefault();
153
- const address = email.trim();
154
- if (!address)
155
- return;
156
- if (mode !== 'reset' && !password)
157
- return;
158
- setBusy(true);
159
- setError(null);
160
- setInfo(null);
161
- setAccountExists(false);
162
- if (mode === 'reset') {
163
- // Same confirmation whether or not the address exists. Unlike the form
164
- // above this one takes no password, so it can prove nothing about who
165
- // holds the account and must therefore say nothing.
166
- const { error: err } = await supabase.auth.resetPasswordForEmail(address, {
167
- redirectTo: `${hubOrigin(hubLoginHref)}/login?finish=1`,
168
- });
169
- setBusy(false);
170
- if (err) {
171
- setError(err.message);
172
- return;
173
- }
174
- setInfo(t(language, 'signin.info_reset'));
175
- return;
176
- }
177
- // Sign in, or create the account if there isn't one. No emailRedirectTo:
178
- // app origins aren't on the Supabase redirect allowlist, so a confirmation
179
- // link lands on the project Site URL (the hub), exactly as hub-side
180
- // signups do today.
181
- const outcome = await continueWithEmail(supabase, { email: address, password });
182
- setBusy(false);
183
- applyOutcome(outcome);
184
- }
185
223
  if (!open || typeof document === 'undefined')
186
224
  return null;
187
- const title = mode === 'reset' ? t(language, 'signin.title_reset') : t(language, 'signin.title_auth');
188
- const cta = busy
189
- ? '…'
190
- : mode === 'reset' ? t(language, 'signin.cta_reset') : t(language, 'signin.cta_continue');
225
+ const or = t(language, 'signin.or');
226
+ const providerNames = joinOr(providers.map(oauthProviderLabel), or);
227
+ // The providers that will actually be shown the typed address (loginHintParams).
228
+ const hinted = providers.filter((p) => p !== 'apple').map(oauthProviderLabel);
229
+ const typedEmail = email.trim();
230
+ const showTabs = providers.length > 0 && stage === 'start';
231
+ const showSso = tab === 'sso' && stage === 'start' && (providers.length > 0 || oauthError !== null);
232
+ const title = stage === 'code' ? t(language, 'signin.code_title') : t(language, 'signin.title_auth');
233
+ const resendIn = Math.max(0, Math.ceil((resendAt - now) / 1000));
234
+ const [sentBefore, sentAfter] = t(language, 'signin.code_sent').split('{email}');
191
235
  const hub = hubOrigin(hubLoginHref);
236
+ const switchTab = (next) => {
237
+ setTab(next);
238
+ setError(null);
239
+ setOauthError(null);
240
+ setCollisionProvider(null);
241
+ };
192
242
  return createPortal(_jsx("div", { style: overlayStyle, onMouseDown: (e) => {
193
243
  if (e.target === e.currentTarget)
194
244
  onClose();
195
- }, children: _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, style: cardStyle, children: [_jsx("button", { type: "button", "aria-label": t(language, 'signin.close'), onClick: onClose, style: closeButtonStyle, children: _jsx(IconClose, {}) }), _jsx("p", { style: eyebrowStyle, children: "Universal ID" }), _jsx("h2", { style: titleStyle, children: title }), _jsx("p", { style: introStyle, children: t(language, 'signin.intro') }), mode !== 'reset' && (_jsx("p", { style: unifiedNoteStyle, children: t(language, 'signin.unified_note') })), mode !== 'reset' && isAnonymous && (_jsx("p", { style: trialChoiceStyle, children: t(language, 'signin.trial_choice') })), mode !== 'reset' && (_jsxs("div", { style: { marginTop: 18 }, children: [_jsx(OAuthButtons, { onProvider: onProvider, busyProvider: oauthBusy, disabled: busy, labelFor: (p) => t(language, p === 'google' ? 'signin.continue_google' : 'signin.continue_microsoft'), dividerLabel: t(language, 'signin.or_email'), note: isAnonymous ? t(language, 'signin.trial_carries') : null }), oauthError && (_jsx("div", { style: oauthErrorStyle, children: collisionProvider ? (_jsxs(_Fragment, { children: [_jsx("p", { style: { margin: 0, fontWeight: 700 }, children: t(language, 'signin.collision_title') }), _jsx("p", { style: { margin: '4px 0 0', fontWeight: 400 }, children: t(language, 'signin.collision_body') }), _jsx("button", { type: "button", onClick: () => onAbandonTrial(collisionProvider), style: collisionButtonStyle, children: t(language, 'signin.collision_cta') })] })) : (_jsx("p", { style: { margin: 0 }, children: isManualLinkingDisabled(oauthError)
245
+ }, children: _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, style: cardStyle, "data-signin-tab": showSso ? 'sso' : 'email', "data-signin-stage": stage, children: [_jsx("button", { type: "button", "aria-label": t(language, 'signin.close'), onClick: onClose, style: closeButtonStyle, children: _jsx(IconClose, {}) }), _jsx("p", { style: eyebrowStyle, children: "Universal ID" }), _jsx("h2", { style: titleStyle, children: title }), stage === 'code' ? (_jsxs("p", { style: introStyle, "data-testid": "signin-code-sent", children: [sentBefore, _jsx("strong", { style: { color: '#0f172a', overflowWrap: 'anywhere' }, children: typedEmail }), sentAfter] })) : (_jsx("p", { style: introStyle, children: t(language, 'signin.intro') })), showTabs && (_jsxs("div", { role: "tablist", "aria-label": t(language, 'signin.tabs_label'), style: tabListStyle, children: [_jsxs("button", { type: "button", role: "tab", "aria-selected": !showSso, "data-tab": "email", disabled: busy, onClick: () => switchTab('email'), style: tabStyle(!showSso), children: [_jsx("span", { style: tabLabelStyle, children: t(language, 'signin.tab_email') }), _jsx("span", { style: tabHintStyle, children: t(language, 'signin.tab_email_hint') })] }), _jsxs("button", { type: "button", role: "tab", "aria-selected": showSso, "aria-label": providerNames, "data-tab": "sso", disabled: busy, onClick: () => switchTab('sso'), style: tabStyle(showSso), children: [_jsx("span", { style: tabMarksStyle, "aria-hidden": true, children: providers.map((p) => _jsx(ProviderMark, { provider: p }, p)) }), _jsx("span", { style: tabHintStyle, children: providerNames })] })] })), showSso ? (_jsxs("div", { style: { marginTop: 16 }, children: [typedEmail.includes('@') && hinted.length > 0 && (_jsx("p", { style: hintStyle, "data-testid": "signin-sso-hint", children: t(language, 'signin.sso_hint')
246
+ .replace('{providers}', joinOr(hinted, or))
247
+ .replace('{email}', typedEmail) })), _jsx(OAuthButtons, { providers: providers, onProvider: onProvider, busyProvider: oauthBusy, disabled: busy, labelFor: (p) => t(language, p === 'apple' ? 'signin.continue_apple'
248
+ : p === 'google' ? 'signin.continue_google'
249
+ : 'signin.continue_microsoft'), note: isAnonymous ? t(language, 'signin.trial_carries') : null }), oauthError && (_jsx("div", { style: oauthErrorStyle, children: collisionProvider ? (_jsxs(_Fragment, { children: [_jsx("p", { style: { margin: 0, fontWeight: 700 }, children: t(language, 'signin.collision_title') }), _jsx("p", { style: { margin: '4px 0 0', fontWeight: 400 }, children: t(language, 'signin.collision_body') }), _jsx("button", { type: "button", onClick: () => onAbandonTrial(collisionProvider), style: collisionButtonStyle, children: t(language, 'signin.collision_cta') })] })) : (_jsx("p", { style: { margin: 0 }, children: isManualLinkingDisabled(oauthError)
196
250
  ? t(language, 'signin.link_unavailable')
197
- : oauthError.message })) }))] })), _jsxs("form", { onSubmit: submit, style: { marginTop: 18 }, children: [_jsxs("label", { style: labelStyle, children: [t(language, 'signin.email'), _jsx("input", { ref: emailRef, type: "email", value: email, onChange: (e) => setEmail(e.target.value), autoComplete: "email", required: true, style: inputStyle(!canHover) })] }), mode !== 'reset' && (_jsxs("label", { style: { ...labelStyle, marginTop: 12 }, children: [t(language, 'signin.password'), _jsx("input", { type: "password", value: password, onChange: (e) => setPassword(e.target.value),
198
- // One box for both, so this is a returning user's password far
199
- // more often than a new one — and a manager that offers to fill
200
- // it beats one that offers to generate a replacement.
201
- autoComplete: "current-password", required: true, style: inputStyle(!canHover) })] })), error && _jsx("p", { style: errorStyle, children: error }), info && _jsx("p", { style: infoStyle, children: info }), accountExists && (_jsxs("div", { style: oauthErrorStyle, children: [_jsx("p", { style: { margin: 0, fontWeight: 700 }, children: t(language, 'signin.exists_title') }), _jsx("p", { style: { margin: '4px 0 0', fontWeight: 400 }, children: t(language, 'signin.exists_body') }), _jsx("button", { type: "button", onClick: () => switchMode('reset'), style: collisionButtonStyle, children: t(language, 'signin.exists_cta') })] })), _jsx("button", { type: "submit", disabled: busy || !email.trim() || (mode !== 'reset' && !password), style: {
202
- ...submitStyle,
203
- ...(busy || !email.trim() || (mode !== 'reset' && !password)
204
- ? { opacity: 0.6, cursor: 'default' }
205
- : null),
206
- }, children: cta })] }), _jsxs("div", { style: footerStyle, children: [mode !== 'reset' ? (_jsx(FooterRow, { prompt: "", action: t(language, 'signin.forgot'), onClick: () => switchMode('reset') })) : (_jsx(FooterRow, { prompt: t(language, 'signin.have_account'), action: t(language, 'signin.cta_signin'), onClick: () => switchMode('signin') })), _jsxs("p", { style: manageStyle, children: [t(language, 'signin.manage'), ' ', _jsx("a", { href: hub, target: "_blank", rel: "noreferrer", style: manageLinkStyle, children: hub.replace(/^https?:\/\//, '') })] })] })] }) }), document.body);
207
- }
208
- function FooterRow({ prompt, action, onClick, }) {
209
- return (_jsxs("div", { style: footerRowStyle, children: [_jsx("span", { children: prompt }), _jsx("button", { type: "button", onClick: onClick, style: footerLinkStyle, children: action })] }));
251
+ : oauthError.message })) }))] })) : stage === 'code' ? (_jsxs(_Fragment, { children: [_jsxs("form", { onSubmit: submitCode, style: { marginTop: 16 }, children: [_jsxs("label", { style: labelStyle, children: [t(language, 'signin.code_label'), _jsx("input", { ref: codeRef, "data-testid": "signin-code", value: code, onChange: (e) => setCode(e.target.value.replace(/\D/g, '').slice(0, 10)), inputMode: "numeric", autoComplete: "one-time-code", placeholder: "123456", disabled: busy, style: { ...inputStyle(!canHover), fontSize: 20, letterSpacing: '0.3em', textAlign: 'center' } })] }), error && _jsx("p", { style: errorStyle, role: "alert", children: error }), _jsx("button", { type: "submit", disabled: busy || code.length < 6, style: { ...submitStyle, ...(busy || code.length < 6 ? disabledStyle : null) }, children: busy ? t(language, 'signin.checking') : t(language, 'signin.cta_continue') })] }), _jsxs("div", { style: codeActionsStyle, children: [_jsx("button", { type: "button", "data-testid": "signin-resend", disabled: busy || resendIn > 0, onClick: () => void sendCode(), style: { ...footerLinkStyle, ...(busy || resendIn > 0 ? { color: '#94a3b8', cursor: 'default' } : null) }, children: resendIn > 0
252
+ ? t(language, 'signin.resend_wait').replace('{s}', String(resendIn))
253
+ : t(language, 'signin.resend') }), _jsx("button", { type: "button", onClick: () => { setStage('start'); setCode(''); setError(null); }, style: footerLinkStyle, children: t(language, 'signin.change_email') })] })] })) : (_jsxs("div", { style: { marginTop: 16 }, children: [method === 'code' && (_jsx("p", { style: unifiedNoteStyle, children: t(language, 'signin.code_note') })), isAnonymous && (_jsx("p", { style: trialChoiceStyle, children: t(language, 'signin.trial_choice') })), _jsxs("form", { onSubmit: method === 'code' ? sendCode : submitPassword, style: { marginTop: 12 }, children: [_jsxs("label", { style: labelStyle, children: [t(language, 'signin.email'), _jsx("input", { ref: emailRef, type: "email", value: email, onChange: (e) => setEmail(e.target.value), autoComplete: "email", required: true, disabled: busy, style: inputStyle(!canHover) })] }), method === 'password' && (_jsxs("label", { style: { ...labelStyle, marginTop: 12 }, children: [t(language, 'signin.password'), _jsx("input", { type: "password", value: password, onChange: (e) => setPassword(e.target.value), autoComplete: "current-password", required: true, disabled: busy, style: inputStyle(!canHover) })] })), error && _jsx("p", { style: errorStyle, role: "alert", children: error }), _jsx("button", { type: "submit", disabled: busy || !typedEmail.includes('@') || (method === 'password' && !password), style: {
254
+ ...submitStyle,
255
+ ...(busy || !typedEmail.includes('@') || (method === 'password' && !password)
256
+ ? disabledStyle
257
+ : null),
258
+ }, children: busy
259
+ ? t(language, method === 'code' ? 'signin.sending' : 'signin.checking')
260
+ : t(language, method === 'code' ? 'signin.cta_send_code' : 'signin.cta_continue') })] }), method === 'code' && _jsx("p", { style: quietNoteStyle, children: t(language, 'signin.code_footer') }), _jsx("div", { style: { textAlign: 'center', marginTop: 10 }, children: _jsx("button", { type: "button", "data-testid": "signin-toggle-password", disabled: busy, onClick: () => {
261
+ setMethod((m) => (m === 'code' ? 'password' : 'code'));
262
+ setPassword('');
263
+ setError(null);
264
+ }, style: footerLinkStyle, children: t(language, method === 'code' ? 'signin.use_password' : 'signin.use_code') }) })] })), _jsx("div", { style: footerStyle, children: _jsxs("p", { style: manageStyle, children: [t(language, 'signin.manage'), ' ', _jsx("a", { href: hub, target: "_blank", rel: "noreferrer", style: manageLinkStyle, children: hub.replace(/^https?:\/\//, '') })] }) })] }) }), document.body);
210
265
  }
211
266
  function IconClose() {
212
267
  return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }));
@@ -276,6 +331,46 @@ const introStyle = {
276
331
  color: '#475569',
277
332
  lineHeight: 1.5,
278
333
  };
334
+ // The two ways in, side by side as Family has them: a choice you can't see is
335
+ // a choice you don't have.
336
+ const tabListStyle = {
337
+ display: 'flex',
338
+ gap: 8,
339
+ marginTop: 16,
340
+ };
341
+ const tabStyle = (on) => ({
342
+ flex: 1,
343
+ minWidth: 0,
344
+ display: 'flex',
345
+ flexDirection: 'column',
346
+ alignItems: 'flex-start',
347
+ gap: 3,
348
+ padding: '9px 12px',
349
+ borderRadius: 10,
350
+ border: on ? `1.5px solid ${BRAND.orange}` : '1px solid #e5e7eb',
351
+ background: on ? '#fff7ed' : '#ffffff',
352
+ cursor: 'pointer',
353
+ textAlign: 'left',
354
+ fontFamily: 'inherit',
355
+ boxSizing: 'border-box',
356
+ });
357
+ const tabLabelStyle = {
358
+ fontSize: 14,
359
+ fontWeight: 700,
360
+ color: '#0f172a',
361
+ lineHeight: '18px',
362
+ };
363
+ const tabMarksStyle = {
364
+ display: 'inline-flex',
365
+ alignItems: 'center',
366
+ gap: 6,
367
+ height: 18,
368
+ };
369
+ const tabHintStyle = {
370
+ fontSize: 12,
371
+ color: '#64748b',
372
+ lineHeight: 1.35,
373
+ };
279
374
  const trialChoiceStyle = {
280
375
  margin: '8px 0 0',
281
376
  padding: '8px 10px',
@@ -286,15 +381,32 @@ const trialChoiceStyle = {
286
381
  lineHeight: 1.5,
287
382
  color: '#78350f',
288
383
  };
289
- // The one line of copy that explains why there is no "create an account" tab.
290
- // Deliberately quieter than the intro: it answers a question most people never
291
- // think to ask, and only matters to the ones who go looking for the missing tab.
292
384
  const unifiedNoteStyle = {
293
- margin: '8px 0 0',
385
+ margin: 0,
294
386
  fontSize: 12,
295
387
  color: '#64748b',
296
388
  lineHeight: 1.5,
297
389
  };
390
+ const quietNoteStyle = {
391
+ margin: '10px 0 0',
392
+ fontSize: 12,
393
+ color: '#64748b',
394
+ lineHeight: 1.5,
395
+ textAlign: 'center',
396
+ };
397
+ // "Google or Microsoft will suggest you@example.com". A long address must wrap
398
+ // rather than push the card sideways on a phone.
399
+ const hintStyle = {
400
+ margin: '0 0 12px',
401
+ padding: '8px 10px',
402
+ borderRadius: 8,
403
+ background: '#f8fafc',
404
+ border: '1px solid #e2e8f0',
405
+ fontSize: 12,
406
+ lineHeight: 1.5,
407
+ color: '#334155',
408
+ overflowWrap: 'anywhere',
409
+ };
298
410
  const labelStyle = {
299
411
  display: 'block',
300
412
  fontSize: 11,
@@ -358,12 +470,6 @@ const collisionButtonStyle = {
358
470
  borderRadius: 7,
359
471
  cursor: 'pointer',
360
472
  };
361
- const infoStyle = {
362
- margin: '10px 0 0',
363
- fontSize: 12,
364
- fontWeight: 600,
365
- color: '#047857',
366
- };
367
473
  const submitStyle = {
368
474
  display: 'block',
369
475
  width: '100%',
@@ -378,19 +484,19 @@ const submitStyle = {
378
484
  borderRadius: 8,
379
485
  cursor: 'pointer',
380
486
  };
487
+ const disabledStyle = { opacity: 0.6, cursor: 'default' };
488
+ const codeActionsStyle = {
489
+ display: 'flex',
490
+ flexWrap: 'wrap',
491
+ justifyContent: 'space-between',
492
+ gap: 8,
493
+ marginTop: 12,
494
+ };
381
495
  const footerStyle = {
382
496
  marginTop: 16,
383
497
  paddingTop: 12,
384
498
  borderTop: '1px solid #f1f5f9',
385
499
  };
386
- const footerRowStyle = {
387
- display: 'flex',
388
- alignItems: 'center',
389
- justifyContent: 'space-between',
390
- fontSize: 12,
391
- color: '#64748b',
392
- marginTop: 4,
393
- };
394
500
  const footerLinkStyle = {
395
501
  border: 0,
396
502
  background: 'transparent',
@@ -403,7 +509,7 @@ const footerLinkStyle = {
403
509
  cursor: 'pointer',
404
510
  };
405
511
  const manageStyle = {
406
- margin: '12px 0 0',
512
+ margin: 0,
407
513
  fontSize: 11,
408
514
  color: '#94a3b8',
409
515
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"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"}