@abyss-project/commons-front-core 8.1.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 (67) hide show
  1. package/README.md +125 -93
  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 +5579 -4478
  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/theme/DesignCssVariables.d.ts +11 -0
  57. package/dist/theme/DesignCssVariables.spec.d.ts +1 -0
  58. package/dist/theme/components/shared.d.ts +4 -1
  59. package/dist/theme/css-variables.d.ts +7 -0
  60. package/dist/theme/design-media.d.ts +26 -0
  61. package/dist/theme/design-media.spec.d.ts +1 -0
  62. package/dist/theme/focus-ring.spec.d.ts +1 -0
  63. package/dist/theme/index.d.ts +4 -0
  64. package/dist/theme/use-design-breakpoint.d.ts +7 -0
  65. package/dist/translations/en.d.ts +20 -0
  66. package/dist/translations/fr.d.ts +20 -0
  67. package/package.json +1 -1
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,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.1.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",