@atlasauth/embed 0.4.0 → 0.5.1

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 CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlasauth/embed changelog
2
2
 
3
+ ## 0.5.1
4
+ - **Fixed: email-code sign-in on instances without password sign-in.** After the email step the sign-in form now
5
+ sends the code itself (`prepare_first_factor`), shows "We sent a code to …" with the code field and a
6
+ "Resend code" action, and completes with `attempt_first_factor { strategy: "email_code", code }`. A password field
7
+ is drawn only when the server offers `password`; when it is offered, password stays the default and the emailed
8
+ code is one click away. If the automatic send is refused (a 429, or the app can't send email), the step shows the
9
+ server's error and a button to try again.
10
+ - `email_link` as the only factor: the link is sent, and the widget polls with `poll_secret` and signs in once the link is opened on any device. "Resend link" on that step.
11
+ - Emailed factors are not offered or sent while `email_delivery.available` is false.
12
+ - "Forgot password?" shows on the first-factor step only when it asks for a password.
13
+
14
+ ## 0.5.0
15
+ Requires `@atlasauth/js` 0.9.0.
16
+ - **Server errors render in the app's language.** New `WidgetOptions.localization?: ErrorStrings` (a bundle from
17
+ `@atlasauth/localizations`, e.g. `esES`, or a flat `{ 'error.<reason>': '…' }` catalog): form and field errors
18
+ show the `error.<reason>` string for the error's `reason`, else the server's message.
19
+ - **New `WidgetOptions.locale?: string`** (markup: `data-atlas-locale` / `locale` on the element, or
20
+ `data-atlas-locale` on the script tag), sent as `Accept-Language` so the server localises `message`; defaults
21
+ to the `localization` bundle's `locale` tag. `WidgetClientOptions.locale` and `ScriptDefaults.locale` added.
22
+ - `AtlasWidget.errorText(error)` added.
23
+
24
+
3
25
  ## 0.4.0
4
26
  - **Completes a severed sign-in popup.** When the widget's page is the landing of a sign-in popup started by
5
27
  an Atlas SDK on the same site whose `window.opener` was cut by a Cross-Origin-Opener-Policy
package/dist/client.d.ts CHANGED
@@ -5,6 +5,8 @@ export interface WidgetClientOptions {
5
5
  /** The instance's FAPI origin, e.g. `https://accounts.acme.com`. */
6
6
  frontendApi: string;
7
7
  fetchImpl?: typeof fetch;
8
+ /** Sent as `Accept-Language` (see `FapiClientOptions.locale`). */
9
+ locale?: string;
8
10
  }
9
11
  /** A FAPI client wired for the widget: shared @atlasauth/js driver, pk in the query. */
10
12
  export declare function createClient(options: WidgetClientOptions): FapiClient;
package/dist/client.js CHANGED
@@ -39,6 +39,7 @@ function createClient(options) {
39
39
  publishableKey: options.publishableKey,
40
40
  baseUrl: options.frontendApi.replace(/\/$/, ''),
41
41
  fetchImpl: widgetFetch(options.publishableKey, base),
42
+ locale: options.locale,
42
43
  });
43
44
  }
44
45
  /** Fetch the tenant's public appearance + enabled providers/strategies. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AAwCA,oCAOC;AAGD,0CAGC;AArDD,sCAA2C;AAG3C;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,cAAsB,EAAE,IAAkB;IAC7D,OAAO,CAAC,CAAC,KAAwB,EAAE,IAAkB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAiB,CAAC;AACrB,CAAC;AASD,wFAAwF;AACxF,SAAgB,YAAY,CAAC,OAA4B;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IACxC,OAAO,IAAI,eAAU,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/C,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;KACrD,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AACpE,KAAK,UAAU,eAAe,CAAC,MAAkB;IACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAqB,gBAAgB,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;AA0CA,oCAQC;AAGD,0CAGC;AAxDD,sCAA2C;AAG3C;;;;;;;;;;;;GAYG;AACH,SAAS,WAAW,CAAC,cAAsB,EAAE,IAAkB;IAC7D,OAAO,CAAC,CAAC,KAAwB,EAAE,IAAkB,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC,CAAiB,CAAC;AACrB,CAAC;AAWD,wFAAwF;AACxF,SAAgB,YAAY,CAAC,OAA4B;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IACxC,OAAO,IAAI,eAAU,CAAC;QACpB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/C,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;QACpD,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AACpE,KAAK,UAAU,eAAe,CAAC,MAAkB;IACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAqB,gBAAgB,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5C,CAAC"}
package/dist/config.d.ts CHANGED
@@ -12,6 +12,8 @@ export interface ScriptDefaults {
12
12
  publishableKey?: string;
13
13
  frontendApi?: string;
14
14
  redirect?: string;
15
+ /** `data-atlas-locale`: the UI language sent as `Accept-Language`. */
16
+ locale?: string;
15
17
  }
16
18
  export declare function setScriptDefaults(defaults: ScriptDefaults): void;
17
19
  export declare function getScriptDefaults(): ScriptDefaults;
package/dist/config.js CHANGED
@@ -24,6 +24,8 @@ function readScriptTag(script) {
24
24
  out.frontendApi = d.atlasFapi;
25
25
  if (d.atlasRedirect)
26
26
  out.redirect = d.atlasRedirect;
27
+ if (d.atlasLocale)
28
+ out.locale = d.atlasLocale;
27
29
  return out;
28
30
  }
29
31
  /**
@@ -42,6 +44,9 @@ function optionsFromElement(el, mode) {
42
44
  const options = { publishableKey, frontendApi, mode };
43
45
  if (redirect)
44
46
  options.redirect = redirect;
47
+ const locale = dataset.atlasLocale ?? attr('locale') ?? scriptDefaults.locale;
48
+ if (locale)
49
+ options.locale = locale;
45
50
  // `data-atlas-preset="midnight"` — a design preset straight from markup. Any
46
51
  // value is passed through; the design system ignores (and warns on) unknown ids.
47
52
  const preset = dataset.atlasPreset ?? attr('preset');
@@ -60,6 +65,7 @@ function optionsFromApi(mode, overrides = {}) {
60
65
  publishableKey,
61
66
  frontendApi,
62
67
  redirect: overrides.redirect ?? scriptDefaults.redirect,
68
+ ...(overrides.locale ?? scriptDefaults.locale ? { locale: overrides.locale ?? scriptDefaults.locale } : {}),
63
69
  mode,
64
70
  };
65
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAmBA,8CAEC;AAED,8CAEC;AAGD,sCAQC;AAOD,gDAoBC;AAGD,wCAeC;AAhED,IAAI,cAAc,GAAmB,EAAE,CAAC;AAExC,SAAgB,iBAAiB,CAAC,QAAwB;IACxD,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,qEAAqE;AACrE,SAAgB,aAAa,CAAC,MAA4C;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,QAAQ;QAAE,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;IAChD,IAAI,CAAC,CAAC,SAAS;QAAE,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC;IAC/C,IAAI,CAAC,CAAC,aAAa;QAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,EAAW,EACX,IAA2B;IAE3B,MAAM,OAAO,GAAI,EAAkB,CAAC,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAsB,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAEtF,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC;IACpG,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;IAC5F,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC;IAEtF,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,MAAM,OAAO,GAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACrE,IAAI,QAAQ;QAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1C,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,OAAO,CAAC,UAAU,GAAG,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,6DAA6D;AAC7D,SAAgB,cAAc,CAC5B,IAA2B,EAC3B,YAAoC,EAAE;IAEtC,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC;IACjF,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC;IACxE,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAEjD,OAAO;QACL,GAAG,SAAS;QACZ,cAAc;QACd,WAAW;QACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;QACvD,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}