@atlasauth/vue 0.2.1 → 0.4.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/CHANGELOG.md ADDED
@@ -0,0 +1,98 @@
1
+ # @atlasauth/vue changelog
2
+
3
+ ## 0.4.0
4
+ - **Safer sign-out.** `signOut(options?)` now resolves `SignOutResult` (`{ revoked: boolean; activeSessionId?: string }`)
5
+ instead of `void` (on `AtlasClient.signOut` and `useAuth().signOut`; existing `await signOut()` call sites keep
6
+ working). The session is remembered before it is revoked (a tombstone in `localStorage`, per Frontend API origin)
7
+ and the revoke is retried once; when the server still can't confirm it, the local sign-out happens anyway and
8
+ `revoked` is `false`. A reload, a token refresh or a tab opened later never re-adopts that session while the
9
+ browser's cookie still carries it, and the revoke is re-tried in the background (the tombstone is dropped once
10
+ it lands). A refresh in flight during sign-out can no longer put the token back. With no session in memory the
11
+ revoke still runs (the session is read from `GET /v1/client`). Built on `SignOutGuard` from `@atlasauth/js`.
12
+ - **`signOut({ strict: true })`** rejects with a `SignOutError` (`code: 'SIGN_OUT_REVOKE_FAILED'`, `sessionId`,
13
+ `status`) when the revoke was not confirmed — after the local sign-out.
14
+ - **Promoted sessions are adopted.** When the server promotes another account signed in on this browser
15
+ (`active_session_id` on the revoke), `signOut()` adopts it and resolves `activeSessionId`.
16
+ - **Sibling tabs.** A tab whose session another tab signed out of (the tombstone reaches it through `localStorage`)
17
+ drops its token and re-checks, so it signs out too.
18
+ - **Popup OAuth landing.** On startup the plugin completes a popup OAuth landing first
19
+ (`completeOAuthPopupLanding()` from `@atlasauth/js`): the result is relayed to the opener and the window closes,
20
+ or, when no opener takes it, the ticket is exchanged here (or the page continues to the step's
21
+ `continuationUrl`). After a ticket exchange inside the Atlas popup the popup hands back to the opener and
22
+ closes (`closeOAuthPopupAfterSignIn()`); an ordinary tab never closes.
23
+ - **Email delivery in the prebuilt components** (from `settings.emailDelivery`, all `true` when the server omits it):
24
+ - `<SignUp>` shows a "can't send email" notice instead of the email + password form when
25
+ `emailDelivery.passwordSignUp` is `false` (new catalog key `signUp.emailUnavailable`, default
26
+ `"This app can't send email right now. Try another sign-in method or contact the app owner."`).
27
+ - `<SignIn>`'s first-factor step now offers "Email me a code" / "Email me a sign-in link" for the server's
28
+ `email_code` / `email_link` strategies, filtered with `offeredFirstFactors()` so they are hidden while the app
29
+ can't deliver email (new catalog keys `signIn.useEmailCode`, `signIn.useEmailLink`; buttons carry
30
+ `data-strategy`).
31
+ - **Added to `FlowController`**: `prepare(strategy: 'email_code' | 'email_link'): Promise<boolean>`
32
+ (`prepare_first_factor`).
33
+ - **Added exports** `SignOutError` and `type SignOutResult` (re-exported from `@atlasauth/js`).
34
+
35
+ ## 0.3.0
36
+ - **`<SignUp>` now creates accounts.** Its first step is a create-account form (the instance's
37
+ configured sign-up fields, email, password and the legal-consent row) that posts
38
+ `POST /v1/client/sign_ups`; the emailed-code step and the ticket exchange then run through the shared
39
+ flow. Previously `<SignUp>` rendered the sign-in identifier step and could not create an account.
40
+ - **Captcha renders automatically.** When the instance turns captcha on for a flow, `<SignUp>` and
41
+ `<SignIn>` show the provider's widget (Turnstile, hCaptcha, reCAPTCHA v2/v3/Enterprise) in the
42
+ configured mode (`visible`, `managed`, or `invisible` — run on submit), send its token as
43
+ `captcha_token`, answer the sign-in `needs_captcha` step (continuing as soon as it is solved), and on
44
+ `CAPTCHA_REQUIRED` / `CAPTCHA_FAILED` show a localized message and a fresh widget.
45
+ - **Added to `FlowController`** (returned by `useSignIn()` / `useSignUp()`): `create(values, consent?)`,
46
+ `settings: ShallowRef<InstanceSettings | null>`, `captcha: CaptchaController`,
47
+ `signUpCaptcha: CaptchaController`.
48
+ - **Added type re-exports** `InstanceSettings`, `PublicSignUpField`, `CaptchaController`,
49
+ `CaptchaFlowKey`, `CaptchaWidgetMode`, `FlowCaptcha` from `@atlasauth/js`.
50
+ - **Added catalog keys** (en-US): `signUp.emailLabel`, `signUp.passwordLabel`, `signUp.optionalField`,
51
+ `signUp.selectPlaceholder`, `signUp.consentAgree`, `signUp.consentNotice`, `signUp.terms`,
52
+ `signUp.privacy`, `signUp.and`, `captcha.prompt`, `captcha.required`, `captcha.failed`.
53
+ - New element classes `atlas-captcha`, `atlas-consent`, `atlas-choices`, `atlas-choice`, `atlas-text`,
54
+ `atlas-link`; the flow's inputs now carry `name` attributes.
55
+ - **`frontendApi` is validated at `createAtlas()`.** A missing (or non-string) or malformed value now throws an
56
+ `AtlasConfigError` (from `@atlasauth/js`; `code: 'FRONTEND_API_REQUIRED'` or `'FRONTEND_API_INVALID'`)
57
+ instead of silently sending requests to relative URLs on the app's own origin. Accepted: an absolute
58
+ `https:` URL (`http:` only for localhost / local development hosts), or `"same-origin"` / a root-relative path such as `"/atlas"` for a reverse proxy.
59
+ - **Deprecated:** `frontendApi: ""` (the original same-origin spelling) still works as same-origin, with a
60
+ one-time console warning; use `"same-origin"` instead.
61
+
62
+ ## 0.2.1
63
+ - **Front-channel logout on sign-out.** `signOut()` now loads the `frontchannel_logout_urls` the
64
+ Frontend API returns (apps signed in with "Sign in with Atlas" through this session) in hidden,
65
+ sandboxed iframes, so those apps clear their sessions in this browser too. It waits until the frames
66
+ load or 5 s pass, never fails the sign-out, only loads `https:` URLs (and `http://localhost`), and
67
+ does nothing during SSR. Pass `signOut({ frontchannel: false })` to skip it.
68
+
69
+ ## 0.2.0
70
+ - **Design system.** `createAtlas` now applies the design configured in the Atlas dashboard
71
+ automatically (fetched from the Frontend API; opt out with `appearance.instanceDesign: false`).
72
+ - **New `appearance.preset` and `appearance.design`** — the same settings and semantics as
73
+ `@atlasauth/react`: dashboard design < `preset` < `variables` < `design`. Invalid values are dropped
74
+ with a development warning and never reach CSS. The document root gets stable `data-atlas-*`
75
+ attributes and the `--atlas-*` design variables; web fonts are linked from your Frontend API.
76
+ - `appearance.variables` / `baseTheme` are unchanged when no design is in play.
77
+ - New dependency: `@atlasauth/design`.
78
+
79
+ ## 0.1.5
80
+ - **`useAuth()` now also returns `status` and `session`.** `status` is a ref holding the three-state `AuthStatus` (`loading` | `signed_in` | `signed_out`) and `session` a ref holding the active session or `null`; both come from the same source as `isLoaded` / `isSignedIn`.
81
+ - README uses the published `@atlasauth/*` package names.
82
+
83
+ ## 0.1.4
84
+ - **Docs fix.** Frontend API host example uses a single-label host (`your-instance-fapi.atlasauth.net`).
85
+
86
+ ## 0.1.3
87
+ - **Metadata.** Added `repository` (monorepo + package directory), `homepage`, and `bugs` so the npm page links back to source.
88
+
89
+ ## 0.1.2
90
+ - **Docs fix.** README Frontend API example now uses `https://your-instance.fapi.atlasauth.net` (was `.atlas.dev`).
91
+
92
+ ## 0.1.1
93
+ - First published release.
94
+ - **Plugin.** `app.use(createAtlas({ publishableKey, frontendApi, ... }))` installs Atlas app-wide.
95
+ - **Composables.** `useAtlas()`, `useUser()`, `useSession()`, `useAuth()`, `useOrganization()`, and the headless flow composables `useSignIn()`, `useSignUp()` and `useFlow()`.
96
+ - **Components.** `SignedIn`, `SignedOut`, `AtlasLoading`, `AtlasLoaded`, `Protect`, `SignIn`, `SignUp`, `UserButton`, `OrganizationSwitcher`, `UserProfile` and `OrganizationProfile`.
97
+ - Appearance, localization and authorization helpers shared with the other Atlas UI SDKs.
98
+
package/README.md CHANGED
@@ -35,7 +35,7 @@ createApp(App)
35
35
  .use(
36
36
  createAtlas({
37
37
  publishableKey: 'pk_live_…',
38
- // frontendApi: 'https://your-instance-fapi.atlasauth.net', // optional FAPI origin
38
+ frontendApi: 'https://your-instance-fapi.atlasauth.net', // required; 'same-origin' behind a reverse proxy
39
39
  // appearance: { baseTheme: 'dark', elements: { formButtonPrimary: 'rounded-xl' } },
40
40
  // localization: myCatalog,
41
41
  }),
@@ -85,6 +85,13 @@ export declare const SignIn: import("vue").DefineComponent<import("vue").Extract
85
85
  }>> & Readonly<{}>, {
86
86
  afterUrl: string;
87
87
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
88
+ /**
89
+ * §10.2 `<SignUp/>` — creates an account. The first step is the create-account
90
+ * form, which POSTs `/v1/client/sign_ups`; from there the flow is server-driven
91
+ * exactly like `<SignIn>` (the emailed-code step, then the ticket exchange).
92
+ * Fields, consent and captcha come from the instance's settings, so turning
93
+ * them on in the dashboard needs no code change.
94
+ */
88
95
  export declare const SignUp: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
89
96
  afterUrl: {
90
97
  type: StringConstructor;
@@ -100,6 +100,34 @@ exports.Protect = (0, vue_1.defineComponent)({
100
100
  };
101
101
  },
102
102
  });
103
+ /**
104
+ * The element a flow's captcha widget draws into (see `createCaptchaController`
105
+ * in `@atlasauth/js`). Renders nothing when the flow needs no captcha.
106
+ */
107
+ function captchaSlot(controller) {
108
+ if (!controller?.needed)
109
+ return null;
110
+ return (0, vue_1.h)('div', {
111
+ key: 'captcha',
112
+ class: 'atlas-captcha',
113
+ 'data-atlas-captcha': '',
114
+ ref: slotRef(controller),
115
+ });
116
+ }
117
+ /**
118
+ * One stable ref callback per controller: Vue re-invokes a CHANGED function
119
+ * ref with null and then the element, which would tear down and redraw the
120
+ * widget on every render (losing a solved token).
121
+ */
122
+ const slotRefs = new WeakMap();
123
+ function slotRef(controller) {
124
+ let ref = slotRefs.get(controller);
125
+ if (!ref) {
126
+ ref = (el) => controller.attach(el ?? null);
127
+ slotRefs.set(controller, ref);
128
+ }
129
+ return ref;
130
+ }
103
131
  /**
104
132
  * The server-driven flow shell.
105
133
  *
@@ -114,16 +142,55 @@ const AttemptFlow = (0, vue_1.defineComponent)({
114
142
  errors: { type: Array, default: () => [] },
115
143
  titleKey: { type: String, required: true },
116
144
  onSubmit: { type: Function, required: true },
145
+ /**
146
+ * The sign-in captcha, drawn above the submit button on the identifier step
147
+ * (an always-on sign-in captcha) and on the challenge step the server
148
+ * demands with `needs_captcha`.
149
+ */
150
+ captcha: { type: Object, default: null },
151
+ /**
152
+ * The instance's `emailDelivery` (from its settings). While the app cannot
153
+ * deliver email, the first-factor step offers no emailed code or link.
154
+ */
155
+ emailDelivery: { type: Object, default: null },
156
+ /**
157
+ * Email a sign-in code or link (sign-in only). Without it the first-factor
158
+ * step offers the password alone.
159
+ */
160
+ onPrepare: {
161
+ type: Function,
162
+ default: undefined,
163
+ },
117
164
  },
118
165
  setup(props) {
119
166
  const t = useText();
120
167
  const cls = useClass();
121
168
  const values = (0, vue_1.reactive)({});
169
+ // The first factor the user picked: the password field by default, or the
170
+ // code field / "check your email" once an emailed code / link was sent.
171
+ const factor = (0, vue_1.ref)('password');
172
+ (0, vue_1.watch)(() => props.attempt?.id, () => {
173
+ factor.value = 'password';
174
+ });
175
+ const emailChoice = (strategy, labelKey) => (0, vue_1.h)('button', {
176
+ key: strategy,
177
+ class: cls('formButtonSecondary', 'atlas-button-secondary'),
178
+ type: 'button',
179
+ 'data-strategy': strategy,
180
+ disabled: props.busy,
181
+ onClick: () => {
182
+ void props.onPrepare?.(strategy).then((sent) => {
183
+ if (sent)
184
+ factor.value = strategy;
185
+ });
186
+ },
187
+ }, t(labelKey));
122
188
  const field = (name, labelKey, type = 'text') => (0, vue_1.h)('label', { class: 'atlas-field', key: name }, [
123
189
  (0, vue_1.h)('span', t(labelKey)),
124
190
  (0, vue_1.h)('input', {
125
191
  class: cls('formFieldInput', 'atlas-input'),
126
192
  type,
193
+ name,
127
194
  value: values[name] ?? '',
128
195
  onInput: (event) => {
129
196
  values[name] = event.target.value;
@@ -133,12 +200,25 @@ const AttemptFlow = (0, vue_1.defineComponent)({
133
200
  .filter((error) => error.param === name)
134
201
  .map((error) => (0, vue_1.h)('span', { class: cls('formFieldError', 'atlas-error'), key: error.code }, error.message)),
135
202
  ]);
136
- const fields = (kind) => {
137
- switch (kind) {
203
+ const fields = (step) => {
204
+ switch (step.kind) {
138
205
  case 'collect_identifier':
139
206
  return [field('identifier', 'signIn.identifierLabel', 'email')];
140
- case 'collect_first_factor':
141
- return [field('password', 'signIn.passwordLabel', 'password')];
207
+ case 'collect_first_factor': {
208
+ if (factor.value === 'email_code')
209
+ return [field('code', 'signIn.emailCodeLabel')];
210
+ if (factor.value === 'email_link') {
211
+ return [(0, vue_1.h)('p', { key: 'link-sent', class: 'atlas-text' }, t('signIn.magicLinkSent'))];
212
+ }
213
+ // The server's list, minus email code / link while the app cannot
214
+ // deliver email (a capability of the app, never of the user).
215
+ const offered = props.onPrepare ? (0, js_1.offeredFirstFactors)(step.strategies, props.emailDelivery) : [];
216
+ return [
217
+ field('password', 'signIn.passwordLabel', 'password'),
218
+ offered.includes('email_code') ? emailChoice('email_code', 'signIn.useEmailCode') : null,
219
+ offered.includes('email_link') ? emailChoice('email_link', 'signIn.useEmailLink') : null,
220
+ ].filter((node) => node !== null);
221
+ }
142
222
  case 'collect_second_factor':
143
223
  return [field('code', 'mfa.codeLabel')];
144
224
  case 'enroll_second_factor':
@@ -152,6 +232,10 @@ const AttemptFlow = (0, vue_1.defineComponent)({
152
232
  return [field('code', 'signIn.emailCodeLabel')];
153
233
  case 'collect_new_password':
154
234
  return [field('password', 'reset.newPasswordLabel', 'password')];
235
+ case 'collect_captcha':
236
+ // §5 the server withheld the attempt until a captcha clears. Solving
237
+ // the widget resubmits the identifier on its own; the button retries.
238
+ return [(0, vue_1.h)('p', { key: 'captcha-prompt', class: 'atlas-text' }, t('captcha.prompt'))];
155
239
  case 'await_oauth':
156
240
  return [(0, vue_1.h)('p', { key: 'oauth' }, t('signIn.magicLinkSent'))];
157
241
  case 'done':
@@ -181,8 +265,13 @@ const AttemptFlow = (0, vue_1.defineComponent)({
181
265
  props.onSubmit({ ...values });
182
266
  },
183
267
  }, [
184
- ...fields(step.kind),
185
- step.kind !== 'done' && step.kind !== 'await_oauth'
268
+ ...fields(step),
269
+ step.kind === 'collect_identifier' || step.kind === 'collect_captcha'
270
+ ? captchaSlot(props.captcha)
271
+ : null,
272
+ step.kind !== 'done' &&
273
+ step.kind !== 'await_oauth' &&
274
+ !(step.kind === 'collect_first_factor' && factor.value === 'email_link')
186
275
  ? (0, vue_1.h)('button', {
187
276
  class: cls('formButtonPrimary', 'atlas-button'),
188
277
  disabled: props.busy,
@@ -201,30 +290,244 @@ exports.SignIn = (0, vue_1.defineComponent)({
201
290
  afterUrl: { type: String, default: undefined },
202
291
  },
203
292
  setup() {
204
- const { state, submit } = (0, flow_1.useFlow)();
205
- return () => (0, vue_1.h)(AttemptFlow, {
206
- attempt: state.value.attempt,
207
- busy: state.value.busy,
208
- errors: state.value.errors,
209
- titleKey: 'signIn.title',
210
- onSubmit: submit,
211
- });
293
+ const { state, submit, prepare, captcha, settings } = (0, flow_1.useFlow)();
294
+ return () => {
295
+ // Read the settings so the form re-renders (drawing the captcha slot)
296
+ // once the instance's captcha config has loaded; the controller is passed
297
+ // only while it draws, so the child sees a changed prop.
298
+ void settings.value;
299
+ return (0, vue_1.h)(AttemptFlow, {
300
+ attempt: state.value.attempt,
301
+ busy: state.value.busy,
302
+ errors: state.value.errors,
303
+ titleKey: 'signIn.title',
304
+ onSubmit: submit,
305
+ captcha: captcha.needed ? captcha : null,
306
+ emailDelivery: settings.value?.emailDelivery ?? null,
307
+ onPrepare: prepare,
308
+ });
309
+ };
212
310
  },
213
311
  });
312
+ /**
313
+ * The create-account step: the instance's configured extra fields, email +
314
+ * password, the legal-consent row and — when the instance requires one on
315
+ * sign-up — the captcha widget. Values live in local state so a refused submit
316
+ * never clears them.
317
+ */
318
+ const SignUpForm = (0, vue_1.defineComponent)({
319
+ name: 'SignUpForm',
320
+ props: {
321
+ settings: { type: Object, default: null },
322
+ busy: { type: Boolean, default: false },
323
+ errors: { type: Array, default: () => [] },
324
+ captcha: { type: Object, default: null },
325
+ onSubmit: {
326
+ type: Function,
327
+ required: true,
328
+ },
329
+ },
330
+ setup(props) {
331
+ const t = useText();
332
+ const cls = useClass();
333
+ const values = (0, vue_1.reactive)({});
334
+ const agreed = (0, vue_1.ref)(false);
335
+ const fieldErrors = (name) => props.errors
336
+ .filter((error) => error.param === name)
337
+ .map((error) => (0, vue_1.h)('span', { class: cls('formFieldError', 'atlas-error'), key: error.code }, error.message));
338
+ const label = (f) => f.required ? f.label : t('signUp.optionalField', { label: f.label });
339
+ const control = (f) => {
340
+ const value = values[f.key] ?? '';
341
+ const set = (v) => {
342
+ values[f.key] = v;
343
+ };
344
+ switch (f.type) {
345
+ case 'checkbox':
346
+ return (0, vue_1.h)('input', {
347
+ type: 'checkbox',
348
+ name: f.key,
349
+ checked: value === 'true',
350
+ onChange: (e) => set(e.target.checked ? 'true' : ''),
351
+ });
352
+ case 'select':
353
+ return (0, vue_1.h)('select', {
354
+ class: cls('formFieldInput', 'atlas-input'),
355
+ name: f.key,
356
+ value,
357
+ required: f.required,
358
+ onChange: (e) => set(e.target.value),
359
+ }, [
360
+ (0, vue_1.h)('option', { value: '' }, f.placeholder ?? t('signUp.selectPlaceholder')),
361
+ ...f.options.map((o) => (0, vue_1.h)('option', { key: o, value: o }, o)),
362
+ ]);
363
+ case 'textarea':
364
+ return (0, vue_1.h)('textarea', {
365
+ class: cls('formFieldInput', 'atlas-input'),
366
+ name: f.key,
367
+ rows: 3,
368
+ value,
369
+ required: f.required,
370
+ placeholder: f.placeholder ?? undefined,
371
+ onInput: (e) => set(e.target.value),
372
+ });
373
+ case 'radio':
374
+ case 'multiselect': {
375
+ // Same encoding as React, the embed widget and the hosted page: one
376
+ // value, or a comma-joined list for multiselect.
377
+ const picked = value ? value.split(', ') : [];
378
+ return (0, vue_1.h)('span', { class: 'atlas-choices' }, f.options.map((o) => (0, vue_1.h)('label', { key: o, class: 'atlas-choice' }, [
379
+ (0, vue_1.h)('input', {
380
+ type: f.type === 'radio' ? 'radio' : 'checkbox',
381
+ name: f.key,
382
+ value: o,
383
+ checked: picked.includes(o),
384
+ onChange: (e) => {
385
+ if (f.type === 'radio')
386
+ set(o);
387
+ else {
388
+ const on = e.target.checked;
389
+ set((on ? [...picked, o] : picked.filter((p) => p !== o)).join(', '));
390
+ }
391
+ },
392
+ }),
393
+ o,
394
+ ])));
395
+ }
396
+ default: {
397
+ const type = ['email', 'tel', 'url', 'number', 'date'].includes(f.type) ? f.type : 'text';
398
+ return (0, vue_1.h)('input', {
399
+ class: cls('formFieldInput', 'atlas-input'),
400
+ type,
401
+ name: f.key,
402
+ value,
403
+ required: f.required,
404
+ placeholder: f.placeholder ?? undefined,
405
+ onInput: (e) => set(e.target.value),
406
+ });
407
+ }
408
+ }
409
+ };
410
+ const textField = (name, labelKey, type, autocomplete) => (0, vue_1.h)('label', { key: name, class: cls('formField', 'atlas-field') }, [
411
+ (0, vue_1.h)('span', { class: cls('formFieldLabel', 'atlas-field-label') }, t(labelKey)),
412
+ (0, vue_1.h)('input', {
413
+ class: cls('formFieldInput', 'atlas-input'),
414
+ type,
415
+ name,
416
+ autocomplete,
417
+ required: true,
418
+ value: values[name] ?? '',
419
+ onInput: (e) => {
420
+ values[name] = e.target.value;
421
+ },
422
+ }),
423
+ ...fieldErrors(name),
424
+ ]);
425
+ return () => {
426
+ const legal = props.settings?.legal;
427
+ const showLegal = !!legal && (!!legal.termsUrl || !!legal.privacyUrl);
428
+ const consentOk = !legal?.required || agreed.value;
429
+ const links = showLegal
430
+ ? [
431
+ legal.termsUrl
432
+ ? (0, vue_1.h)('a', { key: 'terms', class: 'atlas-link', href: legal.termsUrl, target: '_blank', rel: 'noopener noreferrer' }, t('signUp.terms'))
433
+ : null,
434
+ legal.privacyUrl
435
+ ? (0, vue_1.h)('a', { key: 'privacy', class: 'atlas-link', href: legal.privacyUrl, target: '_blank', rel: 'noopener noreferrer' }, t('signUp.privacy'))
436
+ : null,
437
+ ].filter((x) => x !== null)
438
+ : [];
439
+ // The app can't deliver the verification email, so an email + password
440
+ // sign-up could never complete: say so up front instead of a form that
441
+ // fails on submit.
442
+ if (props.settings?.emailDelivery?.passwordSignUp === false) {
443
+ return (0, vue_1.h)('div', { class: cls('card', 'atlas-card') }, [
444
+ (0, vue_1.h)('h1', { class: cls('headerTitle', 'atlas-title') }, t('signUp.title')),
445
+ (0, vue_1.h)('p', { class: cls('formFieldError', 'atlas-error'), role: 'alert', 'data-atlas-email-unavailable': '' }, t('signUp.emailUnavailable')),
446
+ ]);
447
+ }
448
+ return (0, vue_1.h)('div', { class: cls('card', 'atlas-card') }, [
449
+ (0, vue_1.h)('h1', { class: cls('headerTitle', 'atlas-title') }, t('signUp.title')),
450
+ ...props.errors
451
+ .filter((error) => !error.param)
452
+ .map((error) => (0, vue_1.h)('p', { class: cls('formFieldError', 'atlas-error'), role: 'alert', key: error.code }, error.message)),
453
+ (0, vue_1.h)('form', {
454
+ onSubmit: (event) => {
455
+ event.preventDefault();
456
+ if (!consentOk)
457
+ return;
458
+ props.onSubmit({ ...values }, legal?.required ? agreed.value : true);
459
+ },
460
+ }, [
461
+ ...(props.settings?.signUpFields ?? []).map((f) => (0, vue_1.h)(
462
+ // A choice group holds several inputs, so it can't sit inside one <label>.
463
+ f.type === 'radio' || f.type === 'multiselect' ? 'div' : 'label', { key: f.key, class: cls('formField', 'atlas-field') }, [
464
+ (0, vue_1.h)('span', { class: cls('formFieldLabel', 'atlas-field-label') }, label(f)),
465
+ control(f),
466
+ ...fieldErrors(f.key),
467
+ ])),
468
+ textField('email', 'signUp.emailLabel', 'email', 'email'),
469
+ textField('password', 'signUp.passwordLabel', 'password', 'new-password'),
470
+ showLegal
471
+ ? (0, vue_1.h)('label', { key: 'consent', class: cls('formField', 'atlas-consent') }, [
472
+ legal.required
473
+ ? (0, vue_1.h)('input', {
474
+ type: 'checkbox',
475
+ name: 'consent',
476
+ checked: agreed.value,
477
+ onChange: (e) => {
478
+ agreed.value = e.target.checked;
479
+ },
480
+ })
481
+ : null,
482
+ (0, vue_1.h)('span', { class: 'atlas-text' }, [
483
+ t(legal.required ? 'signUp.consentAgree' : 'signUp.consentNotice'),
484
+ ' ',
485
+ ...links.flatMap((link, i) => (i > 0 ? [` ${t('signUp.and')} `, link] : [link])),
486
+ '.',
487
+ ]),
488
+ ...fieldErrors('consent'),
489
+ ])
490
+ : null,
491
+ captchaSlot(props.captcha),
492
+ (0, vue_1.h)('button', {
493
+ class: cls('formButtonPrimary', 'atlas-button'),
494
+ disabled: props.busy || !consentOk,
495
+ type: 'submit',
496
+ }, t('signUp.submit')),
497
+ ]),
498
+ ]);
499
+ };
500
+ },
501
+ });
502
+ /**
503
+ * §10.2 `<SignUp/>` — creates an account. The first step is the create-account
504
+ * form, which POSTs `/v1/client/sign_ups`; from there the flow is server-driven
505
+ * exactly like `<SignIn>` (the emailed-code step, then the ticket exchange).
506
+ * Fields, consent and captcha come from the instance's settings, so turning
507
+ * them on in the dashboard needs no code change.
508
+ */
214
509
  exports.SignUp = (0, vue_1.defineComponent)({
215
510
  name: 'SignUp',
216
511
  props: {
217
512
  afterUrl: { type: String, default: undefined },
218
513
  },
219
514
  setup() {
220
- const { state, submit } = (0, flow_1.useFlow)();
221
- return () => (0, vue_1.h)(AttemptFlow, {
222
- attempt: state.value.attempt,
223
- busy: state.value.busy,
224
- errors: state.value.errors,
225
- titleKey: 'signUp.title',
226
- onSubmit: submit,
227
- });
515
+ const { state, submit, create, settings, signUpCaptcha } = (0, flow_1.useFlow)();
516
+ return () => state.value.attempt
517
+ ? (0, vue_1.h)(AttemptFlow, {
518
+ attempt: state.value.attempt,
519
+ busy: state.value.busy,
520
+ errors: state.value.errors,
521
+ titleKey: 'signUp.title',
522
+ onSubmit: submit,
523
+ })
524
+ : (0, vue_1.h)(SignUpForm, {
525
+ settings: settings.value,
526
+ busy: state.value.busy,
527
+ errors: state.value.errors,
528
+ captcha: signUpCaptcha.needed ? signUpCaptcha : null,
529
+ onSubmit: create,
530
+ });
228
531
  },
229
532
  });
230
533
  exports.UserButton = (0, vue_1.defineComponent)({
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ComputedRef, type ShallowRef } from 'vue';
2
- import type { ProviderToken, SignOutOptions } from '@atlasauth/js';
2
+ import type { ProviderToken, SignOutOptions, SignOutResult } from '@atlasauth/js';
3
3
  import type { AuthStatus } from './plugin';
4
4
  import { type ProtectCondition } from './protect';
5
5
  import type { AtlasOrganizationMembership, AtlasSession, AtlasUser } from './types';
@@ -42,7 +42,8 @@ export declare function useAuth(): {
42
42
  orgRole: ComputedRef<string | null>;
43
43
  getToken(): Promise<string | null>;
44
44
  getProviderToken(provider: string): Promise<ProviderToken | null>;
45
- signOut(options?: SignOutOptions): Promise<void>;
45
+ /** Resolves `{ revoked, activeSessionId? }`; `{ strict: true }` rejects with `SignOutError` (see `AtlasClient.signOut`). */
46
+ signOut(options?: SignOutOptions): Promise<SignOutResult>;
46
47
  has(condition: ProtectCondition): boolean;
47
48
  };
48
49
  export declare function useOrganization(): {
@@ -1 +1 @@
1
- {"version":3,"file":"composables.js","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":";;AAkBA,0BAmBC;AAED,gCASC;AAED,0BAkCC;AAED,0CAmBC;AAzGD,6BAAkE;AAElE,uCAAqC;AAErC,uCAA4D;AAG5D;;;;;;;;;GASG;AAEH,SAAgB,OAAO;IAYrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACtD,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,UAAU,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;QACxD,IAAI;QACJ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU;IAIxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAgB,OAAO;IAgBrB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACpF,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,UAAU,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;QACxD,MAAM;QACN,OAAO;QACP,MAAM,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC;QACjD,SAAS,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC;QACpD,KAAK,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAE,MAAM,CAAC,KAAK,EAAE,MAA6B,IAAI,IAAI,CAAC;QAC3E,OAAO,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAE,MAAM,CAAC,KAAK,EAAE,QAA+B,IAAI,IAAI,CAAC;QAC/E,4EAA4E;QAC5E,QAAQ;QACR,4EAA4E;QAC5E,gBAAgB;QAChB,OAAO;QACP,kEAAkE;QAClE,GAAG,EAAE,CAAC,SAA2B,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO;KAChF,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe;IAO7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAA,cAAQ,EACrB,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CACxF,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,YAAY,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC;QAChE,UAAU,EAAE,MAAM;QAClB,WAAW;QACX,SAAS,EAAE,qBAAqB;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"composables.js","sourceRoot":"","sources":["../src/composables.ts"],"names":[],"mappings":";;AAkBA,0BAmBC;AAED,gCASC;AAED,0BAmCC;AAED,0CAmBC;AA1GD,6BAAkE;AAElE,uCAAqC;AAErC,uCAA4D;AAG5D;;;;;;;;;GASG;AAEH,SAAgB,OAAO;IAYrB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACtD,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,UAAU,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;QACxD,IAAI;QACJ,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU;IAIxB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAgB,OAAO;IAiBrB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IACpF,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,UAAU,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,WAAW,CAAC;QACxD,MAAM;QACN,OAAO;QACP,MAAM,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC;QACjD,SAAS,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC;QACpD,KAAK,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAE,MAAM,CAAC,KAAK,EAAE,MAA6B,IAAI,IAAI,CAAC;QAC3E,OAAO,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAE,MAAM,CAAC,KAAK,EAAE,QAA+B,IAAI,IAAI,CAAC;QAC/E,4EAA4E;QAC5E,QAAQ;QACR,4EAA4E;QAC5E,gBAAgB;QAChB,OAAO;QACP,kEAAkE;QAClE,GAAG,EAAE,CAAC,SAA2B,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,OAAO;KAChF,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe;IAO7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAA,kBAAQ,GAAE,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAA,cAAQ,EACrB,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,CACxF,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QACpD,YAAY,EAAE,IAAA,cAAQ,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC;QAChE,UAAU,EAAE,MAAM;QAClB,WAAW;QACX,SAAS,EAAE,qBAAqB;KACjC,CAAC;AACJ,CAAC"}
package/dist/flow.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type ShallowRef } from 'vue';
2
+ import { type CaptchaController, type InstanceSettings } from '@atlasauth/js';
2
3
  import { type FlowState } from './fapi';
3
4
  /**
4
5
  * §10.2 the server-driven sign-in / sign-up flow, as a composable.
@@ -6,17 +7,45 @@ import { type FlowState } from './fapi';
6
7
  * The Vue peer of the React SDK's internal `useFlow`. It never decides what
7
8
  * comes next — it drives the flow through `advance`, which owns the
8
9
  * step-to-endpoint mapping in `@atlasauth/js`, and renders whatever `status` the
9
- * server returned. `useSignIn` and `useSignUp` are the same driver; only the
10
- * `<SignIn>` / `<SignUp>` title differs, exactly as in React.
10
+ * server returned. Sign-in and sign-up share it: `<SignUp>` starts the attempt
11
+ * with {@link FlowController.create} (`POST /v1/client/sign_ups`), then the
12
+ * emailed-code step runs through the same `submit`, exactly as in React.
11
13
  */
12
14
  export interface FlowController {
13
15
  /** The current server-driven attempt state. */
14
16
  state: ShallowRef<FlowState>;
15
17
  /** Post the current step's fields; the server decides the next status. */
16
18
  submit(values: Record<string, string>): void;
19
+ /**
20
+ * Create an account (`POST /v1/client/sign_ups`) from a create-account form's
21
+ * values — email, password and any configured sign-up fields — carrying the
22
+ * sign-up captcha's token when the instance requires one. The emailed code is
23
+ * then posted with {@link submit}.
24
+ */
25
+ create(values: Record<string, string>, consent?: boolean): void;
26
+ /**
27
+ * Ask the server to email a sign-in code or link for the current first-factor
28
+ * step (`prepare_first_factor`). Resolves whether it was sent; the code is then
29
+ * posted with {@link submit}, and a link is collected by the poll.
30
+ */
31
+ prepare(strategy: 'email_code' | 'email_link'): Promise<boolean>;
32
+ /**
33
+ * The instance's public sign-in / sign-up settings (captcha, sign-up fields,
34
+ * legal consent, `emailDelivery`) from `GET /v1/appearance`; null until loaded
35
+ * or when the server could not be reached.
36
+ */
37
+ settings: ShallowRef<InstanceSettings | null>;
38
+ /** The sign-in captcha (identifier step / `needs_captcha` challenge). */
39
+ captcha: CaptchaController;
40
+ /** The sign-up captcha (the create-account step). */
41
+ signUpCaptcha: CaptchaController;
17
42
  }
18
43
  export declare function useFlow(): FlowController;
19
44
  /** §10.2 `useSignIn()` — drive a sign-in attempt. */
20
45
  export declare function useSignIn(): FlowController;
21
- /** §10.2 `useSignUp()` — drive a sign-up attempt. */
46
+ /**
47
+ * §10.2 `useSignUp()` — drive a sign-up attempt: `create(values)` posts
48
+ * `/v1/client/sign_ups` (the account is created there), then `submit({ code })`
49
+ * verifies the emailed code and completes the session.
50
+ */
22
51
  export declare function useSignUp(): FlowController;
package/dist/flow.js CHANGED
@@ -4,37 +4,79 @@ exports.useFlow = useFlow;
4
4
  exports.useSignIn = useSignIn;
5
5
  exports.useSignUp = useSignUp;
6
6
  const vue_1 = require("vue");
7
+ const js_1 = require("@atlasauth/js");
7
8
  const fapi_1 = require("./fapi");
8
9
  const context_1 = require("./context");
10
+ const i18n_1 = require("./i18n");
9
11
  function useFlow() {
10
12
  const atlas = (0, context_1.useAtlas)();
11
13
  // Seeded from a redirect that came back mid-flow (e.g. OAuth needing a second
12
14
  // factor), so the user resumes at the demanded step instead of starting over.
13
15
  const state = (0, vue_1.shallowRef)((0, fapi_1.flowFromPending)(atlas.pendingAttempt));
16
+ const settings = (0, vue_1.shallowRef)(null);
17
+ const t = (key) => (0, i18n_1.translate)(atlas.catalog, key);
14
18
  const client = new fapi_1.FapiClient({
15
19
  publishableKey: atlas.publishableKey,
16
20
  baseUrl: atlas.frontendApi,
17
21
  });
22
+ // §5 the per-flow captcha, driven by the instance's settings so turning it on
23
+ // in the dashboard needs no code change. The widgets draw into the slots the
24
+ // components attach.
25
+ const captcha = (0, js_1.createCaptchaController)();
26
+ const signUpCaptcha = (0, js_1.createCaptchaController)();
27
+ let identifier = '';
28
+ // On completion the response carries a one-time ticket (§7.1). Exchange it
29
+ // for cookies over a same-origin request — FAPI is cross-origin to the app
30
+ // and cannot set the cookie on the completion response itself — THEN
31
+ // re-boot so the rest of the app sees a signed-in user.
32
+ const finish = async (next) => {
33
+ state.value = next;
34
+ if (next.attempt?.status === 'complete') {
35
+ if (next.ticket) {
36
+ await client.post('/v1/client/tickets/exchange', {
37
+ attempt_id: next.attempt.id,
38
+ ticket: next.ticket,
39
+ });
40
+ }
41
+ await atlas.reload();
42
+ }
43
+ };
18
44
  const submit = (values) => {
19
45
  void (async () => {
20
46
  state.value = { ...state.value, busy: true, errors: [] };
21
- const next = await (0, fapi_1.advance)(client, state.value, values);
22
- state.value = next;
23
- // On completion the response carries a one-time ticket (§7.1). Exchange it
24
- // for cookies over a same-origin request — FAPI is cross-origin to the app
25
- // and cannot set the cookie on the completion response itself — THEN
26
- // re-boot so the rest of the app sees a signed-in user.
27
- if (next.attempt?.status === 'complete') {
28
- if (next.ticket) {
29
- await client.post('/v1/client/tickets/exchange', {
30
- attempt_id: next.attempt.id,
31
- ticket: next.ticket,
32
- });
33
- }
34
- await atlas.reload();
35
- }
47
+ const out = await (0, js_1.advanceWithCaptcha)(client, state.value, values, { captcha, identifier, t });
48
+ identifier = out.identifier;
49
+ await finish(out.state);
36
50
  })();
37
51
  };
52
+ const create = (values, consent = true) => {
53
+ void (async () => {
54
+ state.value = { ...state.value, busy: true, errors: [] };
55
+ await finish(await (0, js_1.createSignUp)(client, values, { consent, captcha: signUpCaptcha, t }));
56
+ })();
57
+ };
58
+ const prepare = async (strategy) => {
59
+ state.value = { ...state.value, busy: true, errors: [] };
60
+ const next = await (0, fapi_1.prepareFactor)(client, state.value, strategy);
61
+ state.value = { ...next, busy: false };
62
+ return next.errors.length === 0;
63
+ };
64
+ // Keep both captchas in step with the settings and the flow's current step.
65
+ (0, vue_1.watch)([settings, state], ([current, flow]) => {
66
+ captcha.configure((0, js_1.signInCaptchaOptions)(current?.captchaFlows.signIn, flow, () => submit({})));
67
+ const signUpFlow = current?.captchaFlows.signUp;
68
+ signUpCaptcha.configure({ flow: signUpFlow, active: !flow.attempt && (0, js_1.flowNeedsCaptcha)(signUpFlow) });
69
+ }, { immediate: true });
70
+ if (typeof window !== 'undefined') {
71
+ void (0, js_1.fetchInstanceSettings)(client).then((loaded) => {
72
+ if (loaded)
73
+ settings.value = loaded;
74
+ });
75
+ }
76
+ (0, vue_1.onScopeDispose)(() => {
77
+ captcha.destroy();
78
+ signUpCaptcha.destroy();
79
+ });
38
80
  // §5.3: collect a sign-in completed by a link opened on another device. The
39
81
  // poll restarts whenever the flow state changes and only runs while the state
40
82
  // says it should — the Vue peer of React's polling effect.
@@ -66,13 +108,17 @@ function useFlow() {
66
108
  }, 2_000);
67
109
  }, { immediate: true });
68
110
  (0, vue_1.onScopeDispose)(stopPolling);
69
- return { state, submit };
111
+ return { state, submit, create, prepare, settings, captcha, signUpCaptcha };
70
112
  }
71
113
  /** §10.2 `useSignIn()` — drive a sign-in attempt. */
72
114
  function useSignIn() {
73
115
  return useFlow();
74
116
  }
75
- /** §10.2 `useSignUp()` — drive a sign-up attempt. */
117
+ /**
118
+ * §10.2 `useSignUp()` — drive a sign-up attempt: `create(values)` posts
119
+ * `/v1/client/sign_ups` (the account is created there), then `submit({ code })`
120
+ * verifies the emailed code and completes the session.
121
+ */
76
122
  function useSignUp() {
77
123
  return useFlow();
78
124
  }
package/dist/flow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../src/flow.ts"],"names":[],"mappings":"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"}
package/dist/i18n.js CHANGED
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.EN_US = void 0;
15
15
  exports.translate = translate;
16
16
  exports.withFallback = withFallback;
17
+ const js_1 = require("@atlasauth/js");
17
18
  exports.EN_US = {
18
19
  'signIn.title': 'Sign in',
19
20
  'signIn.subtitle': 'to continue to {application}',
@@ -26,12 +27,29 @@ exports.EN_US = {
26
27
  'signIn.orDivider': 'or',
27
28
  'signIn.socialButton': 'Continue with {provider}',
28
29
  'signIn.emailCodeLabel': 'Verification code',
30
+ 'signIn.useEmailCode': 'Email me a code',
31
+ 'signIn.useEmailLink': 'Email me a sign-in link',
29
32
  'signIn.magicLinkSent': 'Check your email for a sign-in link.',
30
33
  'signIn.checkOtherTab': 'You can close this tab — you are signed in where you started.',
31
34
  'signUp.title': 'Create your account',
32
35
  'signUp.submit': 'Continue',
33
36
  'signUp.haveAccount': 'Already have an account?',
34
37
  'signUp.signInLink': 'Sign in',
38
+ 'signUp.emailLabel': 'Email address',
39
+ 'signUp.passwordLabel': 'Password',
40
+ 'signUp.optionalField': '{label} (optional)',
41
+ 'signUp.selectPlaceholder': 'Select…',
42
+ 'signUp.consentAgree': 'I agree to the',
43
+ 'signUp.consentNotice': 'By continuing you agree to the',
44
+ 'signUp.terms': 'Terms of Service',
45
+ 'signUp.privacy': 'Privacy Policy',
46
+ 'signUp.and': 'and',
47
+ // Shown instead of the email + password form when the app can't deliver the
48
+ // verification email (`emailDelivery.passwordSignUp === false`).
49
+ 'signUp.emailUnavailable': js_1.EMAIL_UNAVAILABLE_MESSAGE,
50
+ 'captcha.prompt': 'Complete the security check to continue.',
51
+ 'captcha.required': 'Please complete the security check, then try again.',
52
+ 'captcha.failed': "The security check didn't pass. Please try again.",
35
53
  'mfa.title': 'Two-step verification',
36
54
  'mfa.subtitle': 'Enter the code from your authenticator app.',
37
55
  'mfa.codeLabel': 'Code',
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAsEH,8BAOC;AAGD,oCAEC;AA9EY,QAAA,KAAK,GAAY;IAC5B,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,8BAA8B;IACjD,wBAAwB,EAAE,eAAe;IACzC,sBAAsB,EAAE,UAAU;IAClC,eAAe,EAAE,UAAU;IAC3B,uBAAuB,EAAE,kBAAkB;IAC3C,kBAAkB,EAAE,aAAa;IACjC,mBAAmB,EAAE,SAAS;IAC9B,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,0BAA0B;IACjD,uBAAuB,EAAE,mBAAmB;IAC5C,sBAAsB,EAAE,sCAAsC;IAC9D,sBAAsB,EAAE,+DAA+D;IAEvF,cAAc,EAAE,qBAAqB;IACrC,eAAe,EAAE,UAAU;IAC3B,oBAAoB,EAAE,0BAA0B;IAChD,mBAAmB,EAAE,SAAS;IAE9B,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,6CAA6C;IAC7D,eAAe,EAAE,MAAM;IACvB,0BAA0B,EAAE,kCAAkC;IAC9D,2BAA2B,EAAE,wBAAwB;IACrD,gBAAgB,EAAE,uBAAuB;IACzC,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,QAAQ;IAEtB,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,iBAAiB;IACjC,wBAAwB,EAAE,cAAc;IAExC,0BAA0B,EAAE,gBAAgB;IAC5C,oBAAoB,EAAE,UAAU;IAChC,uBAAuB,EAAE,yBAAyB;IAElD,mBAAmB,EAAE,SAAS;IAC9B,4BAA4B,EAAE,SAAS;IACvC,2BAA2B,EAAE,iBAAiB;IAC9C,6BAA6B,EAAE,UAAU;IACzC,4BAA4B,EAAE,gBAAgB;IAC9C,2BAA2B,EAAE,aAAa;IAC1C,sBAAsB,EAAE,sBAAsB;IAC9C,yBAAyB,EAAE,cAAc;IACzC,wBAAwB,EAAE,YAAY;IACtC,0BAA0B,EAAE,UAAU;IACtC,2BAA2B,EAAE,gBAAgB;IAE7C,uBAAuB,EAAE,qBAAqB;IAC9C,uBAAuB,EAAE,kBAAkB;IAC3C,sBAAsB,EAAE,SAAS;IACjC,qBAAqB,EAAE,eAAe;IACtC,wBAAwB,EAAE,MAAM;IAEhC,eAAe,EAAE,yCAAyC;IAC1D,eAAe,EAAE,uDAAuD;CACzE,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,OAAgB,EAChB,GAAW,EACX,YAAoC,EAAE;IAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,aAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,kFAAkF;AAClF,SAAgB,YAAY,CAAC,MAAe;IAC1C,OAAO,EAAE,GAAG,aAAK,EAAE,GAAG,MAAM,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA0FH,8BAOC;AAGD,oCAEC;AApGD,sCAA0D;AAI7C,QAAA,KAAK,GAAY;IAC5B,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,8BAA8B;IACjD,wBAAwB,EAAE,eAAe;IACzC,sBAAsB,EAAE,UAAU;IAClC,eAAe,EAAE,UAAU;IAC3B,uBAAuB,EAAE,kBAAkB;IAC3C,kBAAkB,EAAE,aAAa;IACjC,mBAAmB,EAAE,SAAS;IAC9B,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,0BAA0B;IACjD,uBAAuB,EAAE,mBAAmB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,yBAAyB;IAChD,sBAAsB,EAAE,sCAAsC;IAC9D,sBAAsB,EAAE,+DAA+D;IAEvF,cAAc,EAAE,qBAAqB;IACrC,eAAe,EAAE,UAAU;IAC3B,oBAAoB,EAAE,0BAA0B;IAChD,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,eAAe;IACpC,sBAAsB,EAAE,UAAU;IAClC,sBAAsB,EAAE,oBAAoB;IAC5C,0BAA0B,EAAE,SAAS;IACrC,qBAAqB,EAAE,gBAAgB;IACvC,sBAAsB,EAAE,gCAAgC;IACxD,cAAc,EAAE,kBAAkB;IAClC,gBAAgB,EAAE,gBAAgB;IAClC,YAAY,EAAE,KAAK;IACnB,4EAA4E;IAC5E,iEAAiE;IACjE,yBAAyB,EAAE,8BAAyB;IAEpD,gBAAgB,EAAE,0CAA0C;IAC5D,kBAAkB,EAAE,qDAAqD;IACzE,gBAAgB,EAAE,mDAAmD;IAErE,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,6CAA6C;IAC7D,eAAe,EAAE,MAAM;IACvB,0BAA0B,EAAE,kCAAkC;IAC9D,2BAA2B,EAAE,wBAAwB;IACrD,gBAAgB,EAAE,uBAAuB;IACzC,mBAAmB,EAAE,qBAAqB;IAC1C,YAAY,EAAE,QAAQ;IAEtB,aAAa,EAAE,qBAAqB;IACpC,cAAc,EAAE,iBAAiB;IACjC,wBAAwB,EAAE,cAAc;IAExC,0BAA0B,EAAE,gBAAgB;IAC5C,oBAAoB,EAAE,UAAU;IAChC,uBAAuB,EAAE,yBAAyB;IAElD,mBAAmB,EAAE,SAAS;IAC9B,4BAA4B,EAAE,SAAS;IACvC,2BAA2B,EAAE,iBAAiB;IAC9C,6BAA6B,EAAE,UAAU;IACzC,4BAA4B,EAAE,gBAAgB;IAC9C,2BAA2B,EAAE,aAAa;IAC1C,sBAAsB,EAAE,sBAAsB;IAC9C,yBAAyB,EAAE,cAAc;IACzC,wBAAwB,EAAE,YAAY;IACtC,0BAA0B,EAAE,UAAU;IACtC,2BAA2B,EAAE,gBAAgB;IAE7C,uBAAuB,EAAE,qBAAqB;IAC9C,uBAAuB,EAAE,kBAAkB;IAC3C,sBAAsB,EAAE,SAAS;IACjC,qBAAqB,EAAE,eAAe;IACtC,wBAAwB,EAAE,MAAM;IAEhC,eAAe,EAAE,yCAAyC;IAC1D,eAAe,EAAE,uDAAuD;CACzE,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,OAAgB,EAChB,GAAW,EACX,YAAoC,EAAE;IAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,aAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACnD,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,kFAAkF;AAClF,SAAgB,YAAY,CAAC,MAAe;IAC1C,OAAO,EAAE,GAAG,aAAK,EAAE,GAAG,MAAM,EAAE,CAAC;AACjC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,3 +8,5 @@ export * from './composables';
8
8
  export * from './flow';
9
9
  export * from './fapi';
10
10
  export * from './components';
11
+ export type { InstanceSettings, PublicSignUpField, CaptchaController, CaptchaFlowKey, CaptchaWidgetMode, FlowCaptcha, } from '@atlasauth/js';
12
+ export { SignOutError, type SignOutResult } from '@atlasauth/js';
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.SignOutError = void 0;
17
18
  __exportStar(require("./appearance"), exports);
18
19
  __exportStar(require("./protect"), exports);
19
20
  __exportStar(require("./i18n"), exports);
@@ -24,4 +25,7 @@ __exportStar(require("./composables"), exports);
24
25
  __exportStar(require("./flow"), exports);
25
26
  __exportStar(require("./fapi"), exports);
26
27
  __exportStar(require("./components"), exports);
28
+ // What `signOut()` resolves with, and what `signOut({ strict: true })` rejects with.
29
+ var js_1 = require("@atlasauth/js");
30
+ Object.defineProperty(exports, "SignOutError", { enumerable: true, get: function () { return js_1.SignOutError; } });
27
31
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,gDAA8B;AAC9B,yCAAuB;AACvB,yCAAuB;AACvB,+CAA6B;AAa7B,qFAAqF;AACrF,oCAAiE;AAAxD,kGAAA,YAAY,OAAA"}
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Plugin, type ShallowRef } from 'vue';
2
- import { type ProviderToken, type SignOutOptions } from '@atlasauth/js';
2
+ import { type ProviderToken, type SignOutOptions, type SignOutResult } from '@atlasauth/js';
3
3
  import { type Appearance } from './appearance';
4
4
  import { type Catalog } from './i18n';
5
5
  import type { AtlasOrganizationMembership, AtlasSession, AtlasUser, SessionClaims } from './types';
@@ -51,13 +51,28 @@ export interface AtlasClient {
51
51
  * server refreshes a stale token on read; the refresh token is never exposed.
52
52
  */
53
53
  getProviderToken(provider: string): Promise<ProviderToken | null>;
54
- signOut(options?: SignOutOptions): Promise<void>;
54
+ /**
55
+ * End the session: revoke it on the Frontend API (retried once), sign out
56
+ * locally, and resolve `{ revoked, activeSessionId? }`. A revoke the server
57
+ * never confirmed still signs out here, and this browser never re-adopts the
58
+ * session (it is remembered and the revoke re-tried in the background);
59
+ * `{ strict: true }` rejects with a `SignOutError` in that case. When the
60
+ * server promotes another account signed in on this browser, it is adopted.
61
+ */
62
+ signOut(options?: SignOutOptions): Promise<SignOutResult>;
55
63
  setActiveOrganization(organizationId: string | null): Promise<void>;
56
64
  reload(): Promise<void>;
57
65
  }
58
66
  export interface CreateAtlasOptions {
59
67
  publishableKey: string;
60
- /** The instance's FAPI origin. */
68
+ /**
69
+ * The instance's Frontend API: an absolute URL such as
70
+ * `"https://auth.example.com"`, or `"same-origin"` / a path such as `"/atlas"`
71
+ * behind a reverse proxy on the app's own origin. Required at runtime —
72
+ * `createAtlas()` throws an `AtlasConfigError` (`FRONTEND_API_REQUIRED` /
73
+ * `FRONTEND_API_INVALID`) when it is missing or malformed. Optional in the
74
+ * type only so existing call sites keep compiling.
75
+ */
61
76
  frontendApi?: string;
62
77
  appearance?: Appearance;
63
78
  localization?: Catalog;
package/dist/plugin.js CHANGED
@@ -28,13 +28,13 @@ function createAtlas(options) {
28
28
  if (typeof document !== 'undefined') {
29
29
  const root = document.documentElement;
30
30
  root.classList.add('atlas-root');
31
- let applied = (0, runtime_1.applyAppearanceToDom)(document, root, (0, appearance_1.renderAppearance)(options.appearance, null, { frontendApi: options.frontendApi }));
31
+ let applied = (0, runtime_1.applyAppearanceToDom)(document, root, (0, appearance_1.renderAppearance)(options.appearance, null, { frontendApi: client.frontendApi }));
32
32
  if (typeof window !== 'undefined' && options.appearance?.instanceDesign !== false) {
33
33
  // Deferred a tick so the session boot request goes first.
34
34
  void Promise.resolve().then(loadInstanceDesign).then((design) => {
35
35
  if (!design)
36
36
  return;
37
- applied = (0, runtime_1.applyAppearanceToDom)(document, root, (0, appearance_1.renderAppearance)(options.appearance, design, { frontendApi: options.frontendApi }), applied);
37
+ applied = (0, runtime_1.applyAppearanceToDom)(document, root, (0, appearance_1.renderAppearance)(options.appearance, design, { frontendApi: client.frontendApi }), applied);
38
38
  });
39
39
  }
40
40
  }
@@ -54,7 +54,9 @@ function createAtlas(options) {
54
54
  */
55
55
  function createAtlasClient(options) {
56
56
  const publishableKey = options.publishableKey;
57
- const baseUrl = options.frontendApi ?? '';
57
+ // Throws (synchronously, from `createAtlas()`) on a missing/invalid value
58
+ // rather than quietly sending every request to a relative path.
59
+ const baseUrl = (0, js_1.resolveFrontendApi)(options.frontendApi, { component: '`createAtlas()`' });
58
60
  const doFetch = options.fetchImpl ?? fetch;
59
61
  const status = (0, vue_1.shallowRef)('loading');
60
62
  const user = (0, vue_1.shallowRef)(null);
@@ -82,7 +84,23 @@ function createAtlasClient(options) {
82
84
  ...init?.headers,
83
85
  },
84
86
  });
87
+ // The safer sign-out shared with every framework SDK: tombstones (kept in
88
+ // localStorage per FAPI origin, so a tab opened later stays signed out), the
89
+ // retried revoke and front-channel logout, the background re-try.
90
+ const guard = new js_1.SignOutGuard({ request: call, frontendApi: baseUrl });
91
+ const clearState = () => {
92
+ cache.clear();
93
+ status.value = 'signed_out';
94
+ user.value = null;
95
+ session.value = null;
96
+ claims.value = null;
97
+ memberships.value = [];
98
+ };
85
99
  const applyToken = (jwt, sessionId) => {
100
+ // A refresh that was in flight when the user signed out must not put the
101
+ // signed-out session's token back.
102
+ if (guard.isSignedOut(sessionId))
103
+ return;
86
104
  const expiresAt = (0, js_1.readExpiry)(jwt);
87
105
  if (!expiresAt)
88
106
  return;
@@ -95,13 +113,11 @@ function createAtlasClient(options) {
95
113
  if (!response.ok)
96
114
  throw new Error('boot failed');
97
115
  const body = (await response.json());
98
- if (!body.session || !body.user) {
99
- cache.clear();
100
- status.value = 'signed_out';
101
- user.value = null;
102
- session.value = null;
103
- claims.value = null;
104
- memberships.value = [];
116
+ // The browser may still hold a refresh cookie for a session this browser
117
+ // signed out of (the revoke never landed): stay signed out. The guard
118
+ // re-tries the revoke in the background and drops the tombstone once it lands.
119
+ if (!body.session || !body.user || guard.refuse(body.session.id)) {
120
+ clearState();
105
121
  return;
106
122
  }
107
123
  user.value = body.user;
@@ -165,23 +181,19 @@ function createAtlasClient(options) {
165
181
  // implementation the Vue SDK surfaces.
166
182
  const fapiClient = new js_1.FapiClient({ publishableKey, baseUrl, fetchImpl: doFetch });
167
183
  const getProviderToken = (provider) => (0, js_1.getProviderToken)(fapiClient, provider);
184
+ /** The session this client holds: the token cache's, else the booted one. */
185
+ const currentSessionId = () => cache.peek()?.sessionId ?? session.value?.id ?? null;
168
186
  const signOut = async (options) => {
169
- const current = cache.peek();
170
- if (current) {
171
- const revoked = await call(`/v1/client/sessions/${current.sessionId}/revoke`, {
172
- method: 'POST',
173
- }).catch(() => undefined);
174
- // OIDC Front-Channel Logout: let the apps signed in through this session
175
- // clear theirs in this browser (hidden iframes, capped at 5 s). Best-effort.
176
- if (options?.frontchannel !== false)
177
- await (0, js_1.runFrontChannelLogoutFromResponse)(revoked);
178
- }
179
- cache.clear();
180
- status.value = 'signed_out';
181
- user.value = null;
182
- session.value = null;
183
- claims.value = null;
184
- memberships.value = [];
187
+ // Tombstone → revoke (retried once) → front-channel logout. With no session
188
+ // in memory (e.g. called before boot finished) the guard finds the one the
189
+ // cookies carry, so a missing token never skips the server-side sign-out.
190
+ const attempt = await guard.revoke(currentSessionId(), options);
191
+ clearState();
192
+ // §L1 the server promoted another account signed in on this browser: adopt
193
+ // it deliberately (the revoke response already set its cookies).
194
+ if (guard.promoted(attempt))
195
+ await reload();
196
+ return guard.settle(attempt, options);
185
197
  };
186
198
  const setActiveOrganization = async (organizationId) => {
187
199
  const current = cache.peek();
@@ -209,25 +221,62 @@ function createAtlasClient(options) {
209
221
  scope.run(() => {
210
222
  (0, vue_1.watch)([status, claims], () => scheduleRefresh(), { flush: 'post' });
211
223
  });
224
+ // Another tab signed out of THIS session (its tombstone reached the shared
225
+ // localStorage): drop the token and re-check, which now refuses it. Lives for
226
+ // the app's lifetime, like the refresh watcher.
227
+ guard.watch(currentSessionId, () => {
228
+ cache.clear();
229
+ void reload();
230
+ });
212
231
  /**
213
232
  * §6.3 step 3: complete a redirect-based sign-in. An OAuth or hosted-page flow
214
233
  * lands back here with a one-time ticket in the URL; exchange it for cookies,
215
234
  * scrub the URL so a reload can't replay it, THEN boot. A redirect that only
216
235
  * carries a `__atlas_status` (a second factor is still owed) has no ticket, so
217
236
  * nothing is exchanged and the app boots signed-out — exactly as intended.
237
+ *
238
+ * §oauth popup mode: this page may also be running INSIDE the sign-in popup.
239
+ * - As the landing of a popup whose opener was severed by a
240
+ * Cross-Origin-Opener-Policy (`#atlas_popup_result=…`): relay the result
241
+ * to the opener over BroadcastChannel and close. If no opener takes it
242
+ * (its tab is gone), finish the sign-in here like a redirect.
243
+ * - After finishing a sign-in here (the redirect flow ran in the popup): tell
244
+ * the waiting opener and close the popup.
218
245
  */
219
246
  const boot = async () => {
220
- const result = typeof window !== 'undefined' ? (0, js_1.readRedirectResult)(window.location.search) : null;
247
+ const fromUrl = typeof window !== 'undefined' ? (0, js_1.readRedirectResult)(window.location.search) : null;
248
+ let result = fromUrl;
249
+ // Checked synchronously first so an ordinary page load sends the session
250
+ // request before anything else (the design fetch is deferred behind it).
251
+ const landing = typeof window !== 'undefined' && (0, js_1.readPopupLanding)(window.location.hash)
252
+ ? await (0, js_1.completeOAuthPopupLanding)().catch(() => null)
253
+ : null;
254
+ if (landing && !landing.delivered) {
255
+ const outcome = (0, js_1.mapOAuthPopupPayload)(landing.payload);
256
+ if (outcome?.ticket && outcome.attemptId) {
257
+ result = { attemptId: outcome.attemptId, ticket: outcome.ticket };
258
+ }
259
+ else if (outcome?.continuationUrl) {
260
+ // A second factor / connect / provider error: the redirect flow's page.
261
+ window.location.replace(outcome.continuationUrl);
262
+ return;
263
+ }
264
+ }
265
+ let exchanged = false;
221
266
  if (result?.ticket) {
222
- await call('/v1/client/tickets/exchange', {
267
+ const response = await call('/v1/client/tickets/exchange', {
223
268
  method: 'POST',
224
269
  body: JSON.stringify({ attempt_id: result.attemptId, ticket: result.ticket }),
225
270
  }).catch(() => undefined);
271
+ exchanged = !!response?.ok;
226
272
  }
227
- if (result && typeof window !== 'undefined') {
273
+ if (fromUrl && typeof window !== 'undefined') {
228
274
  window.history.replaceState({}, document.title, (0, js_1.stripRedirectParams)(window.location.href));
229
275
  }
230
276
  await reload();
277
+ // Signed in inside the Atlas popup: hand back to the opener and close.
278
+ if (exchanged)
279
+ void (0, js_1.closeOAuthPopupAfterSignIn)();
231
280
  };
232
281
  /** The dashboard design from `GET /v1/appearance`; null on any failure (best-effort). */
233
282
  const loadInstanceDesign = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;AAmHA,kCA4CC;AA/JD,6BAOa;AACb,sCAkBuB;AACvB,uDAAiE;AACjE,6CAA0G;AAC1G,iCAA2D;AAC3D,uCAAgD;AA+EhD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,OAA2B;IACrD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAExE,OAAO;QACL,OAAO,CAAC,GAAQ;YACd,GAAG,CAAC,OAAO,CAAC,6BAAmB,EAAE,MAAM,CAAC,CAAC;YAEzC,2EAA2E;YAC3E,yEAAyE;YACzE,4EAA4E;YAC5E,qEAAqE;YACrE,yEAAyE;YACzE,2EAA2E;YAC3E,8DAA8D;YAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,OAAO,GAAG,IAAA,8BAAoB,EAChC,QAAQ,EACR,IAAI,EACJ,IAAA,6BAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAChF,CAAC;gBACF,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,cAAc,KAAK,KAAK,EAAE,CAAC;oBAClF,0DAA0D;oBAC1D,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBAC9D,IAAI,CAAC,MAAM;4BAAE,OAAO;wBACpB,OAAO,GAAG,IAAA,8BAAoB,EAC5B,QAAQ,EACR,IAAI,EACJ,IAAA,6BAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EACjF,OAAO,CACR,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,2EAA2E;YAC3E,qEAAqE;YACrE,6DAA6D;YAC7D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,KAAK,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAA2B;IAKpD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC9C,0EAA0E;IAC1E,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAA,uBAAkB,EAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAA,gBAAU,EAAa,SAAS,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,gBAAU,EAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAA,gBAAU,EAAsB,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAA,gBAAU,EAAuB,IAAI,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAA,gBAAU,EAAgC,EAAE,CAAC,CAAC;IAElE,MAAM,KAAK,GAAG,IAAI,eAAU,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAyC,IAAI,CAAC;IAEvD,MAAM,cAAc,GAA0C,CAAC,GAAG,EAAE;QAClE,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,uBAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM;YACrC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACjD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAkB,EAAE,EAAE,CAChD,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;QAC3B,GAAG,IAAI;QACP,qEAAqE;QACrE,oBAAoB;QACpB,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE;YACP,mBAAmB,EAAE,cAAc;YACnC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,IAAI,EAAE,OAAO;SACjB;KACF,CAAC,CAAC;IAEL,0EAA0E;IAC1E,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,KAAK,GAAG,IAAI,iBAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,EAAE;QACpD,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;YAAE,OAAO;QACzC,MAAM,SAAS,GAAG,IAAA,eAAU,EAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAKlC,CAAC;YAEF,yEAAyE;YACzE,sEAAsE;YACtE,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjE,UAAU,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,GAAG;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,sEAAsE;YACtE,sCAAsC;YACtC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,OAAO,CAAC,SAAS,SAAS,EAAE;gBAC7E,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAEpD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwC,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;YAChE,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,+EAA+E;IAC/E,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;YAAE,OAAO;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAA,mBAAc,EAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,qEAAqE;QACrE,2CAA2C;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC;QAC9B,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,4EAA4E;IAC5E,2EAA2E;IAC3E,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAI,eAAU,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAA,qBAAkB,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAExF,6EAA6E;IAC7E,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;IAEpF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAwB,EAA0B,EAAE;QACzE,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,UAAU,EAAE,CAAC;QACb,2EAA2E;QAC3E,iEAAiE;QACjE,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,MAAM,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,cAA6B,EAAE,EAAE;QACpE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,uBAAuB,OAAO,CAAC,SAAS,QAAQ,EAAE;YAC5E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO;QAEzB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAoB,CAAC;QACxD,uEAAuE;QACvE,sDAAsD;QACtD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,mBAAY,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAK,CAAC;IAElF,yEAAyE;IACzE,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,KAAK,GAAG,IAAA,iBAAW,EAAC,IAAI,CAAC,CAAC;IAChC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QACb,IAAA,WAAK,EAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,8EAA8E;IAC9E,gDAAgD;IAChD,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACjC,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH;;;;;;;;;;;;;;OAcG;IACH,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAA,uBAAkB,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,IAAI,MAAM,GAA0B,OAAO,CAAC;QAC5C,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,WAAW,IAAI,IAAA,qBAAgB,EAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrE,CAAC,CAAC,MAAM,IAAA,8BAAyB,GAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAA,yBAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACpE,CAAC;iBAAM,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;gBACpC,wEAAwE;gBACxE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAC9E,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAA,wBAAmB,EAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,MAAM,EAAE,CAAC;QACf,uEAAuE;QACvE,IAAI,SAAS;YAAE,KAAK,IAAA,+BAA0B,GAAE,CAAC;IACnD,CAAC,CAAC;IAEF,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,KAAK,IAAoC,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,+BAAkB,EAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,2EAA2E;IAC3E,8EAA8E;IAC9E,4CAA4C;IAC5C,OAAO;QACL,MAAM,EAAE;YACN,cAAc;YACd,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO;YACP,MAAM;YACN,IAAI;YACJ,OAAO;YACP,MAAM;YACN,WAAW;YACX,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,OAAO;YACP,qBAAqB;YACrB,MAAM;SACP;QACD,IAAI;QACJ,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAkB,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@atlasauth/vue",
3
- "version": "0.2.1",
3
+ "version": "0.4.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "dependencies": {
7
- "@atlasauth/js": "0.5.0",
8
- "@atlasauth/design": "0.1.0",
9
- "@atlasauth/authz": "0.1.1"
7
+ "@atlasauth/js": "0.8.0",
8
+ "@atlasauth/authz": "0.1.1",
9
+ "@atlasauth/design": "0.2.0"
10
10
  },
11
11
  "peerDependencies": {
12
12
  "vue": ">=3.3"
@@ -23,7 +23,8 @@
23
23
  },
24
24
  "files": [
25
25
  "dist",
26
- "README.md"
26
+ "README.md",
27
+ "CHANGELOG.md"
27
28
  ],
28
29
  "repository": {
29
30
  "type": "git",