@abyss-project/commons-front-core 8.0.0 → 8.2.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 (75) hide show
  1. package/README.md +125 -54
  2. package/catalog/captures-plan.ts +5 -1
  3. package/catalog/catalog-entries.ts +4 -0
  4. package/catalog/pages/AccountMenu.tsx +62 -0
  5. package/catalog/pages/NotificationsMenu.tsx +116 -0
  6. package/catalog/pages/index.ts +4 -0
  7. package/catalog/specs/captures.spec.ts +7 -0
  8. package/catalog/specs/write-capture-index.ts +1 -0
  9. package/dist/{AbyssCookieConsentProvider-BhSzVu8P.js → AbyssCookieConsentProvider-TE46ywnd.js} +554 -514
  10. package/dist/{CookieConsentSettings.component-DMEAuCVS.js → CookieConsentSettings.component-BKsYgpMa.js} +1 -1
  11. package/dist/components/layers/CommandPalette/CommandPalette.d.ts +27 -6
  12. package/dist/components/layers/CommandPalette/command-registry.d.ts +39 -9
  13. package/dist/components/layers/Modal/Modal.d.ts +2 -1
  14. package/dist/components/states/PageState/PageState.d.ts +6 -1
  15. package/dist/components/structure/AccountMenu/AccountMenu.d.ts +27 -0
  16. package/dist/components/structure/AccountMenu/AccountMenu.spec.d.ts +1 -0
  17. package/dist/components/structure/AppShell/AppShell.d.ts +9 -3
  18. package/dist/components/structure/AppShell/ShellNavigation.d.ts +4 -2
  19. package/dist/components/structure/AppShell/app-shell.types.d.ts +38 -2
  20. package/dist/components/structure/NotificationsMenu/NotificationsMenu.d.ts +36 -0
  21. package/dist/components/structure/NotificationsMenu/NotificationsMenu.spec.d.ts +1 -0
  22. package/dist/components/structure/PageHeader/PageHeader.d.ts +2 -2
  23. package/dist/components/structure/index.d.ts +2 -0
  24. package/dist/components/structure/test-support/structure-test-harness.d.ts +6 -0
  25. package/dist/cookie-consent.js +2 -2
  26. package/dist/{design-theme-CvLzOz3p.js → design-theme-CN_6fRX3.js} +2317 -2278
  27. package/dist/hooks/index.d.ts +1 -0
  28. package/dist/hooks/use-rich-intl.hook.d.ts +40 -0
  29. package/dist/hooks/use-scroll-overflow-cue.hook.d.ts +9 -0
  30. package/dist/hooks/use-scroll-overflow-cue.hook.spec.d.ts +1 -0
  31. package/dist/{index-GoHiFeaw.js → index-4BMCQ_6u.js} +2 -2
  32. package/dist/{index-BkfBpYKR.js → index-B-Gq5Zeh.js} +3 -3
  33. package/dist/{index-BqIg55B3.js → index-BI8z_ZwK.js} +4 -4
  34. package/dist/{index-DixNft1u.js → index-BR66kEMM.js} +2 -2
  35. package/dist/{index-D_GWBYM2.js → index-BXs_bBcm.js} +1 -1
  36. package/dist/{index-6KdfKdSJ.js → index-BZfgg1Dp.js} +2 -2
  37. package/dist/{index-21vSFz6u.js → index-Bi3OW3pz.js} +2 -2
  38. package/dist/{index-D4Qh2Iww.js → index-Bu5LDz63.js} +3 -3
  39. package/dist/{index-ClLoBnCN.js → index-C-bs2P06.js} +2 -2
  40. package/dist/{index-Btnmn1iK.js → index-C4VmhCn7.js} +4 -4
  41. package/dist/{index-ASLTmD1Y.js → index-C6ZLgLu-.js} +2 -2
  42. package/dist/{index-BVS73U9E.js → index-CK9kVK6Y.js} +4 -4
  43. package/dist/{index-BTjzj7mm.js → index-D490I-Im.js} +2 -2
  44. package/dist/{index-7HAvRXgu.js → index-DC-vg2P2.js} +2 -2
  45. package/dist/{index-bR-mnNUA.js → index-DPxFwYmx.js} +2 -2
  46. package/dist/{index-D5e4uD4k.js → index-Dhz388yW.js} +2 -2
  47. package/dist/{index-C92C_oG5.js → index-DistZiPf.js} +2 -2
  48. package/dist/{index-LdiTmDFg.js → index-DjLWvtUt.js} +2 -2
  49. package/dist/{index-BtsnuEJC.js → index-Dm6584pR.js} +14734 -14782
  50. package/dist/{index-CHGRiRCe.js → index-FS21eF3a.js} +3 -3
  51. package/dist/{index-Ni4BmFs4.js → index-csvcp4rP.js} +2 -2
  52. package/dist/{index-l7FAjaVB.js → index-ltq6POQa.js} +3 -3
  53. package/dist/index.js +5607 -4440
  54. package/dist/legacy/theme/core-breakpoints-under-legacy-theme.spec.d.ts +1 -0
  55. package/dist/legacy.js +18 -18
  56. package/dist/rum/abyss-main-session-path.d.ts +13 -0
  57. package/dist/rum/abyss-main-session-path.spec.d.ts +1 -0
  58. package/dist/rum/feedback-ticket.d.ts +7 -0
  59. package/dist/rum/index.d.ts +5 -0
  60. package/dist/rum/route-resolver.d.ts +7 -0
  61. package/dist/rum/route-resolver.spec.d.ts +1 -0
  62. package/dist/rum/rum-provider-config.d.ts +39 -0
  63. package/dist/rum/rum-provider-config.spec.d.ts +1 -0
  64. package/dist/theme/DesignCssVariables.d.ts +11 -0
  65. package/dist/theme/DesignCssVariables.spec.d.ts +1 -0
  66. package/dist/theme/components/shared.d.ts +4 -1
  67. package/dist/theme/css-variables.d.ts +7 -0
  68. package/dist/theme/design-media.d.ts +26 -0
  69. package/dist/theme/design-media.spec.d.ts +1 -0
  70. package/dist/theme/focus-ring.spec.d.ts +1 -0
  71. package/dist/theme/index.d.ts +4 -0
  72. package/dist/theme/use-design-breakpoint.d.ts +7 -0
  73. package/dist/translations/en.d.ts +20 -0
  74. package/dist/translations/fr.d.ts +20 -0
  75. package/package.json +3 -3
package/dist/legacy.js CHANGED
@@ -1,7 +1,7 @@
1
- import { aE as e, aF as o, R as t, M as r, Q as i, aO as b, Z as n, aI as A, $ as C, a6 as l, aB as S, ac as p, ad as u, aQ as y, b0 as c, a$ as d, aJ as g, aC as T, aY as P, aZ as I, aV as _, ay as h, Y as L, ae as E, a_ as m, aW as O, af as R, bk as D, _ as f, bn as k, bt as B, ap as M, aH as v, al as F, ak as N, aD as W, aG as x, aX as U, V as w, a5 as Q, a4 as G, bQ as H, bo as V, bT as Y, ag as j, ai as z, ah as X, aa as K, a9 as Z, a8 as $, b_ as q, at as J, aS as aa, aR as sa, aw as ea, ax as oa, ab as ta, aj as ra, bU as ia, bX as ba, bR as na, bS as Aa, aT as Ca, aL as la, X as Sa, ar as pa, aq as ua, av as ya, a0 as ca, aU as da, au as ga, O as Ta, bW as Pa, bP as Ia, bl as _a, bm as ha, K as La, W as Ea, an as ma, ao as Oa, a1 as Ra, am as Da, aM as fa, bz as ka, bu as Ba, by as Ma, bq as va, b8 as Fa, b9 as Na, ba as Wa, bd as xa, bi as Ua, bg as wa, b7 as Qa, b6 as Ga, b3 as Ha, bb as Va, b2 as Ya, b5 as ja, bj as za, bc as Xa, b4 as Ka, bh as Za, U as $a, S as qa, aK as Ja, aN as as, aP as ss, a2 as es, a3 as os, bL as ts, b1 as rs, br as is, bC as bs, aA as ns, bE as As, bv as Cs, bN as ls, bH as Ss, bF as ps, bG as us, bf as ys, be as cs, bZ as ds, bY as gs, as as Ts, bV as Ps, bA as Is, bI as _s, bs as hs, bw as Ls, bp as Es, bO as ms, bB as Os, bK as Rs, bx as Ds, bM as fs, bD as ks, bJ as Bs, az as Ms, a7 as vs, b$ as Fs } from "./index-BtsnuEJC.js";
2
- import { A as Ws, h as xs, c as Us, C as ws, D as Qs, R as Gs, V as Hs, x as Vs, X as Ys, K as js, d as zs, L as Xs, M as Ks, I as Zs, J as $s, E as qs, G as Js, f as ae, O as se, P as ee, Z as oe, _ as te, T as re, U as ie, $ as be, a0 as ne, B as Ae, s as Ce, p as le, F as Se, H as pe, v as ue, y as ye, r as ce, e as de, z as ge, Q as Te, S as Pe, Y as Ie, N as _e, W as he, u as Le, b as Ee, a as me, w as Oe } from "./AbyssCookieConsentProvider-BhSzVu8P.js";
3
- import { C as De } from "./CookieConsentSettings.component-DMEAuCVS.js";
4
- import { aB as ke, y as Be, aA as Me, az as ve, aC as Fe, x as Ne, C as We, E as xe, I as Ue, P as we, aE as Qe, W as Ge, aF as He, aG as Ve, v as Ye, q as je, aD as ze } from "./design-theme-CvLzOz3p.js";
1
+ import { aE as e, aF as o, R as t, M as r, Q as i, aO as b, Z as n, aI as A, $ as C, a6 as l, aB as S, ac as p, ad as u, aQ as y, b0 as c, a$ as d, aJ as g, aC as T, aY as P, aZ as I, aV as _, ay as h, Y as L, ae as E, a_ as m, aW as O, af as R, bk as D, _ as f, bn as k, bt as B, ap as M, aH as v, al as F, ak as N, aD as W, aG as x, aX as U, V as w, a5 as Q, a4 as H, bQ as G, bo as V, bT as Y, ag as j, ai as z, ah as X, aa as K, a9 as Z, a8 as $, b_ as J, at as q, aS as aa, aR as sa, aw as ea, ax as oa, ab as ta, aj as ra, bU as ia, bX as ba, bR as na, bS as Aa, aT as Ca, aL as la, X as Sa, ar as pa, aq as ua, av as ya, a0 as ca, aU as da, au as ga, O as Ta, bW as Pa, bP as Ia, bl as _a, bm as ha, K as La, W as Ea, an as ma, ao as Oa, a1 as Ra, am as Da, aM as fa, bz as ka, bu as Ba, by as Ma, bq as va, b8 as Fa, b9 as Na, ba as Wa, bd as xa, bi as Ua, bg as wa, b7 as Qa, b6 as Ha, b3 as Ga, bb as Va, b2 as Ya, b5 as ja, bj as za, bc as Xa, b4 as Ka, bh as Za, U as $a, S as Ja, aK as qa, aN as as, aP as ss, a2 as es, a3 as os, bL as ts, b1 as rs, br as is, bC as bs, aA as ns, bE as As, bv as Cs, bN as ls, bH as Ss, bF as ps, bG as us, bf as ys, be as cs, bZ as ds, bY as gs, as as Ts, bV as Ps, bA as Is, bI as _s, bs as hs, bw as Ls, bp as Es, bO as ms, bB as Os, bK as Rs, bx as Ds, bM as fs, bD as ks, bJ as Bs, az as Ms, a7 as vs, b$ as Fs } from "./index-Dm6584pR.js";
2
+ import { A as Ws, h as xs, c as Us, C as ws, D as Qs, R as Hs, V as Gs, x as Vs, X as Ys, K as js, d as zs, L as Xs, M as Ks, I as Zs, J as $s, E as Js, G as qs, f as ae, O as se, P as ee, Z as oe, _ as te, T as re, U as ie, $ as be, a0 as ne, B as Ae, s as Ce, p as le, F as Se, H as pe, v as ue, y as ye, r as ce, e as de, z as ge, Q as Te, S as Pe, Y as Ie, N as _e, W as he, u as Le, b as Ee, a as me, w as Oe } from "./AbyssCookieConsentProvider-TE46ywnd.js";
3
+ import { C as De } from "./CookieConsentSettings.component-BKsYgpMa.js";
4
+ import { au as ke, B as Be, at as Me, as as ve, av as Fe, z as Ne, C as We, E as xe, I as Ue, P as we, ax as Qe, W as He, ay as Ge, az as Ve, y as Ye, w as je, aw as ze } from "./design-theme-CN_6fRX3.js";
5
5
  export {
6
6
  ke as ABYSS_SERVICE_CONFIG,
7
7
  e as ABYSS_SIDEBAR_WIDTH,
@@ -51,8 +51,8 @@ export {
51
51
  U as AbyssToast,
52
52
  w as AccountTransactionsRow,
53
53
  Q as ApplicationSentinelTypeChip,
54
- G as ApplicationWebhookTypeChip,
55
- H as BILLING_ACCOUNT_STATUS_COLORS,
54
+ H as ApplicationWebhookTypeChip,
55
+ G as BILLING_ACCOUNT_STATUS_COLORS,
56
56
  V as BUBBLE_MAX_WIDTH,
57
57
  Us as COOKIE_NAME,
58
58
  Y as CREDIT_TRANSACTION_TYPE_COLORS,
@@ -63,8 +63,8 @@ export {
63
63
  Z as ColorPicker,
64
64
  $ as CompanySearchAutocomplete,
65
65
  We as ConfirmModal,
66
- q as ConfirmModalContextProvider,
67
- J as ContextSelector,
66
+ J as ConfirmModalContextProvider,
67
+ q as ContextSelector,
68
68
  ws as CookieConsentBanner,
69
69
  De as CookieConsentSettings,
70
70
  Qs as DEFAULT_PRIVACY_HREF,
@@ -106,7 +106,7 @@ export {
106
106
  Ba as QuotaOfferState,
107
107
  Ma as QuotaReachedDialog,
108
108
  va as QuotaSegmentKind,
109
- Gs as ReconcileAction,
109
+ Hs as ReconcileAction,
110
110
  Qe as SuccessInfoBox,
111
111
  Fa as SupportActionButtons,
112
112
  Na as SupportActivityLog,
@@ -115,8 +115,8 @@ export {
115
115
  Ua as SupportCategoryGroupCards,
116
116
  wa as SupportCategorySelect,
117
117
  Qa as SupportMessageInput,
118
- Ga as SupportMessageThread,
119
- Ha as SupportPriorityChip,
118
+ Ha as SupportMessageThread,
119
+ Ga as SupportPriorityChip,
120
120
  Va as SupportSidebar,
121
121
  Ya as SupportStatusBadge,
122
122
  ja as SupportTicketCreateForm,
@@ -125,11 +125,11 @@ export {
125
125
  Ka as SupportTicketList,
126
126
  Za as SupportTopBar,
127
127
  $a as UserAvatar,
128
- qa as UserAvatarList,
129
- Ja as UserSettings,
128
+ Ja as UserAvatarList,
129
+ qa as UserSettings,
130
130
  as as UserSettingsModal,
131
- Hs as VALIDITY_DAYS,
132
- Ge as WarnInfoBox,
131
+ Gs as VALIDITY_DAYS,
132
+ He as WarnInfoBox,
133
133
  ss as WaterParticles,
134
134
  es as WebhookResponseCodeChip,
135
135
  os as WebhookTypeChip,
@@ -147,10 +147,10 @@ export {
147
147
  ns as createAbyssLayoutStore,
148
148
  As as createAbyssTheme,
149
149
  $s as cyan,
150
- qs as darkCustom,
151
- Js as darkPalette,
150
+ Js as darkCustom,
151
+ qs as darkPalette,
152
152
  Cs as deriveQuotaOfferState,
153
- He as duration,
153
+ Ge as duration,
154
154
  Ve as easing,
155
155
  ls as fadeIn,
156
156
  ae as flattenTranslations,
@@ -0,0 +1,13 @@
1
+ /** The route of a RUM session page in abyss-main's front. */
2
+ export declare const ABYSS_MAIN_RUM_SESSION_ROUTE: "/org/:orgId/project/:projectId/application/:applicationId/monitor/rum/sessions/:sessionId";
3
+ /** The Monitor application a session belongs to, in abyss-main's front. */
4
+ export interface AbyssMainRumSessionContext {
5
+ orgId: string;
6
+ projectId: string;
7
+ applicationId: string;
8
+ }
9
+ /**
10
+ * The path of a session page; `t` (seconds since the start of the session, floored, never
11
+ * negative) opens it at that instant (§35.8). The session id is URI-encoded.
12
+ */
13
+ export declare const abyssMainRumSessionPath: ({ orgId, projectId, applicationId }: AbyssMainRumSessionContext, sessionId: string, t?: number) => string;
@@ -0,0 +1 @@
1
+ export {};
@@ -9,6 +9,13 @@ export interface AbyssRumFeedbackTicket {
9
9
  appName: string;
10
10
  /** The Monitor page of the session at the instant of the feedback. */
11
11
  sessionUrl: (sessionId: string, offsetMs: number) => string;
12
+ /**
13
+ * The language the front is read in at the instant of the feedback (`fr`, `en-GB`…): the
14
+ * language of the intake's follow-up e-mails. Read at each feedback, so a language switched after
15
+ * start is followed. Without it, or for a language the intake does not speak, none is sent and the
16
+ * intake uses its default.
17
+ */
18
+ locale?: () => string | undefined;
12
19
  }
13
20
  /** The signed-in user of the front, when there is one: the reporter of last resort. */
14
21
  export interface FeedbackAccount {
@@ -1,2 +1,7 @@
1
1
  export * from './AbyssRumProvider';
2
2
  export type { AbyssRumFeedbackTicket } from './feedback-ticket';
3
+ export { createRouteResolver } from './route-resolver';
4
+ export { ABYSS_MAIN_RUM_SESSION_ROUTE, abyssMainRumSessionPath, } from './abyss-main-session-path';
5
+ export type { AbyssMainRumSessionContext } from './abyss-main-session-path';
6
+ export { buildAbyssRumProviderConfig } from './rum-provider-config';
7
+ export type { AbyssRumProviderConfigInput } from './rum-provider-config';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The SDK's `routeResolver` over the front's full route templates. The templates are ranked as
3
+ * react-router ranks its routes: a static segment beats a parameter, a parameter beats a splat, so
4
+ * the most precise template wins whatever the order of the list. A URL no template matches resolves
5
+ * to its own `pathname` (the SDK masks it).
6
+ */
7
+ export declare const createRouteResolver: (patterns: readonly string[]) => ((location: Location) => string);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,39 @@
1
+ import { AbyssRumProviderConfig } from './AbyssRumProvider';
2
+ /** The raw config values of a front's RUM; an empty string counts as not set. */
3
+ export interface AbyssRumProviderConfigInput {
4
+ /** Public RUM token of the front's environment (`VITE_ABYSS_MONITOR_RUM_TOKEN`). */
5
+ token: string | undefined;
6
+ /** The Monitor application of the front's API. */
7
+ applicationId: string | undefined;
8
+ /** Monitor's API URL; only its origin is kept. */
9
+ monitorApiUrl: string | undefined;
10
+ /** The front's own API URL: the relay, and an instrumented origin. */
11
+ apiUrl: string | undefined;
12
+ /** abyss-main's API URL: an instrumented origin (the same as `apiUrl` for abyss-main's front). */
13
+ mainApiUrl: string | undefined;
14
+ /** `true` for a front that calls Monitor's API itself (abyss-main's): Monitor is instrumented too. */
15
+ instrumentMonitorApi?: boolean;
16
+ /** Commit SHA of the build (`VITE_RELEASE`); empty: the sessions carry no release. */
17
+ release: string | undefined;
18
+ /** The front's full route templates, as its router mounts them (`/org/:orgId/boards/:boardId`). */
19
+ routeTemplates: readonly string[];
20
+ /** Product name, in the title of a feedback ticket (`AbyssCloud`). */
21
+ appName: string;
22
+ /** abyss-main's front URL, where the session page lives; only its origin is kept. */
23
+ mainFrontUrl: string | undefined;
24
+ /** Slug of the Internal Tickets intake the feedback is filed in. */
25
+ feedbackIntakeSlug: string | undefined;
26
+ /** Section of that intake. */
27
+ feedbackSectionId: string | undefined;
28
+ /** Organization of the Monitor application, in the session page's path. */
29
+ organizationId: string | undefined;
30
+ /** Project of the Monitor application, in the session page's path. */
31
+ projectId: string | undefined;
32
+ /** The front's current language, read at each feedback (see `AbyssRumFeedbackTicket.locale`). */
33
+ locale?: () => string | undefined;
34
+ }
35
+ /**
36
+ * The provider's options, `null` when the token, the application, Monitor's API, the front's API or
37
+ * abyss-main's API is not set (nothing to install).
38
+ */
39
+ export declare const buildAbyssRumProviderConfig: (input: AbyssRumProviderConfigInput) => AbyssRumProviderConfig | null;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import { ThemeMode } from './tokens/primitives';
2
+ export interface DesignCssVariablesProps {
3
+ mode: ThemeMode;
4
+ }
5
+ /**
6
+ * Writes the `--abyss-*` variables of `mode` on the document root, the ones `AbyssThemeProvider`
7
+ * writes. For a host still under the legacy theme provider: the design system components that
8
+ * paint through those variables (`ToolIcon`, the `AppShell` product icon) then render as they do
9
+ * under `AbyssThemeProvider`. Never mount both: `AbyssThemeProvider` already writes them.
10
+ */
11
+ export declare function DesignCssVariables({ mode, }: DesignCssVariablesProps): JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -15,7 +15,10 @@ type ControlSize = 'small' | 'medium' | 'large';
15
15
  export declare const controlHeight: (theme: Theme, size?: ControlSize) => number;
16
16
  /** Height of a table or list row at the theme density. */
17
17
  export declare const rowHeight: (theme: Theme) => number;
18
- /** Minimum tap size below the `md` breakpoint (ADR-0174 §3, densité). */
18
+ /**
19
+ * Minimum tap size below 768 px (ADR-0174 §3, densité): the design system's mobile tier, whatever
20
+ * the theme's MUI breakpoints.
21
+ */
19
22
  export declare const touchTarget: (theme: Theme) => CSSObject;
20
23
  /** Motion of a property at the standard curve. */
21
24
  export declare const transitionOf: (theme: Theme, properties: string[], duration?: keyof Theme["design"]["durations"]) => string;
@@ -1,3 +1,4 @@
1
+ import { ThemeMode } from './tokens/primitives';
1
2
  import { SemanticToken } from './tokens/semantic';
2
3
  /** The CSS custom property of a semantic token: `bg.canvas` -> `--abyss-bg-canvas`. */
3
4
  export declare function cssVariableName(token: SemanticToken): string;
@@ -7,3 +8,9 @@ export declare function cssVariableName(token: SemanticToken): string;
7
8
  * always matches the document root.
8
9
  */
9
10
  export declare function buildCssVariables(): string;
11
+ /**
12
+ * The `--abyss-*` stylesheet of one mode on the document root, with no `data-theme` selector: the
13
+ * same declarations `buildCssVariables` gives that mode, for a host that does not render
14
+ * `AbyssThemeProvider` and so never sets `data-theme`.
15
+ */
16
+ export declare function buildModeCssVariables(mode: ThemeMode): string;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The width tiers of the design system (ADR-0174 §3): mobile below 768 px, tablet from 768 to
3
+ * 1199 px, desktop from 1200 px.
4
+ */
5
+ export declare enum DesignTier {
6
+ Mobile = "mobile",
7
+ Tablet = "tablet",
8
+ Desktop = "desktop"
9
+ }
10
+ /** A tier that starts at a breakpoint: every tier but the first. */
11
+ export type DesignTierStart = DesignTier.Tablet | DesignTier.Desktop;
12
+ /**
13
+ * Media queries on the design system's widths, read from the tokens and never from
14
+ * `theme.breakpoints`: a component switches at 768 / 1200 px whatever the theme it renders under,
15
+ * the legacy one included (MUI's `md` there is 900 px). The strings are those MUI's breakpoints
16
+ * build, so under `AbyssThemeProvider`, whose breakpoints are the tokens, nothing changes. They
17
+ * serve as `styled` keys and as `useMediaQuery` queries alike.
18
+ */
19
+ export declare const designMedia: {
20
+ /** From the start of `tier` up. */
21
+ up: (tier: DesignTierStart) => string;
22
+ /** Below the start of `tier`. */
23
+ down: (tier: DesignTierStart) => string;
24
+ /** The widths of `tier` only. */
25
+ only: (tier: DesignTier) => string;
26
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -3,3 +3,7 @@ export * from './augmentation';
3
3
  export * from './create-abyss-theme';
4
4
  export * from './css-variables';
5
5
  export * from './AbyssThemeProvider';
6
+ export * from './DesignCssVariables';
7
+ export * from './design-media';
8
+ export * from './use-design-breakpoint';
9
+ export { focusRing } from './components/shared';
@@ -0,0 +1,7 @@
1
+ import { DesignTier } from './design-media';
2
+ /**
3
+ * The design system tier of the viewport (mobile < 768 px, tablet 768–1199 px, desktop ≥ 1200 px),
4
+ * whatever the theme's MUI breakpoints. Read on the first render (`noSsr`): a component draws the
5
+ * right form at once, without a pass at the wrong one.
6
+ */
7
+ export declare const useDesignBreakpoint: () => DesignTier;
@@ -1603,6 +1603,22 @@ declare const _default: {
1603
1603
  };
1604
1604
  'item-with-count': string;
1605
1605
  'item-urgent': string;
1606
+ 'new-tab': string;
1607
+ };
1608
+ 'notifications-menu': {
1609
+ trigger: string;
1610
+ title: string;
1611
+ empty: string;
1612
+ loading: string;
1613
+ unread: string;
1614
+ 'mark-all-read': string;
1615
+ sound: string;
1616
+ preferences: string;
1617
+ };
1618
+ 'account-menu': {
1619
+ trigger: string;
1620
+ 'dark-mode': string;
1621
+ logout: string;
1606
1622
  };
1607
1623
  'page-header': {
1608
1624
  breadcrumbs: string;
@@ -1715,6 +1731,10 @@ declare const _default: {
1715
1731
  search: string;
1716
1732
  results: string;
1717
1733
  empty: string;
1734
+ recents: string;
1735
+ 'clear-group': string;
1736
+ 'source-loading': string;
1737
+ 'source-error': string;
1718
1738
  };
1719
1739
  };
1720
1740
  };
@@ -1603,6 +1603,22 @@ declare const _default: {
1603
1603
  };
1604
1604
  'item-with-count': string;
1605
1605
  'item-urgent': string;
1606
+ 'new-tab': string;
1607
+ };
1608
+ 'notifications-menu': {
1609
+ trigger: string;
1610
+ title: string;
1611
+ empty: string;
1612
+ loading: string;
1613
+ unread: string;
1614
+ 'mark-all-read': string;
1615
+ sound: string;
1616
+ preferences: string;
1617
+ };
1618
+ 'account-menu': {
1619
+ trigger: string;
1620
+ 'dark-mode': string;
1621
+ logout: string;
1606
1622
  };
1607
1623
  'page-header': {
1608
1624
  breadcrumbs: string;
@@ -1715,6 +1731,10 @@ declare const _default: {
1715
1731
  search: string;
1716
1732
  results: string;
1717
1733
  empty: string;
1734
+ recents: string;
1735
+ 'clear-group': string;
1736
+ 'source-loading': string;
1737
+ 'source-error': string;
1718
1738
  };
1719
1739
  };
1720
1740
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/commons-front-core",
3
- "version": "8.0.0",
3
+ "version": "8.2.0",
4
4
  "description": "Front Core package of AbyssProject",
5
5
  "main": "dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -80,7 +80,7 @@
80
80
  "react-is": "^18.0.0 || ^19.0.0",
81
81
  "react-router-dom": "^6.15.0",
82
82
  "zustand": "^5.0.0",
83
- "@abyss-project/main": "15.1.0"
83
+ "@abyss-project/main": "15.2.0"
84
84
  },
85
85
  "peerDependenciesMeta": {
86
86
  "@abyss-project/capacitor-auth": {
@@ -130,7 +130,7 @@
130
130
  "use-debounce": "^10.0.5",
131
131
  "uuid": "^9.0.0",
132
132
  "yup": "^0.32.11",
133
- "@abyss-project/main": "15.1.0"
133
+ "@abyss-project/main": "15.2.0"
134
134
  },
135
135
  "devDependencies": {
136
136
  "@abyss-project/cloud": "^2.4.0",