@atlasauth/react 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/flow.d.ts CHANGED
@@ -63,6 +63,36 @@ export declare function useFlow(): {
63
63
  client: FapiClient;
64
64
  finish: (next: FlowState) => Promise<void>;
65
65
  };
66
+ /**
67
+ * §6 shared native-Google wiring, reused by the built-in {@link GoogleSignInButton}
68
+ * AND the headless `<SocialSignInButton provider="google">` primitive — so a team
69
+ * that renders its OWN Google button gets the same in-page GSI flow, never a
70
+ * redirect that strands the tab.
71
+ *
72
+ * It discovers — dynamically, from `/v1/client/environment`, so it always honours
73
+ * the tenant's own Connections config — whether the instance exposes Google as a
74
+ * native (id_token / GSI) provider with a public client_id. When it does, it mints
75
+ * a single-use replay-binding nonce and overlays Google's real (but transparent)
76
+ * button onto `ref`'s node, so a click there mints an id_token in-page. Each
77
+ * resulting credential is handed to `onCredential(idToken, nonce)` — the caller
78
+ * decides how to complete the sign-in (post to the native endpoint, exchange the
79
+ * ticket, react to a second factor). `active` reports whether the overlay is live,
80
+ * so a caller can suppress its own redirect handler while Google is handled in
81
+ * page and fall back to redirect/popup when it is not.
82
+ *
83
+ * `enabled` (default true) lets a caller opt out entirely, e.g. for a non-Google
84
+ * provider — the discovery fetch and overlay are then skipped.
85
+ */
86
+ export declare function useGoogleNativeOverlay(ref: {
87
+ current: HTMLElement | null;
88
+ }, opts: {
89
+ client: FapiClient;
90
+ onCredential: (idToken: string, nonce: string) => void | Promise<void>;
91
+ oneTap?: boolean;
92
+ enabled?: boolean;
93
+ }): {
94
+ active: boolean;
95
+ };
66
96
  /**
67
97
  * §6 all enabled social sign-in providers, native-first.
68
98
  *
package/dist/flow.js CHANGED
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AttemptFlow = AttemptFlow;
4
4
  exports.useFlow = useFlow;
5
+ exports.useGoogleNativeOverlay = useGoogleNativeOverlay;
5
6
  exports.SocialSignInButtons = SocialSignInButtons;
6
7
  const jsx_runtime_1 = require("react/jsx-runtime");
7
8
  const react_1 = require("react");
@@ -136,25 +137,34 @@ function GoogleMark() {
136
137
  return ((0, jsx_runtime_1.jsxs)("svg", { className: "atlas-social-icon", width: "18", height: "18", viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", children: [(0, jsx_runtime_1.jsx)("path", { fill: "#4285F4", d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" }), (0, jsx_runtime_1.jsx)("path", { fill: "#34A853", d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" }), (0, jsx_runtime_1.jsx)("path", { fill: "#FBBC05", d: "M5.84 14.1c-.22-.66-.35-1.36-.35-2.1s.13-1.44.35-2.1V7.06H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.94l3.66-2.84z" }), (0, jsx_runtime_1.jsx)("path", { fill: "#EA4335", d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.06l3.66 2.84C6.71 7.31 9.14 5.38 12 5.38z" })] }));
137
138
  }
138
139
  /**
139
- * §6 the native "Sign in with Google" button (GSI id_token flow — no secret, no
140
- * redirect). Discovers whether Google native sign-in is enabled for the instance
141
- * via `/v1/client/environment`; if so it mints a single-use replay-binding nonce
142
- * and renders OUR OWN themed button, backed by Google's real (but transparent)
143
- * GSI button overlaid on top. The user sees a button that inherits the app's
144
- * appearance (the `socialButton` element key / `atlas-social-button` class, so
145
- * `appearance.elements.socialButton` and the design tokens theme it like every
146
- * other control) — NOT Google's fixed, unstyleable button. On a returned
147
- * credential the id_token is posted to the native endpoint and completes through
148
- * the shared `finish`. Renders nothing when Google native sign-in isn't enabled.
140
+ * §6 shared native-Google wiring, reused by the built-in {@link GoogleSignInButton}
141
+ * AND the headless `<SocialSignInButton provider="google">` primitive — so a team
142
+ * that renders its OWN Google button gets the same in-page GSI flow, never a
143
+ * redirect that strands the tab.
149
144
  *
150
- * One-Tap stays off unless `oneTap` is set (see {@link FlowProps.googleOneTap}).
145
+ * It discovers — dynamically, from `/v1/client/environment`, so it always honours
146
+ * the tenant's own Connections config — whether the instance exposes Google as a
147
+ * native (id_token / GSI) provider with a public client_id. When it does, it mints
148
+ * a single-use replay-binding nonce and overlays Google's real (but transparent)
149
+ * button onto `ref`'s node, so a click there mints an id_token in-page. Each
150
+ * resulting credential is handed to `onCredential(idToken, nonce)` — the caller
151
+ * decides how to complete the sign-in (post to the native endpoint, exchange the
152
+ * ticket, react to a second factor). `active` reports whether the overlay is live,
153
+ * so a caller can suppress its own redirect handler while Google is handled in
154
+ * page and fall back to redirect/popup when it is not.
155
+ *
156
+ * `enabled` (default true) lets a caller opt out entirely, e.g. for a non-Google
157
+ * provider — the discovery fetch and overlay are then skipped.
151
158
  */
152
- function GoogleSignInButton({ client, onComplete, oneTap, }) {
153
- const ref = (0, react_1.useRef)(null);
154
- const socialButtonClass = (0, components_shared_1.useClass)('socialButton', 'atlas-social-button');
159
+ function useGoogleNativeOverlay(ref, opts) {
160
+ const { client, onCredential, oneTap, enabled = true } = opts;
155
161
  const [clientId, setClientId] = (0, react_1.useState)(null);
156
162
  // Discover the Google client_id (exposed only for native-enabled providers).
157
163
  (0, react_1.useEffect)(() => {
164
+ if (!enabled) {
165
+ setClientId(null);
166
+ return;
167
+ }
158
168
  let alive = true;
159
169
  void (async () => {
160
170
  const res = await client.get('/v1/client/environment');
@@ -165,11 +175,11 @@ function GoogleSignInButton({ client, onComplete, oneTap, }) {
165
175
  return () => {
166
176
  alive = false;
167
177
  };
168
- }, [client]);
169
- // Overlay Google's invisible button on our themed one once client_id is known.
178
+ }, [client, enabled]);
179
+ // Overlay Google's invisible button on the caller's node once client_id is known.
170
180
  (0, react_1.useEffect)(() => {
171
181
  const wrapper = ref.current;
172
- if (!clientId || !wrapper)
182
+ if (!enabled || !clientId || !wrapper)
173
183
  return;
174
184
  let cancelled = false;
175
185
  let handle;
@@ -183,10 +193,7 @@ function GoogleSignInButton({ client, onComplete, oneTap, }) {
183
193
  nonce,
184
194
  oneTap: oneTap ?? false,
185
195
  onCredential: (idToken) => {
186
- void (async () => {
187
- const next = await (0, js_1.nativeSignIn)(client, { provider: 'google', idToken, nonce });
188
- await onComplete(next);
189
- })();
196
+ void onCredential(idToken, nonce);
190
197
  },
191
198
  });
192
199
  })();
@@ -194,8 +201,32 @@ function GoogleSignInButton({ client, onComplete, oneTap, }) {
194
201
  cancelled = true;
195
202
  handle?.destroy();
196
203
  };
197
- }, [client, clientId, oneTap, onComplete]);
198
- if (!clientId)
204
+ }, [ref, client, clientId, oneTap, enabled, onCredential]);
205
+ return { active: enabled && clientId != null };
206
+ }
207
+ /**
208
+ * §6 the native "Sign in with Google" button (GSI id_token flow — no secret, no
209
+ * redirect). Discovers whether Google native sign-in is enabled for the instance
210
+ * via `/v1/client/environment`; if so it mints a single-use replay-binding nonce
211
+ * and renders OUR OWN themed button, backed by Google's real (but transparent)
212
+ * GSI button overlaid on top. The user sees a button that inherits the app's
213
+ * appearance (the `socialButton` element key / `atlas-social-button` class, so
214
+ * `appearance.elements.socialButton` and the design tokens theme it like every
215
+ * other control) — NOT Google's fixed, unstyleable button. On a returned
216
+ * credential the id_token is posted to the native endpoint and completes through
217
+ * the shared `finish`. Renders nothing when Google native sign-in isn't enabled.
218
+ *
219
+ * One-Tap stays off unless `oneTap` is set (see {@link FlowProps.googleOneTap}).
220
+ */
221
+ function GoogleSignInButton({ client, onComplete, oneTap, }) {
222
+ const ref = (0, react_1.useRef)(null);
223
+ const socialButtonClass = (0, components_shared_1.useClass)('socialButton', 'atlas-social-button');
224
+ const onCredential = (0, react_1.useCallback)(async (idToken, nonce) => {
225
+ const next = await (0, js_1.nativeSignIn)(client, { provider: 'google', idToken, nonce });
226
+ await onComplete(next);
227
+ }, [client, onComplete]);
228
+ const { active } = useGoogleNativeOverlay(ref, { client, onCredential, oneTap });
229
+ if (!active)
199
230
  return null;
200
231
  // Our styled button; GSI's transparent real button is overlaid onto this node.
201
232
  // Defaults are driven by the appearance design tokens (`--atlas-*` set on
@@ -269,8 +300,10 @@ function SocialSignInButtons({ client, onComplete, oneTap, oauthMode, }) {
269
300
  // gets its own in-page button in a later pass; the rest use redirect.
270
301
  .filter((p) => p.provider !== 'google')
271
302
  // Carry the per-instance branding label override (e.g. "Continue with
272
- // Discord" for the `restorehub` connector) through to the button text.
273
- .map((p) => ({ provider: p.provider, label: p.label }));
303
+ // Discord") and the resolved icon (built-in brand SVG or a tenant
304
+ // override URL) through to the button — so github (native) and a custom
305
+ // provider both render their mark, not label-only.
306
+ .map((p) => ({ provider: p.provider, label: p.label, icon: p.icon }));
274
307
  if (alive)
275
308
  setRedirectProviders(list);
276
309
  })();
@@ -313,9 +346,9 @@ function SocialSignInButtons({ client, onComplete, oneTap, oauthMode, }) {
313
346
  window.location.href = res.authorizationUrl;
314
347
  })();
315
348
  }, [client, effectiveMode, onComplete]);
316
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(GoogleSignInButton, { client: client, onComplete: onComplete, oneTap: oneTap }), redirectProviders.map(({ provider, label }) => ((0, jsx_runtime_1.jsx)("div", { className: socialButtonClass, "data-atlas": "social-signin", "data-atlas-provider": provider, role: "button", tabIndex: 0, style: DEFAULT_SOCIAL_BUTTON_STYLE, onClick: () => startSocial(provider), onKeyDown: (e) => {
349
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(GoogleSignInButton, { client: client, onComplete: onComplete, oneTap: oneTap }), redirectProviders.map(({ provider, label, icon }) => ((0, jsx_runtime_1.jsxs)("div", { className: socialButtonClass, "data-atlas": "social-signin", "data-atlas-provider": provider, role: "button", tabIndex: 0, style: DEFAULT_SOCIAL_BUTTON_STYLE, onClick: () => startSocial(provider), onKeyDown: (e) => {
317
350
  if (e.key === 'Enter' || e.key === ' ')
318
351
  startSocial(provider);
319
- }, children: (0, jsx_runtime_1.jsx)("span", { className: "atlas-social-label", children: label ?? `Continue with ${providerLabel(provider)}` }) }, provider)))] }));
352
+ }, children: [icon?.type === 'svg' ? ((0, jsx_runtime_1.jsx)("span", { className: "atlas-social-icon", "aria-hidden": true, dangerouslySetInnerHTML: { __html: icon.value } })) : icon?.type === 'url' ? ((0, jsx_runtime_1.jsx)("span", { className: "atlas-social-icon", children: (0, jsx_runtime_1.jsx)("img", { src: icon.value, width: 18, height: 18, alt: "", loading: "lazy" }) })) : null, (0, jsx_runtime_1.jsx)("span", { className: "atlas-social-label", children: label ?? `Continue with ${providerLabel(provider)}` })] }, provider)))] }));
320
353
  }
321
354
  //# sourceMappingURL=flow.js.map
package/dist/flow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.tsx"],"names":[],"mappings":"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"}
package/dist/sign-in.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode, type ButtonHTMLAttributes } from 'react';
2
2
  import { type OAuthPopupHandlers } from '@atlasauth/js';
3
- import { type FlowState } from './fapi';
3
+ import { FapiClient, type FlowState } from './fapi';
4
4
  import { type FlowProps } from './flow';
5
5
  export declare function SignIn(props?: FlowProps): import("react").JSX.Element;
6
6
  /**
@@ -12,6 +12,7 @@ export declare function SignIn(props?: FlowProps): import("react").JSX.Element;
12
12
  * the caller can react to `needs_second_factor` etc.
13
13
  */
14
14
  export declare function useSignIn(): {
15
+ client: FapiClient;
15
16
  mintNonce: (provider: string) => Promise<string | null>;
16
17
  signInWithIdToken: (input: {
17
18
  provider: string;
@@ -28,9 +29,19 @@ export declare function useSignIn(): {
28
29
  /**
29
30
  * §10.2 `<SocialSignInButton>` — a headless social/OIDC sign-in button primitive
30
31
  * (a single provider). Lets a team keep their own login card and still get
31
- * Atlas's managed popup (or redirect) flow for a provider. `mode` defaults to the `<AtlasProvider oauthMode>`
32
+ * Atlas's managed flow for a provider. `mode` defaults to the `<AtlasProvider oauthMode>`
32
33
  * value, else redirect. Lifecycle callbacks (`onOpen`/`onError`/`onBlockedFallback`)
33
34
  * fire only in popup mode.
35
+ *
36
+ * §6 GOOGLE is handled in-page: when the instance has Google enabled as a native
37
+ * (GSI id_token) provider, this button keeps YOUR styling but overlays Google's
38
+ * invisible real button on it, so a click mints an id_token in-page — no redirect,
39
+ * no "close this tab" page, no stranded tab. That is the exact behaviour teams
40
+ * were hand-rolling as a workaround; they can now drop it and just use this
41
+ * primitive. It is fully dynamic: the native path lights up only when the tenant
42
+ * has configured native Google, and otherwise (or for any other provider) the
43
+ * button falls back to the managed popup/redirect flow. `disabled` (a native
44
+ * button prop) is honoured either way.
34
45
  */
35
46
  export declare function SocialSignInButton({ provider, mode, children, onOpen, onError, onBlockedFallback, ...buttonProps }: {
36
47
  provider: string;
package/dist/sign-in.js CHANGED
@@ -70,22 +70,69 @@ function useSignIn() {
70
70
  if (res)
71
71
  window.location.href = res.authorizationUrl;
72
72
  }, [client, reload]);
73
- return { mintNonce, signInWithIdToken, startOauth };
73
+ return { client, mintNonce, signInWithIdToken, startOauth };
74
74
  }
75
75
  /**
76
76
  * §10.2 `<SocialSignInButton>` — a headless social/OIDC sign-in button primitive
77
77
  * (a single provider). Lets a team keep their own login card and still get
78
- * Atlas's managed popup (or redirect) flow for a provider. `mode` defaults to the `<AtlasProvider oauthMode>`
78
+ * Atlas's managed flow for a provider. `mode` defaults to the `<AtlasProvider oauthMode>`
79
79
  * value, else redirect. Lifecycle callbacks (`onOpen`/`onError`/`onBlockedFallback`)
80
80
  * fire only in popup mode.
81
+ *
82
+ * §6 GOOGLE is handled in-page: when the instance has Google enabled as a native
83
+ * (GSI id_token) provider, this button keeps YOUR styling but overlays Google's
84
+ * invisible real button on it, so a click mints an id_token in-page — no redirect,
85
+ * no "close this tab" page, no stranded tab. That is the exact behaviour teams
86
+ * were hand-rolling as a workaround; they can now drop it and just use this
87
+ * primitive. It is fully dynamic: the native path lights up only when the tenant
88
+ * has configured native Google, and otherwise (or for any other provider) the
89
+ * button falls back to the managed popup/redirect flow. `disabled` (a native
90
+ * button prop) is honoured either way.
81
91
  */
82
92
  function SocialSignInButton({ provider, mode, children, onOpen, onError, onBlockedFallback, ...buttonProps }) {
83
- const { startOauth } = useSignIn();
93
+ const { client, signInWithIdToken, startOauth } = useSignIn();
84
94
  const { oauthMode } = (0, AtlasProvider_1.useAtlas)();
85
95
  const effectiveMode = mode ?? oauthMode ?? 'redirect';
86
- return ((0, jsx_runtime_1.jsx)("button", { type: "button", ...buttonProps, onClick: (e) => {
96
+ const isGoogle = provider === 'google';
97
+ // Native Google overlay: complete a returned credential through the shared
98
+ // native path (post id_token → exchange ticket → reload). enabled:false for
99
+ // every other provider skips the discovery fetch and overlay entirely.
100
+ const wrapperRef = (0, react_1.useRef)(null);
101
+ const onCredential = (0, react_1.useCallback)(async (idToken, nonce) => {
102
+ try {
103
+ await signInWithIdToken({ provider: 'google', idToken, nonce });
104
+ }
105
+ catch {
106
+ onError?.('native_sign_in_failed');
107
+ }
108
+ }, [signInWithIdToken, onError]);
109
+ const { active: googleNative } = (0, flow_1.useGoogleNativeOverlay)(wrapperRef, {
110
+ client,
111
+ onCredential,
112
+ enabled: isGoogle,
113
+ });
114
+ const startRedirect = (0, react_1.useCallback)(() => {
115
+ void startOauth({
116
+ provider,
117
+ mode: effectiveMode,
118
+ handlers: { onOpen, onError, onBlockedFallback },
119
+ });
120
+ }, [startOauth, provider, effectiveMode, onOpen, onError, onBlockedFallback]);
121
+ const button = ((0, jsx_runtime_1.jsx)("button", { type: "button", ...buttonProps, onClick: (e) => {
87
122
  buttonProps.onClick?.(e);
88
- void startOauth({ provider, mode: effectiveMode, handlers: { onOpen, onError, onBlockedFallback } });
89
- }, children: children ?? `Continue with ${provider}` }));
123
+ // When the Google overlay is live it catches the click and mints the
124
+ // id_token in-page; this fallback only fires before it is ready or when
125
+ // native Google is not enabled for the instance.
126
+ if (!googleNative)
127
+ startRedirect();
128
+ }, children: children ?? `Continue with ${isGoogle ? 'Google' : provider}` }));
129
+ // For Google, wrap the button in a positioned surface the invisible GSI button
130
+ // is overlaid onto (a ResizeObserver keeps it matched to the button's box so
131
+ // every click lands on it). inline-block shrinks the wrapper to the button so
132
+ // YOUR sizing is untouched; a full-width button still fills it.
133
+ if (isGoogle) {
134
+ return ((0, jsx_runtime_1.jsx)("span", { ref: wrapperRef, style: { position: 'relative', display: 'inline-block' }, children: button }));
135
+ }
136
+ return button;
90
137
  }
91
138
  //# sourceMappingURL=sign-in.js.map
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlasauth/react",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "dependencies": {