@abyss-project/commons-front-core 7.1.0 → 8.0.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 (55) hide show
  1. package/README.md +24 -0
  2. package/dist/{AbyssModal.component-DVIzX2ko.js → AbyssCookieConsentProvider-BhSzVu8P.js} +2328 -2103
  3. package/dist/CookieConsentSettings.component-DMEAuCVS.js +77 -0
  4. package/dist/components/layers/Toast/Toast.d.ts +1 -1
  5. package/dist/components/structure/AppShell/AppShell.d.ts +1 -1
  6. package/dist/components/structure/test-support/structure-test-harness.d.ts +1 -1
  7. package/dist/cookie-consent.js +17 -16
  8. package/dist/{design-theme-DGpfyrRa.js → design-theme-CvLzOz3p.js} +1 -1
  9. package/dist/fonts.css +1 -1
  10. package/dist/hooks/use-rich-intl.hook.d.ts +10 -0
  11. package/dist/{index-2dP8eJDC.js → index-21vSFz6u.js} +2 -2
  12. package/dist/{index-CKRPvslz.js → index-6KdfKdSJ.js} +2 -2
  13. package/dist/{index-CRAwLl2U.js → index-7HAvRXgu.js} +2 -2
  14. package/dist/{index-ClyGJxMq.js → index-ASLTmD1Y.js} +2 -2
  15. package/dist/{index-EOvj8bHf.js → index-BTjzj7mm.js} +2 -2
  16. package/dist/{index-Bnd34zc3.js → index-BVS73U9E.js} +4 -4
  17. package/dist/{index-D3RFab1e.js → index-BkfBpYKR.js} +3 -3
  18. package/dist/{index-G39MXErO.js → index-BqIg55B3.js} +4 -4
  19. package/dist/{index-BCbBLGCq.js → index-Btnmn1iK.js} +4 -4
  20. package/dist/{index-uN5dp-oL.js → index-BtsnuEJC.js} +24753 -22818
  21. package/dist/{index-5lZWuL9E.js → index-C92C_oG5.js} +2 -2
  22. package/dist/{index-BNXtGwVO.js → index-CHGRiRCe.js} +3 -3
  23. package/dist/{index-BvnEqebm.js → index-ClLoBnCN.js} +2 -2
  24. package/dist/{index-C9rZao0s.js → index-D4Qh2Iww.js} +3 -3
  25. package/dist/{index-DY-1nAn8.js → index-D5e4uD4k.js} +2 -2
  26. package/dist/{index-BzqtPPN5.js → index-D_GWBYM2.js} +1 -1
  27. package/dist/{index-D-ULIp83.js → index-DixNft1u.js} +2 -2
  28. package/dist/{index-s1jdo-Md.js → index-GoHiFeaw.js} +2 -2
  29. package/dist/{index-CtgSTnzK.js → index-LdiTmDFg.js} +2 -2
  30. package/dist/{index-Dne75cXj.js → index-Ni4BmFs4.js} +2 -2
  31. package/dist/{index-CUmAInm9.js → index-bR-mnNUA.js} +2 -2
  32. package/dist/{index-CEkvsFyX.js → index-l7FAjaVB.js} +3 -3
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +1581 -1514
  35. package/dist/legacy/components/CookieConsent/AbyssCookieConsentProvider.d.ts +5 -0
  36. package/dist/legacy/components/CookieConsent/AbyssCookieConsentProvider.spec.d.ts +1 -0
  37. package/dist/legacy/components/Utils/AbyssErrorPage/AbyssErrorBoundary.component.spec.d.ts +1 -0
  38. package/dist/legacy/fonts.css +1 -1
  39. package/dist/legacy.js +83 -82
  40. package/dist/rum/AbyssRumProvider.d.ts +29 -0
  41. package/dist/rum/AbyssRumProvider.spec.d.ts +1 -0
  42. package/dist/rum/feedback-ticket.d.ts +24 -0
  43. package/dist/rum/index.d.ts +2 -0
  44. package/dist/theme/augmentation.d.ts +1 -1
  45. package/dist/theme/components/shared.d.ts +1 -1
  46. package/dist/theme/create-abyss-theme.d.ts +1 -1
  47. package/dist/theme/design-theme.d.ts +1 -1
  48. package/dist/theme/tokens/oklch.d.ts +1 -1
  49. package/dist/theme/tokens/soft.d.ts +1 -1
  50. package/dist/translations/en.d.ts +1 -0
  51. package/dist/translations/fr.d.ts +1 -0
  52. package/package.json +7 -3
  53. package/vite.config.ts +1 -1
  54. package/dist/CookieConsentSettings.component-BdBT72qy.js +0 -299
  55. package/test-results/catalog/.last-run.json +0 -4
@@ -1,6 +1,11 @@
1
1
  import { default as React } from 'react';
2
2
  import { UseCookieConsent } from '../../../hooks/use-cookie-consent.hook';
3
3
  export declare const useAbyssCookieConsent: () => UseCookieConsent;
4
+ /**
5
+ * The consent of the closest `<AbyssCookieConsentProvider>`, `null` outside one: for a consumer
6
+ * that must work without the provider (`AbyssRumProvider` then reads every category as refused).
7
+ */
8
+ export declare const useOptionalAbyssCookieConsent: () => UseCookieConsent | null;
4
9
  export interface AbyssCookieConsentProviderProps {
5
10
  children: React.ReactNode;
6
11
  consentVersion: string;
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Lexend, self-hosted for the legacy typography (ADR-0166 §2): an app imports
2
+ * Lexend, self-hosted for the legacy typography (ADR-0174 §2): an app imports
3
3
  * `@abyss-project/commons-front-core/legacy/fonts.css` once at its entry point in place of the
4
4
  * Google Fonts link. The variable font registers the family "Lexend Variable", listed first in the
5
5
  * legacy `fontFamily`.
package/dist/legacy.js CHANGED
@@ -1,9 +1,9 @@
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 l, a6 as C, 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 B, bt as k, 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 q, b_ as J, at as $, 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 la, aL as Ca, 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 Ba, bu as ka, 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 qa, S as Ja, aK as $a, 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 ls, bN as Cs, 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 Bs, bJ as ks, az as Ms, a7 as vs, b$ as Fs } from "./index-uN5dp-oL.js";
2
- import { A as Ws, C as xs, a as Us, u as ws } from "./CookieConsentSettings.component-BdBT72qy.js";
3
- import { A as Gs, C as Hs, D as Vs, R as Ys, V as js, p as zs, S as Xs, G as Ks, c as Zs, H as qs, I as Js, E as $s, F as ae, x as se, z as ee, f as oe, K as te, L as re, U as ie, W as be, O as ne, P as Ae, X as le, Y as Ce, v as Se, n as pe, l as ue, y as ye, B as ce, o as de, q as ge, r as Te, a as Pe, s as Ie, M as _e, N as he, T as Le, J as Ee, Q as me, u as Oe, w as Re } from "./AbyssModal.component-DVIzX2ko.js";
4
- import { aB as fe, y as Be, aA as ke, az as Me, aC as ve, x as Fe, C as Ne, E as We, I as xe, P as Ue, aE as we, W as Qe, aF as Ge, aG as He, v as Ve, q as Ye, aD as je } from "./design-theme-DGpfyrRa.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 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";
5
5
  export {
6
- fe as ABYSS_SERVICE_CONFIG,
6
+ ke as ABYSS_SERVICE_CONFIG,
7
7
  e as ABYSS_SIDEBAR_WIDTH,
8
8
  o as ABYSS_SIDEBAR_WIDTH_COLLAPSED,
9
9
  t as AVATAR_BASE_SX,
@@ -12,8 +12,8 @@ export {
12
12
  b as AbyssBackground,
13
13
  n as AbyssBarChart,
14
14
  A as AbyssBillingPlan,
15
- l as AbyssCashFlowChart,
16
- C as AbyssCommandPalette,
15
+ C as AbyssCashFlowChart,
16
+ l as AbyssCommandPalette,
17
17
  Ws as AbyssCookieConsentProvider,
18
18
  S as AbyssDashboardLayout,
19
19
  p as AbyssDatePicker,
@@ -31,22 +31,22 @@ export {
31
31
  Be as AbyssLoadingScreen,
32
32
  E as AbyssMarkdownEditor,
33
33
  m as AbyssMenuItem,
34
- Gs as AbyssModal,
34
+ xs as AbyssModal,
35
35
  O as AbyssNotifications,
36
36
  R as AbyssNumberField,
37
37
  D as AbyssPendingInvitations,
38
38
  f as AbyssPieChart,
39
- B as AbyssQuotaGauge,
40
- k as AbyssQuotaOffer,
39
+ k as AbyssQuotaGauge,
40
+ B as AbyssQuotaOffer,
41
41
  M as AbyssScopeSwitcher,
42
42
  v as AbyssSearchBar,
43
43
  F as AbyssSelectOrganization,
44
44
  N as AbyssSelectProject,
45
- ke as AbyssServiceChip,
46
- Me as AbyssServiceSelect,
47
- ve as AbyssServiceSingleSelect,
45
+ Me as AbyssServiceChip,
46
+ ve as AbyssServiceSelect,
47
+ Fe as AbyssServiceSingleSelect,
48
48
  W as AbyssSidebar,
49
- Fe as AbyssTable,
49
+ Ne as AbyssTable,
50
50
  x as AbyssThemeToggle,
51
51
  U as AbyssToast,
52
52
  w as AccountTransactionsRow,
@@ -54,20 +54,20 @@ export {
54
54
  G as ApplicationWebhookTypeChip,
55
55
  H as BILLING_ACCOUNT_STATUS_COLORS,
56
56
  V as BUBBLE_MAX_WIDTH,
57
- Hs as COOKIE_NAME,
57
+ Us as COOKIE_NAME,
58
58
  Y as CREDIT_TRANSACTION_TYPE_COLORS,
59
59
  j as CloudImport,
60
60
  z as CloudImportFile,
61
61
  X as CloudImportFolder,
62
62
  K as ColorPalette,
63
63
  Z as ColorPicker,
64
- q as CompanySearchAutocomplete,
65
- Ne as ConfirmModal,
66
- J as ConfirmModalContextProvider,
67
- $ as ContextSelector,
68
- xs as CookieConsentBanner,
69
- Us as CookieConsentSettings,
70
- Vs as DEFAULT_PRIVACY_HREF,
64
+ $ as CompanySearchAutocomplete,
65
+ We as ConfirmModal,
66
+ q as ConfirmModalContextProvider,
67
+ J as ContextSelector,
68
+ ws as CookieConsentBanner,
69
+ De as CookieConsentSettings,
70
+ Qs as DEFAULT_PRIVACY_HREF,
71
71
  aa as DRAWER_WIDTH_COLLAPSED,
72
72
  sa as DRAWER_WIDTH_EXPANDED,
73
73
  ea as DashboardLayout,
@@ -75,13 +75,13 @@ export {
75
75
  ta as DatePeriodPicker,
76
76
  ra as DropZone,
77
77
  ia as EUR_TRANSACTION_TYPE_COLORS,
78
- We as ErrorInfoBox,
78
+ xe as ErrorInfoBox,
79
79
  ba as GROUP_COLORS,
80
80
  na as INVOICE_STATUS_COLORS,
81
81
  Aa as INVOICE_TYPE_COLORS,
82
- la as ImportButton,
83
- Ca as ImportFromCloudModal,
84
- xe as InfoBox,
82
+ Ca as ImportButton,
83
+ la as ImportFromCloudModal,
84
+ Ue as InfoBox,
85
85
  Sa as InternalProjectCard,
86
86
  pa as LANGUAGE_FLAGS,
87
87
  ua as LanguageFlagLabel,
@@ -92,7 +92,7 @@ export {
92
92
  Ta as OrganizationAvatar,
93
93
  Pa as PAGE_ICONS,
94
94
  Ia as PLAN_TIER_COLORS,
95
- Ue as PasswordInput,
95
+ we as PasswordInput,
96
96
  _a as PdfEditor,
97
97
  ha as PdfOperationType,
98
98
  La as ProjectAvatar,
@@ -102,12 +102,12 @@ export {
102
102
  Ra as ProjectStatusChip,
103
103
  Da as ProjectTagChip,
104
104
  fa as QRCodeModal,
105
- Ba as QUOTA_SERVICE_META,
106
- ka as QuotaOfferState,
105
+ ka as QUOTA_SERVICE_META,
106
+ Ba as QuotaOfferState,
107
107
  Ma as QuotaReachedDialog,
108
108
  va as QuotaSegmentKind,
109
- Ys as ReconcileAction,
110
- we as SuccessInfoBox,
109
+ Gs as ReconcileAction,
110
+ Qe as SuccessInfoBox,
111
111
  Fa as SupportActionButtons,
112
112
  Na as SupportActivityLog,
113
113
  Wa as SupportAttachmentsPanel,
@@ -124,36 +124,36 @@ export {
124
124
  Xa as SupportTicketDetail,
125
125
  Ka as SupportTicketList,
126
126
  Za as SupportTopBar,
127
- qa as UserAvatar,
128
- Ja as UserAvatarList,
129
- $a as UserSettings,
127
+ $a as UserAvatar,
128
+ qa as UserAvatarList,
129
+ Ja as UserSettings,
130
130
  as as UserSettingsModal,
131
- js as VALIDITY_DAYS,
132
- Qe as WarnInfoBox,
131
+ Hs as VALIDITY_DAYS,
132
+ Ge as WarnInfoBox,
133
133
  ss as WaterParticles,
134
134
  es as WebhookResponseCodeChip,
135
135
  os as WebhookTypeChip,
136
- zs as amber,
136
+ Vs as amber,
137
137
  ts as bioluminescentPulse,
138
- Xs as brand,
138
+ Ys as brand,
139
139
  rs as buildAbyssFamilyMenuSection,
140
140
  is as buildQuotaAxis,
141
141
  bs as buildQuotaServiceChipSx,
142
- Ks as chipColors,
143
- Zs as clearCookie,
144
- qs as colorPool,
145
- Js as colorPoolExtended,
146
- $s as colors,
142
+ js as chipColors,
143
+ zs as clearCookie,
144
+ Xs as colorPool,
145
+ Ks as colorPoolExtended,
146
+ Zs as colors,
147
147
  ns as createAbyssLayoutStore,
148
148
  As as createAbyssTheme,
149
- ae as cyan,
150
- se as darkCustom,
151
- ee as darkPalette,
152
- ls as deriveQuotaOfferState,
153
- Ge as duration,
154
- He as easing,
155
- Cs as fadeIn,
156
- oe as flattenTranslations,
149
+ $s as cyan,
150
+ qs as darkCustom,
151
+ Js as darkPalette,
152
+ Cs as deriveQuotaOfferState,
153
+ He as duration,
154
+ Ve as easing,
155
+ ls as fadeIn,
156
+ ae as flattenTranslations,
157
157
  Ss as fontFamily,
158
158
  ps as fontSize,
159
159
  us as fontWeight,
@@ -162,49 +162,50 @@ export {
162
162
  ds as getFileColor,
163
163
  gs as getFileIcon,
164
164
  Ts as getLanguageFlag,
165
- te as getPoolColor,
166
- re as getPoolColorExtended,
165
+ se as getPoolColor,
166
+ ee as getPoolColorExtended,
167
167
  Ps as getProjectColor,
168
168
  Is as getQuotaServiceColor,
169
- Ve as getServiceConfig,
170
- ie as glassDark,
171
- be as glassLight,
172
- ne as glow,
173
- Ae as glowCyan,
174
- le as gradientsDark,
175
- Ce as gradientsLight,
176
- Se as green,
169
+ Ye as getServiceConfig,
170
+ oe as glassDark,
171
+ te as glassLight,
172
+ re as glow,
173
+ ie as glowCyan,
174
+ be as gradientsDark,
175
+ ne as gradientsLight,
176
+ Ae as green,
177
177
  _s as iconSize,
178
- pe as indigo,
179
- ue as legacyTokens,
180
- ye as lightCustom,
181
- ce as lightPalette,
178
+ Ce as indigo,
179
+ le as legacyTokens,
180
+ Se as lightCustom,
181
+ pe as lightPalette,
182
182
  hs as markerRatio,
183
- de as neutral,
183
+ ue as neutral,
184
184
  Ls as offersAction,
185
185
  Es as placeBubble,
186
186
  ms as pulseGlow,
187
- ge as purple,
188
- Ye as radius,
189
- Te as readCookie,
190
- Pe as reconcile,
191
- Ie as red,
187
+ ye as purple,
188
+ je as radius,
189
+ ce as readCookie,
190
+ de as reconcile,
191
+ ge as red,
192
192
  Os as renderQuotaServiceIcon,
193
- _e as shadow,
194
- he as shadowLight,
193
+ Te as shadow,
194
+ Pe as shadowLight,
195
195
  Rs as shimmer,
196
196
  Ds as shouldSuggestModule,
197
197
  fs as slideInUp,
198
- Le as social,
199
- Ee as tagColorPool,
200
- me as textShadow,
201
- Bs as theme,
202
- je as transition,
203
- ks as typographyVariants,
204
- ws as useAbyssCookieConsent,
198
+ Ie as social,
199
+ _e as tagColorPool,
200
+ he as textShadow,
201
+ ks as theme,
202
+ ze as transition,
203
+ Bs as typographyVariants,
204
+ Le as useAbyssCookieConsent,
205
205
  Ms as useAbyssLayoutStore,
206
206
  vs as useCommandPaletteHotkey,
207
207
  Fs as useConfirm,
208
- Oe as useCookieConsent,
209
- Re as writeCookie
208
+ Ee as useCookieConsent,
209
+ me as useOptionalAbyssCookieConsent,
210
+ Oe as writeCookie
210
211
  };
@@ -0,0 +1,29 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { AbyssRumOptions, RumFeedbackSent } from '@abyss-project/monitor-browser';
3
+ import { AbyssRumFeedbackTicket } from './feedback-ticket';
4
+ /**
5
+ * The SDK options of the front, without the two this provider owns: `consent` (the analytics
6
+ * category of the cookie consent) and the SDK's `onFeedbackSent` (the ticket, then the front's).
7
+ */
8
+ export type AbyssRumProviderConfig = Omit<AbyssRumOptions, 'consent' | 'onFeedbackSent'> & {
9
+ /** Called for each feedback Monitor stored, after its ticket was filed (or skipped, or failed). */
10
+ onFeedbackSent?: (feedback: RumFeedbackSent) => void;
11
+ /** Files each feedback as an Internal Tickets ticket; without it, feedback stays in Monitor. */
12
+ feedbackTicket?: AbyssRumFeedbackTicket;
13
+ };
14
+ export type AbyssRumProviderProps = PropsWithChildren<{
15
+ /**
16
+ * Required on purpose (major 8.0.0): a front cannot forget its RUM. `null` disables it explicitly,
17
+ * nothing is installed. Read once: the SDK is started at the first commit with a non-null value,
18
+ * and a later change of `config` is ignored — the SDK lives as long as the page (§5).
19
+ */
20
+ config: AbyssRumProviderConfig | null;
21
+ }>;
22
+ /**
23
+ * Starts the browser RUM of the front. Mount it under `<AbyssCookieConsentProvider>`: replay
24
+ * requires the analytics consent, read at each decision of the SDK, so a consent given or withdrawn
25
+ * after start is followed; without the consent provider, analytics reads as refused. Under
26
+ * `<AuthProvider>`, the session's actor is the signed-in user (`null` once signed out); without it,
27
+ * there is no actor.
28
+ */
29
+ export declare const AbyssRumProvider: ({ config, children, }: AbyssRumProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { RumFeedbackSent } from '@abyss-project/monitor-browser';
2
+ /** Where a front files its users' feedback, and how it links back to the session. */
3
+ export interface AbyssRumFeedbackTicket {
4
+ /** Slug of the Internal Tickets intake (`/public/internal-ticket/intake/:slug`). */
5
+ intakeSlug: string;
6
+ /** Section of the intake the ticket is filed in. */
7
+ internalTicketSectionId: string;
8
+ /** Product name, in the ticket title: `[<appName>] Retour utilisateur`. */
9
+ appName: string;
10
+ /** The Monitor page of the session at the instant of the feedback. */
11
+ sessionUrl: (sessionId: string, offsetMs: number) => string;
12
+ }
13
+ /** The signed-in user of the front, when there is one: the reporter of last resort. */
14
+ export interface FeedbackAccount {
15
+ email: string;
16
+ alias: string;
17
+ }
18
+ /**
19
+ * Files the ticket of one feedback. The reporter is the e-mail typed in the feedback, otherwise the
20
+ * signed-in user's: an anonymous feedback without e-mail files nothing (the intake requires one),
21
+ * it stays in Monitor only. Never rejects: a failure is logged in one line and swallowed, the
22
+ * feedback itself is already stored by Monitor.
23
+ */
24
+ export declare const fileFeedbackTicket: (ticket: AbyssRumFeedbackTicket, feedback: RumFeedbackSent, account: FeedbackAccount | null) => Promise<void>;
@@ -0,0 +1,2 @@
1
+ export * from './AbyssRumProvider';
2
+ export type { AbyssRumFeedbackTicket } from './feedback-ticket';
@@ -5,7 +5,7 @@ export declare enum Density {
5
5
  Compact = "compact"
6
6
  }
7
7
  /**
8
- * The design system values carried by the MUI theme (ADR-0166 §3), read by every new component
8
+ * The design system values carried by the MUI theme (ADR-0174 §3), read by every new component
9
9
  * through `theme.design`. Colors are sRGB hexadecimal, generated from the OKLCH tokens.
10
10
  */
11
11
  export interface DesignTheme {
@@ -15,7 +15,7 @@ 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-0166 §3, densité). */
18
+ /** Minimum tap size below the `md` breakpoint (ADR-0174 §3, densité). */
19
19
  export declare const touchTarget: (theme: Theme) => CSSObject;
20
20
  /** Motion of a property at the standard curve. */
21
21
  export declare const transitionOf: (theme: Theme, properties: string[], duration?: keyof Theme["design"]["durations"]) => string;
@@ -2,7 +2,7 @@ import { Theme } from '@mui/material/styles';
2
2
  import { Density } from './augmentation';
3
3
  import { ThemeMode } from './tokens/primitives';
4
4
  /**
5
- * The MUI theme of the design system, generated from the tokens (ADR-0166 §1, §3). Its values are
5
+ * The MUI theme of the design system, generated from the tokens (ADR-0174 §1, §3). Its values are
6
6
  * also exposed under `theme.design` for the components that style themselves.
7
7
  */
8
8
  export declare function createAbyssTheme(mode: ThemeMode, options?: {
@@ -1,7 +1,7 @@
1
1
  import { Density, DesignTheme } from './augmentation';
2
2
  import { ThemeMode } from './tokens/primitives';
3
3
  /**
4
- * The `theme.design` values of a mode (ADR-0166 §3). Shared by `createAbyssTheme` and by the legacy
4
+ * The `theme.design` values of a mode (ADR-0174 §3). Shared by `createAbyssTheme` and by the legacy
5
5
  * `createTheme`, so a new component rendered in an app still on the legacy theme reads the same
6
6
  * tokens.
7
7
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OKLCH color, as written in the design tokens (ADR-0166 §3).
2
+ * OKLCH color, as written in the design tokens (ADR-0174 §3).
3
3
  * `l` in [0, 1], `c` >= 0, `h` in degrees, optional `alpha` in [0, 1].
4
4
  */
5
5
  export interface Oklch {
@@ -1,2 +1,2 @@
1
- /** Opacity of the `.soft` backgrounds (ADR-0166 §3): status badges, accent tints. */
1
+ /** Opacity of the `.soft` backgrounds (ADR-0174 §3): status badges, accent tints. */
2
2
  export declare const SOFT_ALPHA = 0.14;
@@ -307,6 +307,7 @@ declare const _default: {
307
307
  TOOLS_SHORT_LINK_COUNT: string;
308
308
  TOOLS_SHORTLINK_RESOLUTIONS_MONTH: string;
309
309
  MONITOR_WEBHOOK_INVOCATIONS_MONTH: string;
310
+ RUM_SESSIONS_MONTH: string;
310
311
  REHYDRATION_CONCURRENT_JOBS: string;
311
312
  REHYDRATION_ACTIVE_GB: string;
312
313
  REHYDRATION_MAX_TTL_DAYS: string;
@@ -307,6 +307,7 @@ declare const _default: {
307
307
  TOOLS_SHORT_LINK_COUNT: string;
308
308
  TOOLS_SHORTLINK_RESOLUTIONS_MONTH: string;
309
309
  MONITOR_WEBHOOK_INVOCATIONS_MONTH: string;
310
+ RUM_SESSIONS_MONTH: string;
310
311
  REHYDRATION_CONCURRENT_JOBS: string;
311
312
  REHYDRATION_ACTIVE_GB: string;
312
313
  REHYDRATION_MAX_TTL_DAYS: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abyss-project/commons-front-core",
3
- "version": "7.1.0",
3
+ "version": "8.0.0",
4
4
  "description": "Front Core package of AbyssProject",
5
5
  "main": "dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -60,6 +60,8 @@
60
60
  "peerDependencies": {
61
61
  "@abyss-project/capacitor-auth": "^1.0.0",
62
62
  "@abyss-project/cloud": "^2.4.0",
63
+ "@abyss-project/console": "^12.4.0",
64
+ "@abyss-project/monitor-browser": "^1.2.0",
63
65
  "@dnd-kit/core": "^6.0.0",
64
66
  "@dnd-kit/sortable": "^9.0.0",
65
67
  "@dnd-kit/utilities": "^3.0.0",
@@ -78,7 +80,7 @@
78
80
  "react-is": "^18.0.0 || ^19.0.0",
79
81
  "react-router-dom": "^6.15.0",
80
82
  "zustand": "^5.0.0",
81
- "@abyss-project/main": "15.0.0"
83
+ "@abyss-project/main": "15.1.0"
82
84
  },
83
85
  "peerDependenciesMeta": {
84
86
  "@abyss-project/capacitor-auth": {
@@ -128,10 +130,12 @@
128
130
  "use-debounce": "^10.0.5",
129
131
  "uuid": "^9.0.0",
130
132
  "yup": "^0.32.11",
131
- "@abyss-project/main": "15.0.0"
133
+ "@abyss-project/main": "15.1.0"
132
134
  },
133
135
  "devDependencies": {
134
136
  "@abyss-project/cloud": "^2.4.0",
137
+ "@abyss-project/console": "^12.4.0",
138
+ "@abyss-project/monitor-browser": "^1.2.0",
135
139
  "@playwright/test": "^1.52.0",
136
140
  "@testing-library/react": "^16.3.2",
137
141
  "@types/byte-size": "^8.1.0",
package/vite.config.ts CHANGED
@@ -77,7 +77,7 @@ export default defineConfig({
77
77
  // subpath stays `./auth` (package.json `exports`) — only the dist filename differs.
78
78
  'auth-client': resolve(__dirname, 'src/auth/client/index.ts'),
79
79
  // The previous design system (theme, visual components, their visual utils and hooks),
80
- // isolated until every app has migrated off it (ADR-0169 §2). Public subpath `./legacy`.
80
+ // isolated until every app has migrated off it (ADR-0174 §2). Public subpath `./legacy`.
81
81
  legacy: resolve(__dirname, 'src/legacy/index.ts'),
82
82
  },
83
83
  formats: ['es'],