@abyss-project/commons-front-core 6.0.0 → 6.1.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.
Files changed (36) hide show
  1. package/dist/{CookieConsentSettings.component-Da4l2tFQ.js → CookieConsentSettings.component-3Z3YnI96.js} +357 -331
  2. package/dist/auth/components/AuthHeroLayout/AuthHeroLayout.component.d.ts +39 -0
  3. package/dist/auth/components/AuthHeroLayout/AuthHeroLayout.component.spec.d.ts +1 -0
  4. package/dist/auth/components/AuthHeroLayout/auth-hero.context.d.ts +11 -0
  5. package/dist/auth/components/index.d.ts +3 -0
  6. package/dist/auth/components/shared/OneTimeCodeField.component.d.ts +6 -2
  7. package/dist/auth/components/shared/OneTimeCodeField.component.spec.d.ts +1 -0
  8. package/dist/auth/components/test-support/own-css.d.ts +5 -0
  9. package/dist/cookie-consent.js +1 -1
  10. package/dist/hooks/use-rich-intl.hook.d.ts +34 -0
  11. package/dist/{index-CzpB9qD9.js → index-B01u4RDj.js} +1 -1
  12. package/dist/{index-DI9IV0Ew.js → index-B9H2t9pf.js} +21476 -21165
  13. package/dist/{index-BM0yX2Iz.js → index-BFmCESKZ.js} +2 -2
  14. package/dist/{index-Bw5kKOog.js → index-BK9rDAfL.js} +4 -4
  15. package/dist/{index-HfP5qfTf.js → index-BNwzLulO.js} +2 -2
  16. package/dist/{index-C8lLApSB.js → index-BVI8irok.js} +2 -2
  17. package/dist/{index-D1QkFZiF.js → index-BdiCSg8E.js} +3 -3
  18. package/dist/{index-CZRRt2kg.js → index-BwMujprD.js} +2 -2
  19. package/dist/{index-CxfOutZw.js → index-C2oiOgnk.js} +3 -3
  20. package/dist/{index-CzlzF3eF.js → index-C5Uf33HY.js} +3 -3
  21. package/dist/{index-B8jAaZFi.js → index-CLRN5aZY.js} +2 -2
  22. package/dist/{index-2EY2JNir.js → index-CLberJb6.js} +4 -4
  23. package/dist/{index-Cb-sJiqp.js → index-DAtUrR1w.js} +2 -2
  24. package/dist/{index-BB8-EZF4.js → index-DEok2N8Y.js} +2 -2
  25. package/dist/{index-Dc_oDJTw.js → index-DIJAhLW1.js} +3 -3
  26. package/dist/{index-B3yNQeWK.js → index-D_Yt7xtB.js} +2 -2
  27. package/dist/{index-Kbs9OrDN.js → index-DfMTxob_.js} +2 -2
  28. package/dist/{index-CLFBr4MF.js → index-GYxgqfEX.js} +2 -2
  29. package/dist/{index-CxKeAkSY.js → index-LlUhqvEy.js} +2 -2
  30. package/dist/{index-B7dA6I-R.js → index-Qhz-eUY5.js} +2 -2
  31. package/dist/{index-BI9lpDsi.js → index-acSfGhBy.js} +2 -2
  32. package/dist/{index-CEJ4iiA5.js → index-mCtQ66kG.js} +4 -4
  33. package/dist/index.js +253 -250
  34. package/dist/translations/en.d.ts +13 -0
  35. package/dist/translations/fr.d.ts +13 -0
  36. package/package.json +4 -4
@@ -0,0 +1,39 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { AbyssService } from '@abyss-project/main';
3
+ /**
4
+ * - `web` (default): the hero below `md` only; from `md` up the children render alone, so the
5
+ * host keeps its own desktop layout (abyss-main's split screen).
6
+ * - `native`: the hero at every width, the sheet centred and at most `SHEET_MAX_WIDTH` wide on a
7
+ * large screen (a tablet in landscape keeps the service's identity).
8
+ */
9
+ export declare enum AuthHeroLayoutVariant {
10
+ WEB = "web",
11
+ NATIVE = "native"
12
+ }
13
+ export type AuthHeroLayoutProps = {
14
+ /**
15
+ * Requested service, already validated. null/undefined or a service without a tagline -> Abyss
16
+ * logo, name and tagline; a service without logo (Odyssey) -> Abyss logo, its own name and tagline.
17
+ */
18
+ service?: AbyssService | null;
19
+ /** `AuthHeroLayoutVariant.WEB` by default. */
20
+ variant?: AuthHeroLayoutVariant;
21
+ children: ReactNode;
22
+ };
23
+ /**
24
+ * The frame of the sign-in screen (D1, D6): a hero carrying the requested service's logo, name and
25
+ * tagline on the brand gradient, then a sheet with rounded top corners climbing over it, holding
26
+ * the children. The hero pads the top safe area, the sheet the bottom one (D7). The sheet is the
27
+ * page's `<main>` landmark (the hosts have none around the sign-in screen).
28
+ *
29
+ * - `AuthHeroLayoutVariant.WEB` (default): the hero below `md` only. From `md` up the children
30
+ * render alone, so the host keeps its own desktop layout; the wrappers then take no box
31
+ * (`display: contents`), which keeps the children mounted when the screen crosses the breakpoint
32
+ * (a rotated tablet does not restart the flow).
33
+ * - `AuthHeroLayoutVariant.NATIVE`: the hero at every width; on a screen wider than a phone the
34
+ * sheet is centred, at most 480 px wide, and the hero's content is aligned on it.
35
+ *
36
+ * Children shrink the hero through `useAuthHero().setCompact` (`AuthFlow` does it at the code,
37
+ * second-factor and enrolment steps).
38
+ */
39
+ export declare const AuthHeroLayout: FC<AuthHeroLayoutProps>;
@@ -0,0 +1,11 @@
1
+ import { Context } from 'react';
2
+ export interface AuthHeroContextValue {
3
+ /** Shrinks the hero (tile and name on one line, no tagline), or brings it back to full size. */
4
+ setCompact: (compact: boolean) => void;
5
+ /** Rendered in the hero's sheet: the hero pads the top safe area, the sheet the bottom one. */
6
+ insideHero: boolean;
7
+ }
8
+ /** Outside an `AuthHeroLayout` (or on a large screen): no hero to shrink, no safe area handled. */
9
+ export declare const AuthHeroContext: Context<AuthHeroContextValue>;
10
+ /** The hero around the auth screen, if any; a no-op outside `AuthHeroLayout`. */
11
+ export declare const useAuthHero: () => AuthHeroContextValue;
@@ -1,5 +1,8 @@
1
1
  export { AuthFlow } from './AuthFlow/AuthFlow.component';
2
2
  export type { AuthFlowProps } from './AuthFlow/AuthFlow.component';
3
+ export { AuthHeroLayout, AuthHeroLayoutVariant, } from './AuthHeroLayout/AuthHeroLayout.component';
4
+ export type { AuthHeroLayoutProps } from './AuthHeroLayout/AuthHeroLayout.component';
5
+ export { useAuthHero } from './AuthHeroLayout/auth-hero.context';
3
6
  export type { AuthFlowContext, AuthFlowLegal, AuthFlowResult, } from './AuthFlow/auth-flow.types';
4
7
  export { AuthProviderButtons, AuthProviderKind, } from './AuthProviderButtons/AuthProviderButtons.component';
5
8
  export type { AuthFlowProviders, AuthProviderButtonsProps, } from './AuthProviderButtons/AuthProviderButtons.component';
@@ -10,8 +10,12 @@ type Props = {
10
10
  autoFocus?: boolean;
11
11
  };
12
12
  /**
13
- * Six-digit code field (e-mail code, TOTP). `one-time-code` lets the platform offer the code it
14
- * just received; a pasted code keeps working whatever its spacing, since only the digits are kept.
13
+ * Six-digit code field (e-mail code, TOTP), drawn as six cells. The cells only render the value:
14
+ * the field stays a single real `<input>` laid transparent over them, so `one-time-code` still
15
+ * lets the platform offer the code it just received, a pasted code keeps working whatever its
16
+ * spacing (only the digits are kept), and a click on any cell lands in that input. After an
17
+ * error, the focus comes back to the input as soon as it can be typed in again, and the cells
18
+ * leave their red state at the first new digit (the host's message keeps saying the cause).
15
19
  */
16
20
  export declare const OneTimeCodeField: ({ id, label, value, onChange, disabled, error, autoFocus, }: Props) => import("react/jsx-runtime").JSX.Element;
17
21
  export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * The declarations emotion generated for an element's own classes (pseudo-elements excluded), as
3
+ * written: unlike `getComputedStyle`, it keeps `var(...)` and `calc(...)` values readable.
4
+ */
5
+ export declare const ownCss: (element: Element) => string;
@@ -1,4 +1,4 @@
1
- import { A as s, c as a, C as n, a as C, D as i, R as t, V as r, d as A, f as k, r as c, e as l, u as D, b as E, w as I } from "./CookieConsentSettings.component-Da4l2tFQ.js";
1
+ import { A as s, c as a, C as n, a as C, D as i, R as t, V as r, d as A, f as k, r as c, e as l, u as D, b as E, w as I } from "./CookieConsentSettings.component-3Z3YnI96.js";
2
2
  export {
3
3
  s as AbyssCookieConsentProvider,
4
4
  a as COOKIE_NAME,
@@ -203,6 +203,10 @@ export declare const translations: {
203
203
  title: string;
204
204
  content: string;
205
205
  };
206
+ "monitor-incident-escalated": {
207
+ title: string;
208
+ content: string;
209
+ };
206
210
  "monitor-incident-summary": {
207
211
  title: string;
208
212
  content: string;
@@ -1563,6 +1567,19 @@ export declare const translations: {
1563
1567
  };
1564
1568
  };
1565
1569
  auth: {
1570
+ hero: {
1571
+ tagline: {
1572
+ ABYSS: string;
1573
+ ABYSS_CLOUD: string;
1574
+ ABYSS_MEMORIES: string;
1575
+ ABYSS_TRAINING: string;
1576
+ ABYSS_FORM: string;
1577
+ ABYSS_CRYPT: string;
1578
+ ABYSS_BANKING: string;
1579
+ ABYSS_SPOTLIGHT: string;
1580
+ ABYSS_GAME_ODYSSEY: string;
1581
+ };
1582
+ };
1566
1583
  flow: {
1567
1584
  email: {
1568
1585
  title: string;
@@ -2062,6 +2079,10 @@ export declare const translations: {
2062
2079
  title: string;
2063
2080
  content: string;
2064
2081
  };
2082
+ "monitor-incident-escalated": {
2083
+ title: string;
2084
+ content: string;
2085
+ };
2065
2086
  "monitor-incident-summary": {
2066
2087
  title: string;
2067
2088
  content: string;
@@ -3422,6 +3443,19 @@ export declare const translations: {
3422
3443
  };
3423
3444
  };
3424
3445
  auth: {
3446
+ hero: {
3447
+ tagline: {
3448
+ ABYSS: string;
3449
+ ABYSS_CLOUD: string;
3450
+ ABYSS_MEMORIES: string;
3451
+ ABYSS_TRAINING: string;
3452
+ ABYSS_FORM: string;
3453
+ ABYSS_CRYPT: string;
3454
+ ABYSS_BANKING: string;
3455
+ ABYSS_SPOTLIGHT: string;
3456
+ ABYSS_GAME_ODYSSEY: string;
3457
+ };
3458
+ };
3425
3459
  flow: {
3426
3460
  email: {
3427
3461
  title: string;
@@ -1,4 +1,4 @@
1
- import { P as L, N as M, k as $, D as E, l as y, T as S, I as j } from "./index-DI9IV0Ew.js";
1
+ import { P as L, N as M, k as $, D as E, l as y, T as S, I as j } from "./index-B9H2t9pf.js";
2
2
  class v {
3
3
  /**
4
4
  @internal