@abyss-project/commons-front-core 3.1.0 → 3.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 (53) hide show
  1. package/dist/{CookieConsentSettings.component-CSf_M5Gx.js → CookieConsentSettings.component-CbuDs1eV.js} +834 -782
  2. package/dist/components/Cards/project-card-date.spec.d.ts +1 -0
  3. package/dist/components/Charts/AbyssCashFlowChart/AbyssCashFlowChart.component.spec.d.ts +1 -0
  4. package/dist/components/Charts/AbyssLineChart/AbyssLineChart.component.d.ts +8 -2
  5. package/dist/components/Charts/AbyssLineChart/AbyssLineChart.component.spec.d.ts +1 -0
  6. package/dist/components/CompanySearchAutocomplete/CompanySearchAutocomplete.date.spec.d.ts +1 -0
  7. package/dist/components/Data/AbyssTable/AbyssTable.component.d.ts +16 -2
  8. package/dist/components/Data/AbyssTable/AbyssTable.component.spec.d.ts +1 -0
  9. package/dist/components/Data/AbyssTable/AbyssTableCards.component.d.ts +25 -0
  10. package/dist/components/Data/AbyssTable/abyss-table.logic.d.ts +49 -0
  11. package/dist/components/Data/AbyssTable/index.d.ts +1 -1
  12. package/dist/components/Inputs/DatePeriodPicker/date-period-picker.logic.d.ts +0 -10
  13. package/dist/components/Support/SupportMessageLink.component.spec.d.ts +1 -0
  14. package/dist/components/Support/SupportTicketList.week-preset.spec.d.ts +1 -0
  15. package/dist/components/Support/types.d.ts +4 -0
  16. package/dist/components/Utils/AbyssLayoutNotifications/AbyssNotifications.component.spec.d.ts +1 -0
  17. package/dist/components/aria-labels-i18n.spec.d.ts +1 -0
  18. package/dist/components/commons-labels-i18n.spec.d.ts +1 -0
  19. package/dist/cookie-consent.js +1 -1
  20. package/dist/hooks/index.d.ts +1 -0
  21. package/dist/hooks/use-date-fns-locale.hook.d.ts +19 -0
  22. package/dist/hooks/use-date-fns-locale.hook.spec.d.ts +1 -0
  23. package/dist/hooks/use-rich-intl.hook.d.ts +140 -64
  24. package/dist/{index-CCphPqf4.js → index-AaOdMoFK.js} +2 -2
  25. package/dist/{index-BoYupKIh.js → index-B0n-lfeR.js} +34840 -34391
  26. package/dist/{index-DUGpZohv.js → index-BCKqfi_B.js} +2 -2
  27. package/dist/{index-RBcLmJfD.js → index-BHTjQ-nA.js} +1 -1
  28. package/dist/{index-GhkzA3Z-.js → index-BKU-q-pW.js} +2 -2
  29. package/dist/{index-BToZYvup.js → index-BQczDpgZ.js} +2 -2
  30. package/dist/{index-CtSA_KxY.js → index-BjU1tuoe.js} +2 -2
  31. package/dist/{index-BtiGEZHC.js → index-BvEgzbAn.js} +3 -3
  32. package/dist/{index-6vOdokCY.js → index-Bx2Kkpwt.js} +2 -2
  33. package/dist/{index-B7EugME7.js → index-BzEyHMP8.js} +2 -2
  34. package/dist/{index-CD9GifGt.js → index-CGJ-vRjl.js} +2 -2
  35. package/dist/{index-CFVsaKv5.js → index-CSpacFzK.js} +4 -4
  36. package/dist/{index-DrHXb1cg.js → index-CY1FkVgF.js} +2 -2
  37. package/dist/{index-CDWityvJ.js → index-CdSBNpJ7.js} +3 -3
  38. package/dist/{index-AwC_8lIT.js → index-CsB1m7yG.js} +4 -4
  39. package/dist/{index-D7WU-N9n.js → index-Ct-wIZ51.js} +2 -2
  40. package/dist/{index-AUELqW5Y.js → index-DFcUTr8P.js} +4 -4
  41. package/dist/{index-C2a_Y6jF.js → index-DKhPEyAf.js} +2 -2
  42. package/dist/{index-BOqcEEHH.js → index-D_zOPQKd.js} +3 -3
  43. package/dist/{index-iw6ikhdy.js → index-DfL6kyz7.js} +3 -3
  44. package/dist/{index-BSRrH_Gr.js → index-iCe4JT7G.js} +2 -2
  45. package/dist/{index-BlCa_Vlr.js → index-qjphGfR8.js} +2 -2
  46. package/dist/index.js +135 -132
  47. package/dist/translations/en.d.ts +26 -0
  48. package/dist/translations/fr.d.ts +26 -0
  49. package/dist/utils/index.d.ts +1 -0
  50. package/dist/utils/message-link.utils.d.ts +9 -0
  51. package/dist/utils/message-link.utils.spec.d.ts +1 -0
  52. package/package.json +4 -4
  53. package/vitest.config.ts +3 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -1,13 +1,16 @@
1
1
  import { default as React } from 'react';
2
2
  import { SxProps } from '@mui/material';
3
+ import { LineSvgProps } from '@nivo/line';
3
4
  type DataPoint = {
4
- x: string | number;
5
- y: number;
5
+ x: string | number | Date;
6
+ y: number | null;
6
7
  };
7
8
  type LineSeries = {
8
9
  id: string;
9
10
  data: DataPoint[];
10
11
  };
12
+ type LineXScaleType = 'point' | 'time';
13
+ type AxisTickValues = NonNullable<LineSvgProps['axisBottom']>['tickValues'];
11
14
  type AbyssLineChartProps = {
12
15
  data: LineSeries[];
13
16
  xLabel?: string;
@@ -22,6 +25,9 @@ type AbyssLineChartProps = {
22
25
  colors?: string[];
23
26
  enableArea?: boolean;
24
27
  curve?: 'linear' | 'monotoneX' | 'cardinal' | 'step';
28
+ xScaleType?: LineXScaleType;
29
+ enablePoints?: boolean;
30
+ xTickValues?: AxisTickValues;
25
31
  };
26
32
  export declare const AbyssLineChart: React.FC<AbyssLineChartProps>;
27
33
  export {};
@@ -1,6 +1,14 @@
1
1
  import { SxProps } from '@mui/material';
2
- import { ColumnDef, SortingState } from '@tanstack/react-table';
2
+ import { ColumnDef, RowData, SortingState } from '@tanstack/react-table';
3
3
  import { ReactNode } from 'react';
4
+ import { AbyssTableMobilePlacement } from './abyss-table.logic';
5
+ declare module '@tanstack/react-table' {
6
+ interface ColumnMeta<TData extends RowData, TValue> {
7
+ /** Where this column goes in `mobileLayout="cards"`. See `resolveMobilePlacements`. */
8
+ mobile?: AbyssTableMobilePlacement;
9
+ }
10
+ }
11
+ export type { AbyssTableMobilePlacement };
4
12
  export type AbyssTableFilterDef = {
5
13
  columnId: string;
6
14
  label: string;
@@ -51,6 +59,12 @@ export type AbyssTableProps<TData extends object> = {
51
59
  getRowSx?: (row: TData, index: number) => SxProps;
52
60
  isLoading?: boolean;
53
61
  renderAboveTable?: ReactNode;
62
+ /**
63
+ * `'cards'` reflows each row into a card below the `sm` breakpoint: `primary` columns in the card's
64
+ * header, `secondary` ones behind a "details" button, `hidden` ones nowhere — per column, through
65
+ * `meta.mobile`. `'table'` (the default) keeps the `<table>` at every width.
66
+ */
67
+ mobileLayout?: 'table' | 'cards';
54
68
  };
55
- declare function AbyssTable<TData extends object>({ data, columns, enableGlobalFilter, enableColumnFilters, enableSorting, manualSorting, sorting: externalSorting, onSortingChange, enablePagination, defaultPageSize, pageSizeOptions, manualPagination, pageCount: externalPageCount, totalItems: externalTotalItems, currentPage: externalCurrentPage, onPageChange, onPageSizeChange, filters, onSearchChange, searchValue, searchPlaceholder, searchDebounceMs, emptyMessage, emptyContent, onRowClick, sx, tableLabel, getRowSx, isLoading, renderAboveTable, }: AbyssTableProps<TData>): import("react/jsx-runtime").JSX.Element;
69
+ declare function AbyssTable<TData extends object>({ data, columns, enableGlobalFilter, enableColumnFilters, enableSorting, manualSorting, sorting: externalSorting, onSortingChange, enablePagination, defaultPageSize, pageSizeOptions, manualPagination, pageCount: externalPageCount, totalItems: externalTotalItems, currentPage: externalCurrentPage, onPageChange, onPageSizeChange, filters, onSearchChange, searchValue, searchPlaceholder, searchDebounceMs, emptyMessage, emptyContent, onRowClick, sx, tableLabel, getRowSx, isLoading, renderAboveTable, mobileLayout, }: AbyssTableProps<TData>): import("react/jsx-runtime").JSX.Element;
56
70
  export default AbyssTable;
@@ -0,0 +1,25 @@
1
+ import { SxProps } from '@mui/material';
2
+ import { Header, Row } from '@tanstack/react-table';
3
+ import { ReactNode } from 'react';
4
+ import { AbyssTableMobilePlacement } from './abyss-table.logic';
5
+ export type AbyssTableCardsProps<TData extends object> = {
6
+ rows: Row<TData>[];
7
+ /** The table's leaf headers, used to label each value with its own column header. */
8
+ headers: Header<TData, unknown>[];
9
+ placements: Record<string, AbyssTableMobilePlacement>;
10
+ onRowClick?: (row: TData) => void;
11
+ getRowSx?: (row: TData, index: number) => SxProps;
12
+ isLoading: boolean;
13
+ /** What the table shows with zero rows — the exact node the `<table>` layout renders. */
14
+ emptyState: ReactNode;
15
+ listLabel?: string;
16
+ };
17
+ /**
18
+ * AbyssTable's rows reflowed as a list, for narrow viewports.
19
+ *
20
+ * Each card is the table row it replaces, not a floating tile: cards sit edge to edge inside the
21
+ * table's own container, separated by the theme divider, so the pagination footer below them reads as
22
+ * the same object it closes on desktop.
23
+ */
24
+ declare function AbyssTableCards<TData extends object>({ rows, headers, placements, onRowClick, getRowSx, isLoading, emptyState, listLabel, }: AbyssTableCardsProps<TData>): import("react/jsx-runtime").JSX.Element;
25
+ export default AbyssTableCards;
@@ -84,6 +84,55 @@ export declare function isColumnSortable(params: {
84
84
  /** What TanStack answers for client-side sorting. */
85
85
  canSortClientSide: boolean;
86
86
  }): boolean;
87
+ /**
88
+ * Resolves the page size options AbyssTable's "rows per page" `Select` renders.
89
+ *
90
+ * A `Select`'s value must be one of its own `MenuItem` values or MUI renders it blank — the bug this
91
+ * closes. A host's `defaultPageSize` (or a size restored from `onPageSizeChange`) is not guaranteed to
92
+ * be one of the caller's `pageSizeOptions`, so the current size is folded in, sorted, whenever it is
93
+ * missing.
94
+ */
95
+ export declare function resolvePageSizeOptions(options: number[], current: number): number[];
96
+ export interface ResolveCurrentPageSizeParams {
97
+ /** Whether the table is in server-side (manual) pagination mode. */
98
+ manualPagination: boolean;
99
+ /** The table's own internal pagination state's page size, when it drives one. */
100
+ tablePageSize: number | undefined;
101
+ /** The size the host asked the table to start on — and, in manual mode, its live current size. */
102
+ defaultPageSize: number;
103
+ }
104
+ /**
105
+ * Resolves the page size AbyssTable renders and reports "X–Y of Z" against.
106
+ *
107
+ * Under `manualPagination`, `getPaginationRowModel` is skipped (see the component) and the server,
108
+ * not the table, decides how many rows a page holds. `defaultPageSize` is the ONLY value this
109
+ * function may trust there — per the README's contract, the host is expected to feed its live
110
+ * `pageSize` state through that prop on every render, and `onPageSizeChange` is how the table asks
111
+ * it to. Echoing the reader's raw selector click instead, from an internal "controlled size" state,
112
+ * would show a size on a host that never wired `onPageSizeChange`: the selector and the "X–Y of Z"
113
+ * would silently start lying about a `limit` the server was never asked to honour.
114
+ *
115
+ * Client-side, the table already owns its page size through `getPaginationRowModel`, so `tablePageSize`
116
+ * wins, falling back to `defaultPageSize` only before the table has produced a state of its own.
117
+ */
118
+ export declare function resolveCurrentPageSize({ manualPagination, tablePageSize, defaultPageSize, }: ResolveCurrentPageSizeParams): number;
119
+ /**
120
+ * Where a column's value goes when AbyssTable renders a row as a mobile card:
121
+ * - `primary` — in the card's always-visible header;
122
+ * - `secondary` — behind the card's "details" button, as a label/value pair;
123
+ * - `hidden` — not rendered in the card at all (a column whose job the card already does itself,
124
+ * such as a per-row expand toggle the whole card now carries).
125
+ */
126
+ export type AbyssTableMobilePlacement = 'primary' | 'secondary' | 'hidden';
127
+ /**
128
+ * Resolves every column's mobile card placement, in column order.
129
+ *
130
+ * A declared placement always wins. Undeclared columns fall back to a default: the first two of them
131
+ * are `primary`, every later one `secondary`. Only undeclared columns count towards those two — a host
132
+ * that hides its first column or pushes one to `secondary` has not used up a header slot, so the next
133
+ * undeclared column still makes the header.
134
+ */
135
+ export declare function resolveMobilePlacements(columnIds: string[], declared: Record<string, AbyssTableMobilePlacement | undefined>): Record<string, AbyssTableMobilePlacement>;
87
136
  /**
88
137
  * The next sort after a click on a column header, under `manualSorting`.
89
138
  *
@@ -1,2 +1,2 @@
1
1
  export { default as AbyssTable } from './AbyssTable.component';
2
- export type { AbyssTableProps, AbyssTableFilterDef, } from './AbyssTable.component';
2
+ export type { AbyssTableProps, AbyssTableFilterDef, AbyssTableMobilePlacement, } from './AbyssTable.component';
@@ -1,4 +1,3 @@
1
- import { Locale } from 'date-fns';
2
1
  export type EditingBound = 'start' | 'end';
3
2
  /**
4
3
  * Time granularity of the resolved range.
@@ -68,12 +67,3 @@ export declare const computeRangeUpdate: (input: RangeUpdateInput) => RangeUpdat
68
67
  * {@link computeRangeUpdate} keeps the range valid without moving the other bound.
69
68
  */
70
69
  export declare const applyTimeChange: (input: TimeChangeInput) => RangeUpdateResult;
71
- /**
72
- * Resolve a date-fns `Locale` from an app language code (e.g. the react-intl
73
- * `intl.locale`). Defaults to English for unknown / missing codes.
74
- *
75
- * The specific locales are imported directly so they survive tree-shaking inside
76
- * the commons bundle — the host's global `setDefaultOptions` never reaches the
77
- * bundle's own date-fns copy, so locale must always be passed explicitly.
78
- */
79
- export declare const resolveDateFnsLocale: (language?: string | null) => Locale;
@@ -140,6 +140,8 @@ export interface SupportMessageThreadProps {
140
140
  /** See SupportAttachmentsPanelProps — same render-prop contract, applied
141
141
  * to each inline message attachment. */
142
142
  renderScanStatusBadge?: (attachment: ISupportTicketAttachment) => ReactNode;
143
+ /** Message to scroll to and highlight once, read by the host page from `?messageId=`. */
144
+ targetMessageId?: string;
143
145
  }
144
146
  export interface SupportMessageInputProps extends SupportCloudImportProps {
145
147
  onSendMessage: (content: string) => void;
@@ -256,6 +258,8 @@ export interface SupportTicketDetailProps extends SupportCloudImportProps {
256
258
  ticket: ISupportTicket;
257
259
  messages: ISupportTicketMessage[];
258
260
  currentUserId: string;
261
+ /** Message to scroll to and highlight once, read by the host page from `?messageId=`. */
262
+ targetMessageId?: string;
259
263
  isAdmin?: boolean;
260
264
  isLoading?: boolean;
261
265
  onNavigateBack?: () => void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -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-CSf_M5Gx.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-CbuDs1eV.js";
2
2
  export {
3
3
  s as AbyssCookieConsentProvider,
4
4
  a as COOKIE_NAME,
@@ -4,3 +4,4 @@ export * from './use-theme-transition.hook';
4
4
  export * from './use-rich-intl.hook';
5
5
  export * from './use-cloud.hook';
6
6
  export * from './use-public-users.hook';
7
+ export * from './use-date-fns-locale.hook';
@@ -0,0 +1,19 @@
1
+ import { Locale } from 'date-fns';
2
+ /**
3
+ * Resolve a date-fns `Locale` from an app language code (the react-intl
4
+ * `intl.locale`). Defaults to English for unknown / missing codes.
5
+ *
6
+ * The specific locales are imported directly so they survive tree-shaking inside
7
+ * the commons bundle.
8
+ */
9
+ export declare const resolveDateFnsLocale: (language?: string | null) => Locale;
10
+ /**
11
+ * The date-fns locale of the viewer's language, taken from the host's
12
+ * IntlProvider — which every host feeds from `user.settings.language`.
13
+ *
14
+ * Every date-fns call of this package that renders or depends on a language
15
+ * (`format`, `formatDistanceToNow`, `startOfWeek`, ...) must receive it: the
16
+ * published bundle inlines its own date-fns copy, so the host's global
17
+ * `setDefaultOptions({ locale })` never reaches it.
18
+ */
19
+ export declare const useDateFnsLocale: () => Locale;
@@ -0,0 +1 @@
1
+ export {};
@@ -50,6 +50,50 @@ export declare const translations: {
50
50
  title: string;
51
51
  content: string;
52
52
  };
53
+ "internal-ticket-created": {
54
+ title: string;
55
+ content: string;
56
+ };
57
+ "external-identity-candidate-named": {
58
+ title: string;
59
+ content: string;
60
+ };
61
+ "internal-ticket-section-without-agents": {
62
+ title: string;
63
+ content: string;
64
+ };
65
+ "internal-ticket-status-changed": {
66
+ title: string;
67
+ content: string;
68
+ };
69
+ "internal-ticket-new-message": {
70
+ title: string;
71
+ content: string;
72
+ };
73
+ "internal-ticket-mention": {
74
+ title: string;
75
+ content: string;
76
+ };
77
+ "internal-ticket-assigned": {
78
+ title: string;
79
+ content: string;
80
+ };
81
+ "internal-ticket-follower-added": {
82
+ title: string;
83
+ content: string;
84
+ };
85
+ "internal-ticket-approval-requested": {
86
+ title: string;
87
+ content: string;
88
+ };
89
+ "internal-ticket-approval-reminder": {
90
+ title: string;
91
+ content: string;
92
+ };
93
+ "internal-ticket-approval-decided": {
94
+ title: string;
95
+ content: string;
96
+ };
53
97
  };
54
98
  ABYSS_CLOUD: {
55
99
  "create-cloud-share": {
@@ -202,38 +246,6 @@ export declare const translations: {
202
246
  title: string;
203
247
  content: string;
204
248
  };
205
- "internal-ticket-created": {
206
- title: string;
207
- content: string;
208
- };
209
- "external-identity-candidate-named": {
210
- title: string;
211
- content: string;
212
- };
213
- "internal-ticket-section-without-agents": {
214
- title: string;
215
- content: string;
216
- };
217
- "internal-ticket-status-changed": {
218
- title: string;
219
- content: string;
220
- };
221
- "internal-ticket-new-message": {
222
- title: string;
223
- content: string;
224
- };
225
- "internal-ticket-mention": {
226
- title: string;
227
- content: string;
228
- };
229
- "internal-ticket-assigned": {
230
- title: string;
231
- content: string;
232
- };
233
- "internal-ticket-follower-added": {
234
- title: string;
235
- content: string;
236
- };
237
249
  };
238
250
  };
239
251
  };
@@ -653,6 +665,7 @@ export declare const translations: {
653
665
  'not-implemented-yet': string;
654
666
  'session-expired': string;
655
667
  'click-to-copy': string;
668
+ 'open-menu': string;
656
669
  open: string;
657
670
  delete: string;
658
671
  archive: string;
@@ -665,6 +678,7 @@ export declare const translations: {
665
678
  'filter-title': string;
666
679
  share: string;
667
680
  'copy-share-link': string;
681
+ 'qr-code': string;
668
682
  'load-more': string;
669
683
  'empty-table': string;
670
684
  'empty-graph': string;
@@ -707,6 +721,10 @@ export declare const translations: {
707
721
  'previous-page': string;
708
722
  'next-page': string;
709
723
  'last-page': string;
724
+ details: {
725
+ show: string;
726
+ hide: string;
727
+ };
710
728
  };
711
729
  'file-importation': {
712
730
  'cloud-usage-metrics': {
@@ -754,6 +772,7 @@ export declare const translations: {
754
772
  'import-button': string;
755
773
  'success-toast': string;
756
774
  'no-space-toast': string;
775
+ 'open-in-cloud': string;
757
776
  };
758
777
  };
759
778
  'import-button': string;
@@ -1094,6 +1113,20 @@ export declare const translations: {
1094
1113
  'see-subscription-button': string;
1095
1114
  'delete-account-button': string;
1096
1115
  };
1116
+ modal: {
1117
+ 'your-profile': string;
1118
+ 'full-profile': string;
1119
+ 'open-full-profile': string;
1120
+ 'personal-information': string;
1121
+ 'alias-placeholder': string;
1122
+ 'first-name-placeholder': string;
1123
+ 'last-name-placeholder': string;
1124
+ 'danger-zone': string;
1125
+ 'delete-account': string;
1126
+ 'delete-account-description': string;
1127
+ delete: string;
1128
+ 'save-changes': string;
1129
+ };
1097
1130
  };
1098
1131
  tags: {
1099
1132
  'manage-title': string;
@@ -1221,6 +1254,8 @@ export declare const translations: {
1221
1254
  };
1222
1255
  };
1223
1256
  'company-search-autocomplete': {
1257
+ label: string;
1258
+ placeholder: string;
1224
1259
  error: string;
1225
1260
  };
1226
1261
  family: {
@@ -1327,6 +1362,7 @@ export declare const translations: {
1327
1362
  'messages-title': string;
1328
1363
  'messages-count': string;
1329
1364
  'new-messages': string;
1365
+ 'copy-link': string;
1330
1366
  'send-placeholder': string;
1331
1367
  'send-hint': string;
1332
1368
  send: string;
@@ -1369,6 +1405,8 @@ export declare const translations: {
1369
1405
  organization: string;
1370
1406
  project: string;
1371
1407
  'assign-to-me': string;
1408
+ 'copy-user-id': string;
1409
+ 'copy-organization-id': string;
1372
1410
  'archived-at': string;
1373
1411
  activity: string;
1374
1412
  'activity-action': {
@@ -1517,6 +1555,50 @@ export declare const translations: {
1517
1555
  title: string;
1518
1556
  content: string;
1519
1557
  };
1558
+ "internal-ticket-created": {
1559
+ title: string;
1560
+ content: string;
1561
+ };
1562
+ "external-identity-candidate-named": {
1563
+ title: string;
1564
+ content: string;
1565
+ };
1566
+ "internal-ticket-section-without-agents": {
1567
+ title: string;
1568
+ content: string;
1569
+ };
1570
+ "internal-ticket-status-changed": {
1571
+ title: string;
1572
+ content: string;
1573
+ };
1574
+ "internal-ticket-new-message": {
1575
+ title: string;
1576
+ content: string;
1577
+ };
1578
+ "internal-ticket-mention": {
1579
+ title: string;
1580
+ content: string;
1581
+ };
1582
+ "internal-ticket-assigned": {
1583
+ title: string;
1584
+ content: string;
1585
+ };
1586
+ "internal-ticket-follower-added": {
1587
+ title: string;
1588
+ content: string;
1589
+ };
1590
+ "internal-ticket-approval-requested": {
1591
+ title: string;
1592
+ content: string;
1593
+ };
1594
+ "internal-ticket-approval-reminder": {
1595
+ title: string;
1596
+ content: string;
1597
+ };
1598
+ "internal-ticket-approval-decided": {
1599
+ title: string;
1600
+ content: string;
1601
+ };
1520
1602
  };
1521
1603
  ABYSS_CLOUD: {
1522
1604
  "create-cloud-share": {
@@ -1669,38 +1751,6 @@ export declare const translations: {
1669
1751
  title: string;
1670
1752
  content: string;
1671
1753
  };
1672
- "internal-ticket-created": {
1673
- title: string;
1674
- content: string;
1675
- };
1676
- "external-identity-candidate-named": {
1677
- title: string;
1678
- content: string;
1679
- };
1680
- "internal-ticket-section-without-agents": {
1681
- title: string;
1682
- content: string;
1683
- };
1684
- "internal-ticket-status-changed": {
1685
- title: string;
1686
- content: string;
1687
- };
1688
- "internal-ticket-new-message": {
1689
- title: string;
1690
- content: string;
1691
- };
1692
- "internal-ticket-mention": {
1693
- title: string;
1694
- content: string;
1695
- };
1696
- "internal-ticket-assigned": {
1697
- title: string;
1698
- content: string;
1699
- };
1700
- "internal-ticket-follower-added": {
1701
- title: string;
1702
- content: string;
1703
- };
1704
1754
  };
1705
1755
  };
1706
1756
  };
@@ -2120,6 +2170,7 @@ export declare const translations: {
2120
2170
  'not-implemented-yet': string;
2121
2171
  'session-expired': string;
2122
2172
  'click-to-copy': string;
2173
+ 'open-menu': string;
2123
2174
  open: string;
2124
2175
  delete: string;
2125
2176
  archive: string;
@@ -2132,6 +2183,7 @@ export declare const translations: {
2132
2183
  'filter-title': string;
2133
2184
  share: string;
2134
2185
  'copy-share-link': string;
2186
+ 'qr-code': string;
2135
2187
  'load-more': string;
2136
2188
  'empty-table': string;
2137
2189
  'empty-graph': string;
@@ -2174,6 +2226,10 @@ export declare const translations: {
2174
2226
  'previous-page': string;
2175
2227
  'next-page': string;
2176
2228
  'last-page': string;
2229
+ details: {
2230
+ show: string;
2231
+ hide: string;
2232
+ };
2177
2233
  };
2178
2234
  'file-importation': {
2179
2235
  'cloud-usage-metrics': {
@@ -2221,6 +2277,7 @@ export declare const translations: {
2221
2277
  'import-button': string;
2222
2278
  'success-toast': string;
2223
2279
  'no-space-toast': string;
2280
+ 'open-in-cloud': string;
2224
2281
  };
2225
2282
  };
2226
2283
  'import-button': string;
@@ -2561,6 +2618,20 @@ export declare const translations: {
2561
2618
  'see-subscription-button': string;
2562
2619
  'delete-account-button': string;
2563
2620
  };
2621
+ modal: {
2622
+ 'your-profile': string;
2623
+ 'full-profile': string;
2624
+ 'open-full-profile': string;
2625
+ 'personal-information': string;
2626
+ 'alias-placeholder': string;
2627
+ 'first-name-placeholder': string;
2628
+ 'last-name-placeholder': string;
2629
+ 'danger-zone': string;
2630
+ 'delete-account': string;
2631
+ 'delete-account-description': string;
2632
+ delete: string;
2633
+ 'save-changes': string;
2634
+ };
2564
2635
  };
2565
2636
  tags: {
2566
2637
  'manage-title': string;
@@ -2688,6 +2759,8 @@ export declare const translations: {
2688
2759
  };
2689
2760
  };
2690
2761
  'company-search-autocomplete': {
2762
+ label: string;
2763
+ placeholder: string;
2691
2764
  error: string;
2692
2765
  };
2693
2766
  support: {
@@ -2776,6 +2849,7 @@ export declare const translations: {
2776
2849
  'messages-title': string;
2777
2850
  'messages-count': string;
2778
2851
  'new-messages': string;
2852
+ 'copy-link': string;
2779
2853
  'send-placeholder': string;
2780
2854
  'send-hint': string;
2781
2855
  send: string;
@@ -2818,6 +2892,8 @@ export declare const translations: {
2818
2892
  organization: string;
2819
2893
  project: string;
2820
2894
  'assign-to-me': string;
2895
+ 'copy-user-id': string;
2896
+ 'copy-organization-id': string;
2821
2897
  'archived-at': string;
2822
2898
  activity: string;
2823
2899
  'activity-action': {
@@ -1,5 +1,5 @@
1
- import { P as nt, k as j, l as v, q as st, N as Ae, s as Be, p as it, t as c, T as E, r as ot, L as le, u as at, v as lt, w as ht, x as ft, e as _, h as P, y as T, z as ut, f as Ie, i as dt, A as pt, C as ct, B as mt, F as he, G as gt } from "./index-BoYupKIh.js";
2
- import { html as kt, htmlCompletionSource as Lt } from "./index-AUELqW5Y.js";
1
+ import { P as nt, k as j, l as v, q as st, N as Ae, s as Be, p as it, t as c, T as E, r as ot, L as le, u as at, v as lt, w as ht, x as ft, e as _, h as P, y as T, z as ut, f as Ie, i as dt, A as pt, C as ct, B as mt, F as he, G as gt } from "./index-B0n-lfeR.js";
2
+ import { html as kt, htmlCompletionSource as Lt } from "./index-DFcUTr8P.js";
3
3
  class $ {
4
4
  static create(e, r, n, s, i) {
5
5
  let o = s + (s << 8) + e + (r << 4) | 0;