@unisim/sdk 0.125.1 → 0.127.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.
- package/README.md +13 -0
- package/android/src/main/AndroidManifest.xml +12 -1
- package/dist/OAuthButtons.d.ts +21 -0
- package/dist/OAuthButtons.d.ts.map +1 -0
- package/dist/OAuthButtons.js +79 -0
- package/dist/OAuthButtons.js.map +1 -0
- package/dist/SignInDialog.d.ts.map +1 -1
- package/dist/SignInDialog.js +86 -3
- package/dist/SignInDialog.js.map +1 -1
- package/dist/access.d.ts +22 -3
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +21 -30
- package/dist/access.js.map +1 -1
- package/dist/admin.d.ts +32 -28
- package/dist/admin.d.ts.map +1 -1
- package/dist/admin.js +59 -95
- package/dist/admin.js.map +1 -1
- package/dist/auth.d.ts +9 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +16 -0
- package/dist/auth.js.map +1 -1
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +56 -0
- package/dist/i18n.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mockAuth.d.ts.map +1 -1
- package/dist/mockAuth.js +56 -0
- package/dist/mockAuth.js.map +1 -1
- package/dist/oauth.d.ts +99 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +132 -0
- package/dist/oauth.js.map +1 -0
- package/dist/seatSession.d.ts +48 -0
- package/dist/seatSession.d.ts.map +1 -0
- package/dist/seatSession.js +191 -0
- package/dist/seatSession.js.map +1 -0
- package/dist/security.d.ts +56 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +129 -0
- package/dist/security.js.map +1 -0
- package/dist/suiteApps.d.ts +29 -6
- package/dist/suiteApps.d.ts.map +1 -1
- package/dist/suiteApps.js +25 -6
- package/dist/suiteApps.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -252,6 +252,19 @@ the change.
|
|
|
252
252
|
script above in every app repo (they all need the new scheme in their queries
|
|
253
253
|
list, not just the new app).
|
|
254
254
|
|
|
255
|
+
⚠️ **An app that gains a native build later is the same three edits, and nothing
|
|
256
|
+
will tell you.** Ergo Assess shipped a SwiftUI/Compose pair while the registry
|
|
257
|
+
still listed it as web-only; its switcher row went on loading the website inside
|
|
258
|
+
the caller's webview, which is indistinguishable from an app you have not
|
|
259
|
+
installed. `test:suite-apps` now names Ergo specifically, because a category
|
|
260
|
+
("web-only products") cannot be tested and a named product can.
|
|
261
|
+
|
|
262
|
+
Not every suite app is a Capacitor app. The script tries `ios/App/App/` first,
|
|
263
|
+
then falls back to the single `Info.plist` under `ios/` — which is how it finds
|
|
264
|
+
Ergo's `ios/ErgoAssessCapture/Info.plist` — and reads the bundle id from
|
|
265
|
+
`ios/project.yml` rather than the Capacitor config in that case. It refuses to
|
|
266
|
+
choose when a repo has more than one iOS target.
|
|
267
|
+
|
|
255
268
|
The row stays a real `<a href>` throughout — the handoff is a click handler over
|
|
256
269
|
the top, so a launch that fails still navigates and long-press/copy-link keep
|
|
257
270
|
working. `openSuiteApp()` resolving `false` is the fallback signal, not an
|
|
@@ -29,7 +29,11 @@
|
|
|
29
29
|
Two Capacitor apps are deliberately absent, and neither is an oversight:
|
|
30
30
|
Universal AI and Universal Family both run their own Supabase client on
|
|
31
31
|
their own storage key by an explicit decision recorded in their source,
|
|
32
|
-
so they have no shared session to take part in.
|
|
32
|
+
so they have no shared session to take part in. Ergo Assess is absent for
|
|
33
|
+
a different reason again: it is a native Compose app that ships no
|
|
34
|
+
SuiteAuthProvider at all, so there is no authority to name. It carries
|
|
35
|
+
the session in its own Keychain/KeyStore instead, which is why it appears
|
|
36
|
+
in 2b below and not here.
|
|
33
37
|
|
|
34
38
|
2b. The PACKAGE list: who the suite switcher can OPEN, via
|
|
35
39
|
UnisimSuiteAuthPlugin.installedApps/openApp. Deliberately a separate
|
|
@@ -61,6 +65,13 @@
|
|
|
61
65
|
<provider
|
|
62
66
|
android:authorities="uk.co.unisim.coshhassess.unisimsuiteauth;uk.co.unisim.cyberassess.unisimsuiteauth;uk.co.unisim.fireassess.unisimsuiteauth;uk.co.unisim.riskassess.unisimsuiteauth;uk.co.unisim.wfhassess.unisimsuiteauth;uk.co.unisim.blackbook.unisimsuiteauth;uk.co.unisim.compress.unisimsuiteauth;uk.co.unisim.converter.unisimsuiteauth;uk.co.unisim.images.unisimsuiteauth;uk.co.unisim.pdf.unisimsuiteauth;uk.co.unisim.polling.unisimsuiteauth;uk.co.unisim.qr.unisimsuiteauth" />
|
|
63
67
|
|
|
68
|
+
<!-- Ergo Assess is the one non-Capacitor app here: a Compose app whose
|
|
69
|
+
MainActivity already carries MAIN/LAUNCHER, which is all
|
|
70
|
+
getLaunchIntentForPackage needs. It keeps the
|
|
71
|
+
com.universalsimulation. prefix from its own Gradle module and is
|
|
72
|
+
absent from the provider list above on purpose — it has no
|
|
73
|
+
SuiteAuthProvider, so it shares no session. -->
|
|
74
|
+
<package android:name="com.universalsimulation.ergoassesscapture" />
|
|
64
75
|
<package android:name="uk.co.unisim.cyberassess" />
|
|
65
76
|
<package android:name="uk.co.unisim.wfhassess" />
|
|
66
77
|
<package android:name="uk.co.unisim.fireassess" />
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type OAuthProvider } from './oauth.js';
|
|
3
|
+
export interface OAuthButtonsProps {
|
|
4
|
+
/** Called with the chosen provider. The caller starts the redirect. */
|
|
5
|
+
onProvider: (provider: OAuthProvider) => void;
|
|
6
|
+
/** The provider whose redirect is in flight, if any — that button shows busy. */
|
|
7
|
+
busyProvider?: OAuthProvider | null;
|
|
8
|
+
/** Disable the whole row (e.g. while a password submit is running). */
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Button label builder, so each host can localise through its own i18n
|
|
12
|
+
* stack. Defaults to English "Continue with <Provider>".
|
|
13
|
+
*/
|
|
14
|
+
labelFor?: (provider: OAuthProvider) => string;
|
|
15
|
+
/** Text for the rule under the buttons. Omit to render no divider. */
|
|
16
|
+
dividerLabel?: string;
|
|
17
|
+
/** Optional note under the buttons (e.g. the anonymous-trial reassurance). */
|
|
18
|
+
note?: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
export declare function OAuthButtons({ onProvider, busyProvider, disabled, labelFor, dividerLabel, note, }: OAuthButtonsProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=OAuthButtons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthButtons.d.ts","sourceRoot":"","sources":["../src/OAuthButtons.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAoBpF,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,UAAU,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAA;IAC7C,iFAAiF;IACjF,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,MAAM,CAAA;IAC9C,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,wBAAgB,YAAY,CAAC,EAC3B,UAAU,EACV,YAAmB,EACnB,QAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,IAAI,GACL,EAAE,iBAAiB,2CAqCnB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { OAUTH_PROVIDERS, oauthProviderLabel } from './oauth.js';
|
|
4
|
+
export function OAuthButtons({ onProvider, busyProvider = null, disabled = false, labelFor, dividerLabel, note, }) {
|
|
5
|
+
return (_jsxs("div", { children: [_jsx("div", { style: stackStyle, children: OAUTH_PROVIDERS.map((provider) => {
|
|
6
|
+
const busy = busyProvider === provider;
|
|
7
|
+
const off = disabled || busyProvider !== null;
|
|
8
|
+
return (_jsxs("button", { type: "button", onClick: () => onProvider(provider), disabled: off, style: { ...buttonStyle, ...(off ? disabledStyle : null) }, children: [_jsx("span", { style: markStyle, "aria-hidden": true, children: provider === 'google' ? _jsx(GoogleMark, {}) : _jsx(MicrosoftMark, {}) }), _jsx("span", { children: busy ? '…' : (labelFor?.(provider) ?? `Continue with ${oauthProviderLabel(provider)}`) })] }, provider));
|
|
9
|
+
}) }), note && _jsx("div", { style: noteStyle, children: note }), dividerLabel && (_jsxs("div", { style: dividerStyle, children: [_jsx("span", { style: ruleStyle }), _jsx("span", { style: dividerTextStyle, children: dividerLabel }), _jsx("span", { style: ruleStyle })] }))] }));
|
|
10
|
+
}
|
|
11
|
+
// ── Provider marks ────────────────────────────────────────────────────────────
|
|
12
|
+
function GoogleMark() {
|
|
13
|
+
return (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 48 48", "aria-hidden": true, focusable: "false", children: [_jsx("path", { fill: "#4285F4", d: "M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z" }), _jsx("path", { fill: "#34A853", d: "M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z" }), _jsx("path", { fill: "#FBBC05", d: "M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34C2.85 17.09 2 20.45 2 24s.85 6.91 2.34 9.88l7.35-5.7z" }), _jsx("path", { fill: "#EA4335", d: "M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z" })] }));
|
|
14
|
+
}
|
|
15
|
+
function MicrosoftMark() {
|
|
16
|
+
return (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 23 23", "aria-hidden": true, focusable: "false", children: [_jsx("rect", { x: "1", y: "1", width: "10", height: "10", fill: "#F25022" }), _jsx("rect", { x: "12", y: "1", width: "10", height: "10", fill: "#7FBA00" }), _jsx("rect", { x: "1", y: "12", width: "10", height: "10", fill: "#00A4EF" }), _jsx("rect", { x: "12", y: "12", width: "10", height: "10", fill: "#FFB900" })] }));
|
|
17
|
+
}
|
|
18
|
+
// ── Styles ────────────────────────────────────────────────────────────────────
|
|
19
|
+
const stackStyle = {
|
|
20
|
+
display: 'flex',
|
|
21
|
+
flexDirection: 'column',
|
|
22
|
+
gap: 8,
|
|
23
|
+
};
|
|
24
|
+
const buttonStyle = {
|
|
25
|
+
display: 'flex',
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
gap: 10,
|
|
29
|
+
width: '100%',
|
|
30
|
+
padding: '10px 14px',
|
|
31
|
+
// 15px, not 14: this row sits above a password form whose inputs go to 16px
|
|
32
|
+
// on a touch screen, and a visibly smaller button reads as the lesser option.
|
|
33
|
+
fontSize: 15,
|
|
34
|
+
fontWeight: 600,
|
|
35
|
+
fontFamily: 'inherit',
|
|
36
|
+
color: '#1f2937',
|
|
37
|
+
background: '#ffffff',
|
|
38
|
+
border: '1px solid #d1d5db',
|
|
39
|
+
borderRadius: 8,
|
|
40
|
+
cursor: 'pointer',
|
|
41
|
+
boxSizing: 'border-box',
|
|
42
|
+
};
|
|
43
|
+
const disabledStyle = {
|
|
44
|
+
opacity: 0.6,
|
|
45
|
+
cursor: 'default',
|
|
46
|
+
};
|
|
47
|
+
const markStyle = {
|
|
48
|
+
display: 'inline-flex',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
justifyContent: 'center',
|
|
51
|
+
width: 18,
|
|
52
|
+
height: 18,
|
|
53
|
+
flexShrink: 0,
|
|
54
|
+
};
|
|
55
|
+
const noteStyle = {
|
|
56
|
+
marginTop: 10,
|
|
57
|
+
fontSize: 12,
|
|
58
|
+
lineHeight: 1.5,
|
|
59
|
+
color: '#475569',
|
|
60
|
+
};
|
|
61
|
+
const dividerStyle = {
|
|
62
|
+
display: 'flex',
|
|
63
|
+
alignItems: 'center',
|
|
64
|
+
gap: 10,
|
|
65
|
+
margin: '16px 0 4px',
|
|
66
|
+
};
|
|
67
|
+
const ruleStyle = {
|
|
68
|
+
flex: 1,
|
|
69
|
+
height: 1,
|
|
70
|
+
background: '#e5e7eb',
|
|
71
|
+
};
|
|
72
|
+
const dividerTextStyle = {
|
|
73
|
+
fontSize: 11,
|
|
74
|
+
fontWeight: 600,
|
|
75
|
+
letterSpacing: '0.06em',
|
|
76
|
+
textTransform: 'uppercase',
|
|
77
|
+
color: '#94a3b8',
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=OAuthButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OAuthButtons.js","sourceRoot":"","sources":["../src/OAuthButtons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInDialog.d.ts","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SignInDialog.d.ts","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"AA2CA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;CAC/B;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAsB,GACvB,EAAE,iBAAiB,sCAwSnB"}
|
package/dist/SignInDialog.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } 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,6 +7,8 @@ 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';
|
|
10
12
|
// Reset links must land somewhere that can host the set-a-password step; the
|
|
11
13
|
// hub's /login?finish=1 already does and is on Supabase's redirect allowlist,
|
|
12
14
|
// unlike each app's own origin.
|
|
@@ -23,7 +25,7 @@ function hubOrigin(hubLoginHref) {
|
|
|
23
25
|
}
|
|
24
26
|
export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signin', }) {
|
|
25
27
|
const canHover = useCanHover();
|
|
26
|
-
const { supabase } = useUniversal();
|
|
28
|
+
const { supabase, session } = useUniversal();
|
|
27
29
|
const { language } = useLanguage();
|
|
28
30
|
const [mode, setMode] = useState(initialMode);
|
|
29
31
|
const [email, setEmail] = useState('');
|
|
@@ -32,6 +34,13 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
|
|
|
32
34
|
const [error, setError] = useState(null);
|
|
33
35
|
const [info, setInfo] = useState(null);
|
|
34
36
|
const emailRef = useRef(null);
|
|
37
|
+
// Provider sign-in. `oauthBusy` names the provider whose redirect is in
|
|
38
|
+
// flight; `oauthError` is either a failure to START one or — far more often —
|
|
39
|
+
// one read back off the URL after a failed round trip.
|
|
40
|
+
const [oauthBusy, setOauthBusy] = useState(null);
|
|
41
|
+
const [oauthError, setOauthError] = useState(null);
|
|
42
|
+
const [collisionProvider, setCollisionProvider] = useState(null);
|
|
43
|
+
const isAnonymous = session?.user?.is_anonymous === true;
|
|
35
44
|
// Fresh form every time the dialog opens — a half-typed password from a
|
|
36
45
|
// previous attempt must not linger in state while the dialog is hidden.
|
|
37
46
|
useEffect(() => {
|
|
@@ -41,10 +50,28 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
|
|
|
41
50
|
setPassword('');
|
|
42
51
|
setError(null);
|
|
43
52
|
setInfo(null);
|
|
53
|
+
setOauthBusy(null);
|
|
54
|
+
setOauthError(null);
|
|
55
|
+
setCollisionProvider(null);
|
|
44
56
|
// Focus after the portal content paints.
|
|
45
57
|
const id = setTimeout(() => emailRef.current?.focus(), 0);
|
|
46
58
|
return () => clearTimeout(id);
|
|
47
59
|
}, [open, initialMode]);
|
|
60
|
+
// ⚠️ The provider round trip lands back on the APP's own URL, by which time
|
|
61
|
+
// this dialog has long since unmounted — so a failed Google/Microsoft
|
|
62
|
+
// sign-in has nowhere to report itself and the app simply looks signed out.
|
|
63
|
+
// The failure does survive in the address bar, so the next time the dialog
|
|
64
|
+
// opens we read it there and say what went wrong. Without this the whole
|
|
65
|
+
// feature fails silently, which is the one outcome worth engineering against.
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (!open)
|
|
68
|
+
return;
|
|
69
|
+
const found = readOAuthError();
|
|
70
|
+
if (!found)
|
|
71
|
+
return;
|
|
72
|
+
setOauthError(found);
|
|
73
|
+
setCollisionProvider(null);
|
|
74
|
+
}, [open]);
|
|
48
75
|
useEffect(() => {
|
|
49
76
|
if (!open)
|
|
50
77
|
return;
|
|
@@ -55,6 +82,37 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
|
|
|
55
82
|
document.addEventListener('keydown', onKey);
|
|
56
83
|
return () => document.removeEventListener('keydown', onKey);
|
|
57
84
|
}, [open, onClose]);
|
|
85
|
+
async function onProvider(provider) {
|
|
86
|
+
setOauthBusy(provider);
|
|
87
|
+
setOauthError(null);
|
|
88
|
+
setCollisionProvider(null);
|
|
89
|
+
setError(null);
|
|
90
|
+
setInfo(null);
|
|
91
|
+
clearOAuthError();
|
|
92
|
+
const { error: err } = await startOAuthSignIn(supabase, provider, {
|
|
93
|
+
redirectTo: window.location.href,
|
|
94
|
+
});
|
|
95
|
+
if (!err)
|
|
96
|
+
return; // redirect in flight — leave the button busy
|
|
97
|
+
setOauthBusy(null);
|
|
98
|
+
setOauthError(err);
|
|
99
|
+
if (isIdentityCollision(err))
|
|
100
|
+
setCollisionProvider(provider);
|
|
101
|
+
}
|
|
102
|
+
// Only reachable from the collision panel, and only after the user has read
|
|
103
|
+
// what it costs: the anonymous session is dropped and its work with it.
|
|
104
|
+
async function onAbandonTrial(provider) {
|
|
105
|
+
setOauthBusy(provider);
|
|
106
|
+
setOauthError(null);
|
|
107
|
+
setCollisionProvider(null);
|
|
108
|
+
const { error: err } = await abandonTrialAndSignIn(supabase, provider, {
|
|
109
|
+
redirectTo: window.location.href,
|
|
110
|
+
});
|
|
111
|
+
if (!err)
|
|
112
|
+
return;
|
|
113
|
+
setOauthBusy(null);
|
|
114
|
+
setOauthError(err);
|
|
115
|
+
}
|
|
58
116
|
const switchMode = (m) => {
|
|
59
117
|
setMode(m);
|
|
60
118
|
setError(null);
|
|
@@ -124,7 +182,9 @@ export function SignInDialog({ open, onClose, hubLoginHref, initialMode = 'signi
|
|
|
124
182
|
return createPortal(_jsx("div", { style: overlayStyle, onMouseDown: (e) => {
|
|
125
183
|
if (e.target === e.currentTarget)
|
|
126
184
|
onClose();
|
|
127
|
-
}, 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') }), _jsxs("
|
|
185
|
+
}, 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' && (_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)
|
|
186
|
+
? t(language, 'signin.link_unavailable')
|
|
187
|
+
: 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), autoComplete: mode === 'signin' ? 'current-password' : 'new-password', required: true, style: inputStyle(!canHover) })] })), error && _jsx("p", { style: errorStyle, children: error }), info && _jsx("p", { style: infoStyle, children: info }), _jsx("button", { type: "submit", disabled: busy || !email.trim() || (mode !== 'reset' && !password), style: {
|
|
128
188
|
...submitStyle,
|
|
129
189
|
...(busy || !email.trim() || (mode !== 'reset' && !password)
|
|
130
190
|
? { opacity: 0.6, cursor: 'default' }
|
|
@@ -242,6 +302,29 @@ const errorStyle = {
|
|
|
242
302
|
fontWeight: 600,
|
|
243
303
|
color: '#b91c1c',
|
|
244
304
|
};
|
|
305
|
+
const oauthErrorStyle = {
|
|
306
|
+
marginTop: 12,
|
|
307
|
+
padding: '10px 12px',
|
|
308
|
+
borderRadius: 8,
|
|
309
|
+
border: '1px solid #fecaca',
|
|
310
|
+
background: '#fef2f2',
|
|
311
|
+
fontSize: 12,
|
|
312
|
+
fontWeight: 600,
|
|
313
|
+
lineHeight: 1.5,
|
|
314
|
+
color: '#991b1b',
|
|
315
|
+
};
|
|
316
|
+
const collisionButtonStyle = {
|
|
317
|
+
marginTop: 10,
|
|
318
|
+
padding: '7px 12px',
|
|
319
|
+
fontSize: 12,
|
|
320
|
+
fontWeight: 600,
|
|
321
|
+
fontFamily: 'inherit',
|
|
322
|
+
color: '#7f1d1d',
|
|
323
|
+
background: '#ffffff',
|
|
324
|
+
border: '1px solid #fca5a5',
|
|
325
|
+
borderRadius: 7,
|
|
326
|
+
cursor: 'pointer',
|
|
327
|
+
};
|
|
245
328
|
const infoStyle = {
|
|
246
329
|
margin: '10px 0 0',
|
|
247
330
|
fontSize: 12,
|
package/dist/SignInDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EACL,SAAS,EACT,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAoCxC,6EAA6E;AAC7E,8EAA8E;AAC9E,gCAAgC;AAChC,MAAM,WAAW,GAAG,0BAA0B,CAAA;AAE9C,SAAS,SAAS,CAAC,YAAqB;IACtC,IAAI,CAAC,YAAY;QAAE,OAAO,WAAW,CAAA;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAA;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,WAAW,GAAG,QAAQ,GACJ;IAClB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,EAAE,CAAA;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAElC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAmB,WAAW,CAAC,CAAA;IAC/D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAE/C,wEAAwE;IACxE,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,OAAO,CAAC,WAAW,CAAC,CAAA;QACpB,WAAW,CAAC,EAAE,CAAC,CAAA;QACf,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,yCAAyC;QACzC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QACzD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,SAAS,KAAK,CAAC,CAAgB;YAC7B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAA;QACnC,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;IAEnB,MAAM,UAAU,GAAG,CAAC,CAAmB,EAAE,EAAE;QACzC,OAAO,CAAC,CAAC,CAAC,CAAA;QACV,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAA;IAED,KAAK,UAAU,MAAM,CAAC,CAAY;QAChC,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAM;QACzC,OAAO,CAAC,IAAI,CAAC,CAAA;QACb,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,OAAO,CAAC,IAAI,CAAC,CAAA;QAEb,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,mEAAmE;YACnE,+BAA+B;YAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;gBACxE,UAAU,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,iBAAiB;aACxD,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,IAAI,GAAG,EAAE,CAAC;gBAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YAC1C,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,KAAK,EAAE,OAAO;gBACd,QAAQ;aACT,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,CAAC,CAAA;YACd,IAAI,GAAG,EAAE,CAAC;gBAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAAC,OAAM;YAAC,CAAC;YAC1C,kEAAkE;YAClE,mEAAmE;YACnE,OAAO,EAAE,CAAA;YACT,OAAM;QACR,CAAC;QAED,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC/E,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,IAAI,GAAG,EAAE,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAA;IAEzD,MAAM,KAAK,GACT,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC;QACtD,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAG,IAAI;QACd,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YACtD,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC;gBACpD,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;IAEpC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAEnC,OAAO,YAAY,CACjB,cACE,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa;gBAAE,OAAO,EAAE,CAAA;QAC7C,CAAC,YAED,eAAK,IAAI,EAAC,QAAQ,gBAAY,MAAM,gBAAa,KAAK,EAAE,KAAK,EAAE,SAAS,aACtE,iBACE,IAAI,EAAC,QAAQ,gBACD,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EACvC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,gBAAgB,YAEvB,KAAC,SAAS,KAAG,GACN,EAET,YAAG,KAAK,EAAE,YAAY,6BAAkB,EACxC,aAAI,KAAK,EAAE,UAAU,YAAG,KAAK,GAAM,EACnC,YAAG,KAAK,EAAE,UAAU,YAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAK,EAEvD,gBAAM,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,aAC9C,iBAAO,KAAK,EAAE,UAAU,aACrB,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC5B,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,YAAY,EAAC,OAAO,EACpB,QAAQ,QACR,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAC5B,IACI,EACP,IAAI,KAAK,OAAO,IAAI,CACnB,iBAAO,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,aAC3C,CAAC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAC/B,gBACE,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5C,YAAY,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc,EACrE,QAAQ,QACR,KAAK,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAC5B,IACI,CACT,EAEA,KAAK,IAAI,YAAG,KAAK,EAAE,UAAU,YAAG,KAAK,GAAK,EAC1C,IAAI,IAAI,YAAG,KAAK,EAAE,SAAS,YAAG,IAAI,GAAK,EAExC,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,EAClE,KAAK,EAAE;gCACL,GAAG,WAAW;gCACd,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC;oCAC1D,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;oCACrC,CAAC,CAAC,IAAI,CAAC;6BACV,YAEA,GAAG,GACG,IACJ,EAEP,eAAK,KAAK,EAAE,WAAW,aACpB,IAAI,KAAK,QAAQ,IAAI,CACpB,8BACE,KAAC,SAAS,IACR,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EACxC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GACnC,EACF,KAAC,SAAS,IACR,MAAM,EAAC,EAAE,EACT,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,EACpC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAClC,IACD,CACJ,EACA,IAAI,KAAK,QAAQ,IAAI,CACpB,KAAC,SAAS,IACR,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,qBAAqB,CAAC,EAC1C,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EACxC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,GACnC,CACH,EACD,aAAG,KAAK,EAAE,WAAW,aAClB,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,GAAG,EAClC,YAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,EAAC,KAAK,EAAE,eAAe,YAClE,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,GAC9B,IACF,IACA,IACF,GACF,EACN,QAAQ,CAAC,IAAI,CACd,CAAA;AACH,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,MAAM,EACN,MAAM,EACN,OAAO,GAKR;IACC,OAAO,CACL,eAAK,KAAK,EAAE,cAAc,aACxB,yBAAO,MAAM,GAAQ,EACrB,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,YAC3D,MAAM,GACA,IACL,CACP,CAAA;AACH,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CACL,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,kCAC5I,eAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,GAAG,EACtC,eAAM,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,IAClC,CACP,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AAEjF,MAAM,YAAY,GAAkB;IAClC,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,CAAC;IACR,UAAU,EAAE,wBAAwB;IACpC,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,OAAO,EAAE,EAAE;IACX,sEAAsE;IACtE,MAAM,EAAE,mBAAmB,GAAG,GAAG;IACjC,UAAU,EAAE,sFAAsF;CACnG,CAAA;AAED,MAAM,SAAS,GAAkB;IAC/B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,2EAA2E;IACtF,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,YAAY;CACxB,CAAA;AAED,MAAM,gBAAgB,GAAkB;IACtC,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,aAAa;IACzB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,MAAM,YAAY,GAAkB;IAClC,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,WAAW;IAC1B,0EAA0E;IAC1E,KAAK,EAAE,KAAK,CAAC,UAAU;CACxB,CAAA;AAED,MAAM,UAAU,GAAkB;IAChC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,SAAS;CACzB,CAAA;AAED,MAAM,UAAU,GAAkB;IAChC,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,GAAG;CAChB,CAAA;AAED,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,OAAO;IAChB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,QAAQ;IACvB,aAAa,EAAE,WAAW;IAC1B,KAAK,EAAE,SAAS;CACjB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,GAAG,CAAC,aAAsB,EAAiB,EAAE,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IACjC,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,mBAAmB;IAC3B,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,MAAM;CAChB,CAAC,CAAA;AAEF,MAAM,UAAU,GAAkB;IAChC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,SAAS,GAAkB;IAC/B,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,WAAW,GAAkB;IACjC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,KAAK,CAAC,MAAM;IACxB,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,CAAC;IACf,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,MAAM,WAAW,GAAkB;IACjC,SAAS,EAAE,EAAE;IACb,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,mBAAmB;CAC/B,CAAA;AAED,MAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,eAAe;IAC/B,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,CAAC;CACb,CAAA;AAED,MAAM,eAAe,GAAkB;IACrC,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,SAAS;IACrB,oDAAoD;IACpD,KAAK,EAAE,KAAK,CAAC,UAAU;IACvB,MAAM,EAAE,SAAS;CAClB,CAAA;AAED,MAAM,WAAW,GAAkB;IACjC,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,eAAe,GAAkB;IACrC,KAAK,EAAE,SAAS;IAChB,UAAU,EAAE,GAAG;IACf,cAAc,EAAE,MAAM;CACvB,CAAA"}
|
|
1
|
+
{"version":3,"file":"SignInDialog.js","sourceRoot":"","sources":["../src/SignInDialog.tsx"],"names":[],"mappings":"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"}
|
package/dist/access.d.ts
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type SeatClaim } from './seatSession.js';
|
|
2
|
+
import type { ProductCode } from './types.js';
|
|
2
3
|
/** Whether the active org has base access to a product. */
|
|
3
4
|
export declare function useHasAccess(product: ProductCode): boolean;
|
|
4
5
|
/** Whether the active org has a specific feature flag granted. */
|
|
5
6
|
export declare function useHasFeature(featureKey: string): boolean;
|
|
6
7
|
export interface UseSeatResult {
|
|
7
|
-
|
|
8
|
+
/** True while this user is holding one of the org's concurrent seats. */
|
|
8
9
|
active: boolean;
|
|
10
|
+
/** Why not, when `active` is false — 'seats_full' is the one to render. */
|
|
11
|
+
reason: SeatClaim['reason'];
|
|
12
|
+
/** Seats the org is licensed for. */
|
|
13
|
+
seats: number;
|
|
14
|
+
/** Seats occupied across the org right now, this one included. */
|
|
15
|
+
inUse: number;
|
|
16
|
+
/** Minutes of idleness after which a seat frees itself. */
|
|
17
|
+
ttlMinutes: number;
|
|
9
18
|
loading: boolean;
|
|
10
19
|
}
|
|
11
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Take and hold one of the org's floating concurrent seats for as long as this
|
|
22
|
+
* component is mounted.
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ This is not a read. Before 2026-09-04 it asked "is there a seats row with
|
|
25
|
+
* my name on it" — the named-seat model, which is not what we sell. A seat is
|
|
26
|
+
* now occupied by a live session and freed automatically when that session goes
|
|
27
|
+
* idle, so asking the question IS taking the seat. Only call it from a product
|
|
28
|
+
* that genuinely gates on a licensed seat; a free utility that calls it will
|
|
29
|
+
* take the customer's seat while it sits in a background tab.
|
|
30
|
+
*/
|
|
12
31
|
export declare function useSeat(): UseSeatResult;
|
|
13
32
|
//# sourceMappingURL=access.d.ts.map
|
package/dist/access.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA6C7C,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAG1D;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,MAAM,EAAM,OAAO,CAAA;IACnB,2EAA2E;IAC3E,MAAM,EAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC/B,qCAAqC;IACrC,KAAK,EAAO,MAAM,CAAA;IAClB,kEAAkE;IAClE,KAAK,EAAO,MAAM,CAAA;IAClB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAK,OAAO,CAAA;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAUvC"}
|
package/dist/access.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useEffect, useState } from 'react';
|
|
3
3
|
import { useUniversal } from './provider.js';
|
|
4
|
+
import { useSeatSession } from './seatSession.js';
|
|
4
5
|
function useAccessRows() {
|
|
5
6
|
const { supabase, session, activeOrgId } = useUniversal();
|
|
6
7
|
const [state, setState] = useState({ rows: [], loading: true });
|
|
@@ -41,36 +42,26 @@ export function useHasFeature(featureKey) {
|
|
|
41
42
|
const feature = rest.join('.');
|
|
42
43
|
return rows.some((r) => r.product === product && r.feature === feature && r.granted);
|
|
43
44
|
}
|
|
44
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Take and hold one of the org's floating concurrent seats for as long as this
|
|
47
|
+
* component is mounted.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ This is not a read. Before 2026-09-04 it asked "is there a seats row with
|
|
50
|
+
* my name on it" — the named-seat model, which is not what we sell. A seat is
|
|
51
|
+
* now occupied by a live session and freed automatically when that session goes
|
|
52
|
+
* idle, so asking the question IS taking the seat. Only call it from a product
|
|
53
|
+
* that genuinely gates on a licensed seat; a free utility that calls it will
|
|
54
|
+
* take the customer's seat while it sits in a background tab.
|
|
55
|
+
*/
|
|
45
56
|
export function useSeat() {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
.from('seats')
|
|
56
|
-
.select('*')
|
|
57
|
-
.eq('org_id', activeOrgId)
|
|
58
|
-
.eq('assigned_user_id', session.user.id)
|
|
59
|
-
.eq('status', 'active')
|
|
60
|
-
.maybeSingle()
|
|
61
|
-
.then(({ data }) => {
|
|
62
|
-
if (cancelled)
|
|
63
|
-
return;
|
|
64
|
-
setState({
|
|
65
|
-
seat: data ?? null,
|
|
66
|
-
active: !!data,
|
|
67
|
-
loading: false,
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
return () => {
|
|
71
|
-
cancelled = true;
|
|
72
|
-
};
|
|
73
|
-
}, [supabase, session, activeOrgId]);
|
|
74
|
-
return state;
|
|
57
|
+
const claim = useSeatSession();
|
|
58
|
+
return {
|
|
59
|
+
active: claim.held,
|
|
60
|
+
reason: claim.reason,
|
|
61
|
+
seats: claim.seats,
|
|
62
|
+
inUse: claim.inUse,
|
|
63
|
+
ttlMinutes: claim.ttlMinutes,
|
|
64
|
+
loading: claim.loading,
|
|
65
|
+
};
|
|
75
66
|
}
|
|
76
67
|
//# sourceMappingURL=access.js.map
|
package/dist/access.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"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"}
|
package/dist/admin.d.ts
CHANGED
|
@@ -9,36 +9,31 @@ export declare function useOrgMembers(orgId?: string): UseOrgMembersResult;
|
|
|
9
9
|
export interface UseOrgSeatsResult {
|
|
10
10
|
seats: Seat[];
|
|
11
11
|
pool: SeatPool;
|
|
12
|
+
/** True for a seat whose holder is still inside the idle TTL. */
|
|
13
|
+
isLive: (seat: Seat) => boolean;
|
|
12
14
|
loading: boolean;
|
|
13
15
|
refresh: () => void;
|
|
14
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* The org's concurrent-seat pool and who is in it RIGHT NOW.
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ This is a snapshot of a moving number. Seats free themselves as people go
|
|
21
|
+
* idle, so two reads a minute apart legitimately differ, and a stale row on
|
|
22
|
+
* screen is normal rather than a bug. Callers that show it should offer a
|
|
23
|
+
* refresh rather than pretending it is settled state.
|
|
24
|
+
*/
|
|
15
25
|
export declare function useOrgSeats(orgId?: string): UseOrgSeatsResult;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
export
|
|
27
|
-
ok: true;
|
|
28
|
-
} | {
|
|
29
|
-
ok: false;
|
|
30
|
-
error: string;
|
|
31
|
-
}>;
|
|
32
|
-
export declare function reassignSeat(supabase: ReturnType<typeof useUniversal>['supabase'], args: {
|
|
33
|
-
seatId: string;
|
|
34
|
-
newUserId: string;
|
|
35
|
-
assignedByUserId: string;
|
|
36
|
-
}): Promise<{
|
|
37
|
-
ok: true;
|
|
38
|
-
} | {
|
|
39
|
-
ok: false;
|
|
40
|
-
error: string;
|
|
41
|
-
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Sign a colleague out of the concurrent seat they are holding, freeing it for
|
|
28
|
+
* someone else (org admin, or the platform admin from god-mode).
|
|
29
|
+
*
|
|
30
|
+
* ⚠️ This replaced `assignSeat` / `revokeSeat` / `reassignSeat` on 2026-09-04.
|
|
31
|
+
* Those managed a NAMED assignment — giving a person a seat, taking it back —
|
|
32
|
+
* which is not what a floating concurrent licence is. There is no assignment
|
|
33
|
+
* left to make: a seat is taken by whoever opens the product next, and the only
|
|
34
|
+
* meaningful admin action is ending a session that is holding one.
|
|
35
|
+
*/
|
|
36
|
+
export { adminReleaseSeat, releaseHeldSeat, seatIdleTtlMinutes } from './seatSession.js';
|
|
42
37
|
export interface UseAuditLogOptions {
|
|
43
38
|
limit?: number;
|
|
44
39
|
orgId?: string;
|
|
@@ -239,11 +234,20 @@ export interface EntitlementVerdict {
|
|
|
239
234
|
/** Final yes/no — true if the user can start a new assessment right now. */
|
|
240
235
|
authorised: boolean;
|
|
241
236
|
/** Why not, when `authorised` is false. */
|
|
242
|
-
reason: null | 'loading' | 'no_org'
|
|
237
|
+
reason: null | 'loading' | 'no_org'
|
|
238
|
+
/** Every licensed concurrent seat is occupied by a colleague right now.
|
|
239
|
+
* Temporary by nature — unlike the others, waiting fixes it. */
|
|
240
|
+
| 'seats_full' | 'no_seat' | 'no_subscription' | 'expired_and_out_of_credits';
|
|
243
241
|
/** Active subscription details, when present. */
|
|
244
242
|
subscription: Subscription | null;
|
|
245
|
-
/** True if the user
|
|
243
|
+
/** True if the user is holding one of the org's concurrent seats. */
|
|
246
244
|
hasActiveSeat: boolean;
|
|
245
|
+
/** Seats the org is licensed for (0 until loaded). */
|
|
246
|
+
seatCount: number;
|
|
247
|
+
/** Seats occupied across the org right now. */
|
|
248
|
+
seatsInUse: number;
|
|
249
|
+
/** Minutes of idleness after which an occupied seat frees itself. */
|
|
250
|
+
seatIdleTtlMinutes: number;
|
|
247
251
|
/** True if subscription.current_period_end > now. */
|
|
248
252
|
hasActiveSubscription: boolean;
|
|
249
253
|
/** True if subscription.credits > 0. */
|
package/dist/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../src/admin.ts"],"names":[],"mappings":"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"}
|