@abyss-project/commons-front-core 2.6.2 → 3.0.1
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.
- package/dist/{CookieConsentSettings.component-BUxrkECh.js → CookieConsentSettings.component-BLgzLD-Z.js} +687 -591
- package/dist/components/Avatars/ProjectAvatar/ProjectAvatar.component.d.ts +3 -0
- package/dist/components/Avatars/UserAvatar/UserAvatar.component.d.ts +3 -0
- package/dist/components/Cards/ProjectCard/ProjectCard.component.d.ts +1 -0
- package/dist/components/CommandPalette/AbyssCommandPalette.d.ts +9 -0
- package/dist/components/CommandPalette/types.d.ts +63 -0
- package/dist/components/CommandPalette/useCommandPaletteHotkey.d.ts +9 -0
- package/dist/components/CookieConsent/AbyssCookieConsentProvider.d.ts +9 -1
- package/dist/components/CookieConsent/CookieConsentBanner.component.d.ts +0 -1
- package/dist/components/CookieConsent/privacy-link.constant.d.ts +25 -0
- package/dist/components/Data/AbyssTable/AbyssTable.component.d.ts +16 -2
- package/dist/components/Data/AbyssTable/abyss-table.logic.d.ts +72 -0
- package/dist/components/Inputs/AbyssNumberField/AbyssNumberField.component.d.ts +18 -0
- package/dist/components/Inputs/AbyssNumberField/format.d.ts +28 -0
- package/dist/components/Inputs/CloudImport/CloudImport.component.d.ts +1 -0
- package/dist/components/Inputs/ColorPalette/ColorPalette.component.d.ts +2 -0
- package/dist/components/Inputs/ContextSelector/ContextSelector.component.d.ts +25 -0
- package/dist/components/Inputs/DatePeriodPicker/DatePeriodPicker.component.d.ts +32 -0
- package/dist/components/Inputs/DatePeriodPicker/date-period-picker.logic.d.ts +54 -0
- package/dist/components/Inputs/DatePeriodPicker/date-period-presets.util.d.ts +8 -0
- package/dist/components/Inputs/LanguageFlagLabel/LanguageFlagLabel.component.d.ts +13 -0
- package/dist/components/Inputs/LanguageFlagLabel/language-flags.d.ts +10 -0
- package/dist/components/Inputs/PasswordInput/PasswordInput.component.d.ts +16 -0
- package/dist/components/Inputs/ProjectLinkSelector/index.d.ts +1 -1
- package/dist/components/Layouts/AbyssBillingPlan/AbyssBillingPlan.component.d.ts +2 -0
- package/dist/components/Layouts/AbyssFamilyBanner/AbyssFamilyBanner.component.d.ts +12 -0
- package/dist/components/Layouts/AbyssLayoutProvider/index.d.ts +1 -1
- package/dist/components/Layouts/AbyssSidebar/index.d.ts +2 -2
- package/dist/components/Modals/AbyssModal/AbyssModal.component.d.ts +6 -0
- package/dist/components/Modals/QRCodeModal/QRCodeModal.component.d.ts +1 -0
- package/dist/components/Modals/UserSettingsModal/UserSettingsModal.component.d.ts +5 -0
- package/dist/components/Modals/UserSettingsModal/index.d.ts +1 -1
- package/dist/components/PdfEditor/hooks/use-pdf-document.d.ts +12 -0
- package/dist/components/PdfEditor/hooks/use-uploaded-docs.d.ts +9 -0
- package/dist/components/PdfEditor/operations/actions.d.ts +14 -0
- package/dist/components/PdfEditor/operations/compute-page-order.d.ts +11 -0
- package/dist/components/PdfEditor/operations/extract.d.ts +5 -0
- package/dist/components/PdfEditor/operations/pdf-data-url.d.ts +4 -0
- package/dist/components/PdfEditor/operations/rasterize.d.ts +17 -0
- package/dist/components/PdfEditor/operations/redact.d.ts +8 -0
- package/dist/components/PdfEditor/operations/rotate-coords.d.ts +25 -0
- package/dist/components/PdfEditor/signature/SignaturePicker.d.ts +3 -0
- package/dist/components/PdfEditor/signature/SignatureSaveButton.d.ts +3 -0
- package/dist/components/PdfEditor/signature/resolve-asset.d.ts +17 -0
- package/dist/components/PdfEditor/tools/RedactTool.d.ts +6 -0
- package/dist/components/PdfEditor/tools/Toolbar.d.ts +9 -0
- package/dist/components/PdfEditor/tools/tool-options-ui.d.ts +1 -0
- package/dist/components/PdfEditor/types.d.ts +85 -0
- package/dist/components/PdfEditor/viewer/PageOverlay.d.ts +10 -0
- package/dist/components/PdfEditor/viewer/PdfCanvas.d.ts +1 -0
- package/dist/components/PdfEditor/viewer/ViewerControls.d.ts +4 -0
- package/dist/components/QuotaGauge/AbyssQuotaGauge.component.d.ts +39 -0
- package/dist/components/QuotaGauge/bubble-placement.d.ts +40 -0
- package/dist/components/QuotaGauge/gauge-segments.d.ts +56 -0
- package/dist/components/QuotaOffer/AbyssQuotaOffer.component.d.ts +60 -0
- package/dist/components/QuotaOffer/quota-offer-state.d.ts +64 -0
- package/dist/components/QuotaReached/QuotaReachedDialog.component.d.ts +10 -0
- package/dist/components/QuotaReached/billing-quota-error.d.ts +7 -0
- package/dist/components/QuotaReached/quota-dialog.store.d.ts +10 -0
- package/dist/components/QuotaReached/quota-service-meta.d.ts +4 -0
- package/dist/components/Support/SupportCategorySelect.component.d.ts +3 -0
- package/dist/components/Support/SupportStatusTimeline.component.d.ts +2 -0
- package/dist/components/Support/index.d.ts +2 -2
- package/dist/components/Support/support-attachment.logic.d.ts +10 -0
- package/dist/components/Support/support-author.logic.d.ts +9 -0
- package/dist/components/Support/support-create-stepper.logic.d.ts +13 -0
- package/dist/components/Support/support-message-input.logic.d.ts +8 -0
- package/dist/components/Support/support-status-timeline.logic.d.ts +16 -0
- package/dist/components/Support/types.d.ts +55 -0
- package/dist/components/Utils/AbyssBackground/AbyssBackground.component.d.ts +3 -0
- package/dist/components/Utils/AbyssFamilyMenuSection/AbyssFamilyMenuSection.d.ts +9 -0
- package/dist/components/Utils/AbyssLayoutMenu/index.d.ts +1 -1
- package/dist/components/Utils/AbyssLayoutNotifications/AbyssLayoutNotifications.component.d.ts +4 -0
- package/dist/components/Utils/AbyssLayoutNotifications/index.d.ts +1 -1
- package/dist/components/Utils/ImportButton/ImportButton.component.d.ts +4 -0
- package/dist/components/Utils/Toast/AbyssToast.component.d.ts +6 -0
- package/dist/components/Utils/WaterParticles/WaterParticles.component.d.ts +8 -0
- package/dist/cookie-consent.js +1 -1
- package/dist/hooks/use-public-users.hook.d.ts +39 -0
- package/dist/hooks/use-rich-intl.hook.d.ts +13 -5
- package/dist/hooks/use-theme-transition.hook.d.ts +13 -0
- package/dist/{index-D_eg_k-b.js → index-13QCr6ei.js} +1 -1
- package/dist/{index-uIeKLdVL.js → index-B4s0xpO9.js} +3 -3
- package/dist/{index-3FLJ3SfU.js → index-BBH7n9Up.js} +4 -4
- package/dist/{index-C_WLdmTl.js → index-BI7XXRdP.js} +3 -3
- package/dist/{index-7xq1GVwh.js → index-BbuvDSp0.js} +2 -2
- package/dist/{index-XwxG8_UP.js → index-Bhok95RO.js} +2 -2
- package/dist/{index-DtSoIucr.js → index-BjbDo-BN.js} +14320 -11454
- package/dist/{index-BUU_BiL1.js → index-C2iksP8T.js} +2 -2
- package/dist/{index-BLCWSuQw.js → index-CKXa4BvM.js} +2 -2
- package/dist/{index-CIrG9_dY.js → index-Ci9slz4U.js} +2 -2
- package/dist/{index-C5qcmmpX.js → index-CoGr-vvT.js} +3 -3
- package/dist/{index-DcCIQbuV.js → index-Cw4n4Q97.js} +2 -2
- package/dist/{index-CtAqjScO.js → index-DKSA-U8A.js} +2 -2
- package/dist/{index-DHL1-xk6.js → index-DQ6hF6bv.js} +4 -4
- package/dist/{index-Da9DTuJn.js → index-DVDFaXUS.js} +2 -2
- package/dist/{index-DjyLPGQg.js → index-Dfs8HrMj.js} +2 -2
- package/dist/{index-BErplPpW.js → index-Dn5fa9DE.js} +3 -3
- package/dist/{index-Br1U0l5K.js → index-DqW8ipJ0.js} +2 -2
- package/dist/{index-DSaH4UP5.js → index-Dt86SHUY.js} +2 -2
- package/dist/{index-erzdx1Az.js → index-DucVTPTi.js} +2 -2
- package/dist/{index-BcogVLzo.js → index-TJMhsU_S.js} +2 -2
- package/dist/{index-CXjoTXWO.js → index-x_CknZJ4.js} +4 -4
- package/dist/index.js +2 -2
- package/dist/theme/augmentation.d.ts +6 -0
- package/dist/theme/index.d.ts +11 -4
- package/dist/theme/palettes/common.d.ts +13 -0
- package/dist/theme/palettes/dark.d.ts +1 -0
- package/dist/theme/palettes/light.d.ts +1 -0
- package/dist/theme/tokens/animations.d.ts +3 -0
- package/dist/theme/tokens/borders.d.ts +3 -0
- package/dist/theme/tokens/colors.d.ts +27 -0
- package/dist/theme/tokens/shadows.d.ts +8 -0
- package/dist/theme/tokens/transitions.d.ts +4 -0
- package/dist/theme/tokens/typography.d.ts +6 -0
- package/dist/utils/share-notification.utils.d.ts +9 -0
- package/dist/utils/space-display-name.utils.d.ts +8 -0
- package/package.json +14 -13
- package/tsconfig.json +26 -25
- package/vite.config.ts +1 -17
|
@@ -55,16 +55,24 @@ export interface SupportTicketListProps {
|
|
|
55
55
|
alias?: string | null;
|
|
56
56
|
profilePictureThumbnailId?: string | null;
|
|
57
57
|
}>;
|
|
58
|
+
/** Organization lookup map for displaying org info in ticket rows */
|
|
58
59
|
organizations?: Record<string, {
|
|
59
60
|
name?: string | null;
|
|
60
61
|
pictureThumbnailId?: string | null;
|
|
61
62
|
}>;
|
|
63
|
+
/** Extra filter UI injected into the filter bar (e.g. org filter, user search for admin) */
|
|
62
64
|
renderExtraFilters?: () => ReactNode;
|
|
65
|
+
/** Custom title override */
|
|
63
66
|
title?: string;
|
|
67
|
+
/** Custom subtitle */
|
|
64
68
|
subtitle?: string;
|
|
69
|
+
/** Hide the create button */
|
|
65
70
|
hideCreateButton?: boolean;
|
|
71
|
+
/** URL builder for user profile pictures (required when isAdmin is true) */
|
|
66
72
|
getProfilePictureUrl: (userId: string) => string;
|
|
73
|
+
/** URL builder for organization logos (required when isAdmin is true) */
|
|
67
74
|
getOrgLogoUrl: (orgId: string) => string;
|
|
75
|
+
/** Available tags for filtering (admin only) */
|
|
68
76
|
availableTags?: ISupportTicketTag[];
|
|
69
77
|
}
|
|
70
78
|
export interface SupportTicketCreateValues {
|
|
@@ -84,6 +92,9 @@ export interface SupportTicketCreateStepperValues extends SupportTicketCreateVal
|
|
|
84
92
|
projectId?: string | null;
|
|
85
93
|
userId?: string | null;
|
|
86
94
|
organizationId?: string | null;
|
|
95
|
+
/** Files staged in the create stepper's attachment drop zone. The stepper
|
|
96
|
+
* only stages them locally — the host is responsible for creating the
|
|
97
|
+
* ticket then uploading each staged file via the attachment mutation. */
|
|
87
98
|
attachments?: File[];
|
|
88
99
|
}
|
|
89
100
|
export interface SupportTicketCreateStepperProps {
|
|
@@ -91,7 +102,10 @@ export interface SupportTicketCreateStepperProps {
|
|
|
91
102
|
isSubmitting?: boolean;
|
|
92
103
|
isAdmin?: boolean;
|
|
93
104
|
onCancel?: () => void;
|
|
105
|
+
/** Optional prefilled values — used when launching the stepper from a
|
|
106
|
+
* feature-specific "report issue" entry point (e.g. RCB feedback). */
|
|
94
107
|
initialValues?: Partial<SupportTicketCreateStepperValues>;
|
|
108
|
+
/** Render prop for the entire "For Who?" step (admin only). Receives userId/orgId values and setters. */
|
|
95
109
|
renderForWhoStep?: (userId: string | null, onUserChange: (userId: string | null) => void, orgId: string | null, onOrgChange: (orgId: string | null) => void) => ReactNode;
|
|
96
110
|
renderProjectSelect?: (value: string | null, onChange: (projectId: string | null) => void) => ReactNode;
|
|
97
111
|
}
|
|
@@ -123,6 +137,8 @@ export interface SupportMessageThreadProps {
|
|
|
123
137
|
getProfilePictureUrl?: (userId: string) => string;
|
|
124
138
|
getFileThumbnailUrl?: (id: string) => string;
|
|
125
139
|
ticket?: ISupportTicket;
|
|
140
|
+
/** See SupportAttachmentsPanelProps — same render-prop contract, applied
|
|
141
|
+
* to each inline message attachment. */
|
|
126
142
|
renderScanStatusBadge?: (attachment: ISupportTicketAttachment) => ReactNode;
|
|
127
143
|
}
|
|
128
144
|
export interface SupportMessageInputProps extends SupportCloudImportProps {
|
|
@@ -144,10 +160,27 @@ export interface SupportAttachmentsPanelProps extends SupportCloudImportProps {
|
|
|
144
160
|
onUpload?: (file: File) => void;
|
|
145
161
|
onDelete?: (attachmentId: string) => void;
|
|
146
162
|
onDownload?: (attachment: ISupportTicketAttachment) => void;
|
|
163
|
+
/**
|
|
164
|
+
* Open a viewable attachment (image or PDF) in a new browser tab. Rendered
|
|
165
|
+
* as an "open" affordance only for viewable mime types; the host wraps it
|
|
166
|
+
* with the same scan-status guard as download.
|
|
167
|
+
*/
|
|
147
168
|
onOpenAttachment?: (attachment: ISupportTicketAttachment) => void;
|
|
169
|
+
/**
|
|
170
|
+
* Returns a viewable (presigned) URL for an image attachment, used to render
|
|
171
|
+
* an inline preview when the file has no separately-generated thumbnail.
|
|
172
|
+
* Host wires it to the attachment file-url endpoint; only called for images.
|
|
173
|
+
*/
|
|
148
174
|
getAttachmentPreviewUrl?: (attachment: ISupportTicketAttachment) => Promise<string | null>;
|
|
149
175
|
isUploading?: boolean;
|
|
150
176
|
maxAttachments?: number;
|
|
177
|
+
/**
|
|
178
|
+
* Render prop for the antivirus scan-status badge, injected by the host
|
|
179
|
+
* app (the shared `ScanStatusIndicator` lives in `apps/front`, which this
|
|
180
|
+
* package cannot depend on). Rendered next to each attachment's filename
|
|
181
|
+
* when the attachment's `scanStatus` warrants a badge (the host decides —
|
|
182
|
+
* this component just calls it unconditionally per row).
|
|
183
|
+
*/
|
|
151
184
|
renderScanStatusBadge?: (attachment: ISupportTicketAttachment) => ReactNode;
|
|
152
185
|
}
|
|
153
186
|
export interface SupportActivityLogProps {
|
|
@@ -200,9 +233,23 @@ export interface SupportSidebarProps extends SupportCloudImportProps {
|
|
|
200
233
|
id: string;
|
|
201
234
|
name: string;
|
|
202
235
|
} | null;
|
|
236
|
+
/**
|
|
237
|
+
* Navigate to the requester's own page. Only a host that has one (the
|
|
238
|
+
* back-office) passes it; without it the requester stays plain text.
|
|
239
|
+
*/
|
|
203
240
|
onNavigateToUser?: (userId: string) => void;
|
|
241
|
+
/**
|
|
242
|
+
* Navigate to the organization's own page. Only a host that has one (the
|
|
243
|
+
* back-office) passes it; without it the organization stays plain text.
|
|
244
|
+
*/
|
|
204
245
|
onNavigateToOrganization?: (organizationId: string) => void;
|
|
246
|
+
/**
|
|
247
|
+
* Deep-link callback for the ticket's generic back-reference. The host
|
|
248
|
+
* builds the URL (e.g. AbyssExtract history) and navigates. Rendered only
|
|
249
|
+
* when ticket.contextType + ticket.contextId are set.
|
|
250
|
+
*/
|
|
205
251
|
onViewContext?: (contextType: string, contextId: string) => void;
|
|
252
|
+
/** See SupportAttachmentsPanelProps. */
|
|
206
253
|
renderScanStatusBadge?: (attachment: ISupportTicketAttachment) => ReactNode;
|
|
207
254
|
}
|
|
208
255
|
export interface SupportTicketDetailProps extends SupportCloudImportProps {
|
|
@@ -250,9 +297,17 @@ export interface SupportTicketDetailProps extends SupportCloudImportProps {
|
|
|
250
297
|
name: string;
|
|
251
298
|
} | null;
|
|
252
299
|
onUploadMessageAttachment?: (file: File) => void;
|
|
300
|
+
/** See SupportSidebarProps. */
|
|
253
301
|
onNavigateToUser?: (userId: string) => void;
|
|
302
|
+
/** See SupportSidebarProps. */
|
|
254
303
|
onNavigateToOrganization?: (organizationId: string) => void;
|
|
304
|
+
/**
|
|
305
|
+
* Deep-link callback for the ticket's generic back-reference. The host
|
|
306
|
+
* builds the URL (e.g. AbyssExtract history) and navigates. Rendered only
|
|
307
|
+
* when ticket.contextType + ticket.contextId are set.
|
|
308
|
+
*/
|
|
255
309
|
onViewContext?: (contextType: string, contextId: string) => void;
|
|
310
|
+
/** See SupportAttachmentsPanelProps. */
|
|
256
311
|
renderScanStatusBadge?: (attachment: ISupportTicketAttachment) => ReactNode;
|
|
257
312
|
}
|
|
258
313
|
export interface SupportStatusBadgeProps {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
export interface AbyssBackgroundProps {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
|
+
/** 'default' = standard app bg, 'subtle' = less glow, 'hero' = strong glow for landing */
|
|
4
5
|
variant?: 'default' | 'subtle' | 'hero';
|
|
6
|
+
/** Render as fixed fullscreen (true) or relative container (false, default) */
|
|
5
7
|
fixed?: boolean;
|
|
8
|
+
/** Extra sx for the wrapper */
|
|
6
9
|
sx?: Record<string, any>;
|
|
7
10
|
}
|
|
8
11
|
declare const AbyssBackground: React.FC<AbyssBackgroundProps>;
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { AbyssLayoutMenuSection } from '../AbyssLayoutMenu/AbyssLayoutMenu.component';
|
|
2
2
|
import { CurrentFamilyInfo } from '../../Layouts/AbyssFamilyBanner/AbyssFamilyBanner.component';
|
|
3
|
+
/**
|
|
4
|
+
* Builds the AbyssLayoutMenu section for the family entry.
|
|
5
|
+
* When `abyssUrl` is provided, elements use `href` (cross-origin external link).
|
|
6
|
+
* Without it, they use `path` (react-router internal navigation on abyss-main).
|
|
7
|
+
*
|
|
8
|
+
* `labels` allows the host to pass translated strings so that an EN-configured
|
|
9
|
+
* satellite does not show hard-coded French text. FR strings are kept as the
|
|
10
|
+
* in-package fallback (matches `commons.menu.family` / `family.banner.no-family-cta`).
|
|
11
|
+
*/
|
|
3
12
|
export declare function buildAbyssFamilyMenuSection(currentFamily: CurrentFamilyInfo | null | undefined, abyssUrl: string | undefined, labels?: {
|
|
4
13
|
title?: string;
|
|
5
14
|
createCta?: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { default as AbyssLayoutMenu } from './AbyssLayoutMenu.component';
|
|
2
2
|
export { AbyssMenuItem } from './AbyssMenuItem.component';
|
|
3
|
-
export type { AbyssLayoutMenuSection, AbyssLayoutMenuElement, AbyssLayoutMenuUser } from './AbyssLayoutMenu.component';
|
|
3
|
+
export type { AbyssLayoutMenuSection, AbyssLayoutMenuElement, AbyssLayoutMenuUser, } from './AbyssLayoutMenu.component';
|
package/dist/components/Utils/AbyssLayoutNotifications/AbyssLayoutNotifications.component.d.ts
CHANGED
|
@@ -18,14 +18,18 @@ type Props = {
|
|
|
18
18
|
actionButtonText: (notification: AbyssNotificationItem, user?: AbyssNotificationUser | null) => string | null;
|
|
19
19
|
handleNotificationActionButton?: (notification: AbyssNotificationItem, user?: AbyssNotificationUser | null) => void;
|
|
20
20
|
formatDate: (date: Date) => string;
|
|
21
|
+
/** Called on SSE message; return structured event or null to ignore */
|
|
21
22
|
onSSEMessage?: (message: unknown) => SSENotificationEvent;
|
|
22
23
|
sseUrl?: string;
|
|
23
24
|
sid?: string;
|
|
24
25
|
disableSSE?: boolean;
|
|
25
26
|
enableSoundNotification?: boolean;
|
|
26
27
|
onSoundToggle?: () => Promise<void>;
|
|
28
|
+
/** URL to an audio file for notifications (e.g. import NotificationSound from './notification.mp3') */
|
|
27
29
|
notificationSoundUrl?: string;
|
|
30
|
+
/** Called when "see all" button is clicked (use instead of a router Link) */
|
|
28
31
|
onAllNotificationsClick?: () => void;
|
|
32
|
+
/** Called when the settings icon is clicked — redirects to the notification preferences page */
|
|
29
33
|
onPreferencesClick?: () => void;
|
|
30
34
|
};
|
|
31
35
|
declare const AbyssLayoutNotifications: React.FC<Props>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as AbyssLayoutNotifications } from './AbyssLayoutNotifications.component';
|
|
2
2
|
export { default as AbyssNotifications } from './AbyssNotifications.component';
|
|
3
|
-
export type { AbyssNotificationItem, AbyssNotificationUser } from './AbyssNotifications.component';
|
|
3
|
+
export type { AbyssNotificationItem, AbyssNotificationUser, } from './AbyssNotifications.component';
|
|
4
4
|
export type { SSENotificationEvent } from './AbyssLayoutNotifications.component';
|
|
@@ -10,6 +10,7 @@ type Props = {
|
|
|
10
10
|
multiple?: boolean;
|
|
11
11
|
maxSize?: number;
|
|
12
12
|
accept?: string[];
|
|
13
|
+
/** User object — only used to determine if cloud is enabled */
|
|
13
14
|
user?: {
|
|
14
15
|
enabledService?: string[];
|
|
15
16
|
} | null;
|
|
@@ -22,7 +23,10 @@ type Props = {
|
|
|
22
23
|
fetchCloudRepository?: (cloudId: string) => Promise<IGetRepositoryCloudData>;
|
|
23
24
|
onActivateService?: () => Promise<void>;
|
|
24
25
|
onCreateCloud?: (name: string) => Promise<void>;
|
|
26
|
+
/** If true, show the cloud import option even without full cloud props */
|
|
25
27
|
showCloudOption?: boolean;
|
|
28
|
+
/** Optional resolver injecting avatar + label per ISpace into the cloud
|
|
29
|
+
* picker (so it matches the host's avatar conventions). */
|
|
26
30
|
getSpaceDisplay?: (space: ISpace) => {
|
|
27
31
|
label: string;
|
|
28
32
|
avatar?: React.ReactNode;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AbyssToast — Injects theme-aware CSS overrides for react-toastify.
|
|
4
|
+
* Place this component inside your ThemeProvider, next to <ToastContainer />.
|
|
5
|
+
*
|
|
6
|
+
* Adapts to light/dark mode automatically via MUI theme tokens.
|
|
7
|
+
*/
|
|
2
8
|
declare const AbyssToast: React.FC;
|
|
3
9
|
export default AbyssToast;
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
interface Props {
|
|
3
|
+
/**
|
|
4
|
+
* Confine the effect to the nearest positioned ancestor instead of the
|
|
5
|
+
* viewport. Required whenever the backdrop belongs to ONE panel of a split
|
|
6
|
+
* layout: the default `fixed` layer spans the whole window and its glow bleeds
|
|
7
|
+
* over the neighbouring column.
|
|
8
|
+
*
|
|
9
|
+
* The host element must be `position: relative` (and usually `overflow: hidden`).
|
|
10
|
+
*/
|
|
3
11
|
contained?: boolean;
|
|
4
12
|
}
|
|
5
13
|
declare const WaterParticles: React.FC<Props>;
|
package/dist/cookie-consent.js
CHANGED
|
@@ -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-
|
|
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-BLgzLD-Z.js";
|
|
2
2
|
export {
|
|
3
3
|
s as AbyssCookieConsentProvider,
|
|
4
4
|
a as COOKIE_NAME,
|
|
@@ -1,14 +1,53 @@
|
|
|
1
1
|
import { QueryClient, UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
/**
|
|
3
|
+
* Public, lightweight user info shared across components/repos.
|
|
4
|
+
* Mirrors the shape returned by `sdk.user.getPublic`.
|
|
5
|
+
*/
|
|
2
6
|
export type PublicUser = {
|
|
3
7
|
id: string;
|
|
4
8
|
alias: string;
|
|
5
9
|
profilePictureThumbnailId: string | null;
|
|
6
10
|
emailVerifiedAt: Date | null;
|
|
7
11
|
};
|
|
12
|
+
/** Shared react-query key — re-export so consumers can prime/invalidate manually if needed. */
|
|
8
13
|
export declare const publicUserQueryKey: (userId: string) => readonly ["public-user", string];
|
|
14
|
+
/**
|
|
15
|
+
* Batched single-user fetcher. Multiple concurrent calls in a 50ms window
|
|
16
|
+
* collapse into one or more `getPublicUser` requests (one per chunk of
|
|
17
|
+
* MAX_ELEMENT_PUBLIC_USER ids). Returns null if the user isn't found in the
|
|
18
|
+
* response (deleted/never existed). Exported for unit testing the batch/chunk seam.
|
|
19
|
+
*/
|
|
9
20
|
export declare const fetchPublicUserBatched: (userId: string) => Promise<PublicUser | null>;
|
|
21
|
+
/**
|
|
22
|
+
* React Query hook that returns a single public user. Uses a per-id query key
|
|
23
|
+
* so the cache is shared across the entire app — multiple components asking
|
|
24
|
+
* for the same userId benefit from a single network request, and refetches
|
|
25
|
+
* are coordinated by react-query.
|
|
26
|
+
*
|
|
27
|
+
* const user = usePublicUser(someUserId);
|
|
28
|
+
*/
|
|
10
29
|
export declare const usePublicUser: (userId: string | null | undefined) => UseQueryResult<PublicUser | null, Error>;
|
|
30
|
+
/**
|
|
31
|
+
* React Query hook that returns a Record of public users by id. Internally uses
|
|
32
|
+
* `useQueries` so each id has its own cache entry — sharing perfectly with
|
|
33
|
+
* other components calling `usePublicUser`.
|
|
34
|
+
*
|
|
35
|
+
* const users = usePublicUsers([id1, id2, id3]);
|
|
36
|
+
* const alias = users[id1]?.alias;
|
|
37
|
+
*/
|
|
11
38
|
export declare const usePublicUsers: (userIds: readonly (string | null | undefined)[]) => Record<string, PublicUser>;
|
|
39
|
+
/**
|
|
40
|
+
* Imperatively prime the cache from data you already have (e.g. a search
|
|
41
|
+
* response). Subsequent `usePublicUser`/`usePublicUsers` calls hit the cache
|
|
42
|
+
* instead of triggering another `getPublicUser` round-trip.
|
|
43
|
+
*/
|
|
12
44
|
export declare const primePublicUsers: (queryClient: QueryClient, users: readonly PublicUser[]) => void;
|
|
45
|
+
/**
|
|
46
|
+
* Hook variant for `primePublicUsers` — useful inside components.
|
|
47
|
+
*/
|
|
13
48
|
export declare const usePrimePublicUsers: () => (users: readonly PublicUser[]) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Imperatively invalidate one or more cached users (e.g. after the user
|
|
51
|
+
* updates their own profile).
|
|
52
|
+
*/
|
|
14
53
|
export declare const invalidatePublicUsers: (queryClient: QueryClient, userIds: readonly string[]) => void;
|
|
@@ -206,6 +206,10 @@ export declare const translations: {
|
|
|
206
206
|
title: string;
|
|
207
207
|
content: string;
|
|
208
208
|
};
|
|
209
|
+
"external-identity-candidate-named": {
|
|
210
|
+
title: string;
|
|
211
|
+
content: string;
|
|
212
|
+
};
|
|
209
213
|
"internal-ticket-section-without-agents": {
|
|
210
214
|
title: string;
|
|
211
215
|
content: string;
|
|
@@ -1662,6 +1666,10 @@ export declare const translations: {
|
|
|
1662
1666
|
title: string;
|
|
1663
1667
|
content: string;
|
|
1664
1668
|
};
|
|
1669
|
+
"external-identity-candidate-named": {
|
|
1670
|
+
title: string;
|
|
1671
|
+
content: string;
|
|
1672
|
+
};
|
|
1665
1673
|
"internal-ticket-section-without-agents": {
|
|
1666
1674
|
title: string;
|
|
1667
1675
|
content: string;
|
|
@@ -2922,11 +2930,11 @@ export declare const flattenTranslations: {
|
|
|
2922
2930
|
type FlattenObjectKeys<T extends Record<string, unknown>, Key = keyof T> = Key extends string ? T[Key] extends Record<string, unknown> ? `${Key}.${FlattenObjectKeys<T[Key]>}` : `${Key}` : never;
|
|
2923
2931
|
export type ExistingTranslationKey = FlattenObjectKeys<(typeof translations)[UserLanguage.FRENCH]>;
|
|
2924
2932
|
export declare const RICH_TAGS: {
|
|
2925
|
-
break: import("react").JSX.Element;
|
|
2926
|
-
bold: (...chunks: ReactNode[]) => import("react").JSX.Element;
|
|
2927
|
-
italic: (...chunks: ReactNode[]) => import("react").JSX.Element;
|
|
2928
|
-
primary: (...chunks: ReactNode[]) => import("react").JSX.Element;
|
|
2929
|
-
focus: (...chunks: ReactNode[]) => import("react").JSX.Element;
|
|
2933
|
+
break: import("react/jsx-runtime").JSX.Element;
|
|
2934
|
+
bold: (...chunks: ReactNode[]) => import("react/jsx-runtime").JSX.Element;
|
|
2935
|
+
italic: (...chunks: ReactNode[]) => import("react/jsx-runtime").JSX.Element;
|
|
2936
|
+
primary: (...chunks: ReactNode[]) => import("react/jsx-runtime").JSX.Element;
|
|
2937
|
+
focus: (...chunks: ReactNode[]) => import("react/jsx-runtime").JSX.Element;
|
|
2930
2938
|
};
|
|
2931
2939
|
export type ExistingMessageDescriptor = {
|
|
2932
2940
|
[Key in keyof MessageDescriptor]: Key extends 'id' ? ExistingTranslationKey : MessageDescriptor['id'];
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that provides a `triggerTransition` function to wrap theme changes
|
|
4
|
+
* with a circular reveal animation using the View Transitions API.
|
|
5
|
+
*
|
|
6
|
+
* Falls back to a direct call on unsupported browsers or when the user
|
|
7
|
+
* prefers reduced motion.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const { triggerTransition } = useThemeTransition();
|
|
11
|
+
* <Button onClick={(e) => triggerTransition(() => setThemeMode('light'), e)}>
|
|
12
|
+
* Switch theme
|
|
13
|
+
* </Button>
|
|
14
|
+
*/
|
|
2
15
|
export declare function useThemeTransition(): {
|
|
3
16
|
triggerTransition: (callback: () => void, event?: React.MouseEvent | MouseEvent) => void;
|
|
4
17
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { E as d, L as y, h as b, a as _, p as g, e as u, s as S, i as T, f as k, j as W, t } from "./index-
|
|
2
|
-
import { html as j } from "./index-
|
|
3
|
-
import { L as X, E as p } from "./index-
|
|
1
|
+
import { E as d, L as y, h as b, a as _, p as g, e as u, s as S, i as T, f as k, j as W, t } from "./index-BjbDo-BN.js";
|
|
2
|
+
import { html as j } from "./index-x_CknZJ4.js";
|
|
3
|
+
import { L as X, E as p } from "./index-13QCr6ei.js";
|
|
4
4
|
const Y = 1, U = 2, G = 3, R = 179, z = 4, v = 180, x = 5, Z = 181, V = 6;
|
|
5
5
|
function E(O) {
|
|
6
6
|
return O >= 65 && O <= 90 || O >= 97 && O <= 122;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as p, L as u, p as n, s as l, t as e } from "./index-
|
|
2
|
-
import { html as m } from "./index-
|
|
3
|
-
import { javascriptLanguage as b } from "./index-
|
|
4
|
-
import { L as S, a as r } from "./index-
|
|
1
|
+
import { a as p, L as u, p as n, s as l, t as e } from "./index-BjbDo-BN.js";
|
|
2
|
+
import { html as m } from "./index-x_CknZJ4.js";
|
|
3
|
+
import { javascriptLanguage as b } from "./index-Ci9slz4U.js";
|
|
4
|
+
import { L as S, a as r } from "./index-13QCr6ei.js";
|
|
5
5
|
const c = /* @__PURE__ */ S.deserialize({
|
|
6
6
|
version: 14,
|
|
7
7
|
states: "%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L as V, E as X } from "./index-
|
|
2
|
-
import { s as d, t as $, a as Z, L as R, p as s, i as t, f as y, c, j as U, g as l } from "./index-
|
|
3
|
-
import { html as w } from "./index-
|
|
1
|
+
import { L as V, E as X } from "./index-13QCr6ei.js";
|
|
2
|
+
import { s as d, t as $, a as Z, L as R, p as s, i as t, f as y, c, j as U, g as l } from "./index-BjbDo-BN.js";
|
|
3
|
+
import { html as w } from "./index-x_CknZJ4.js";
|
|
4
4
|
const W = 1, p = 2, q = 275, u = 3, b = 276, _ = 277, f = 278, k = 4, m = 5, G = 6, x = 7, z = 8, h = 9, g = 10, v = 11, j = 12, E = 13, I = 14, N = 15, L = 16, F = 17, C = 18, H = 19, A = 20, K = 21, D = 22, B = 23, M = 24, J = 25, OO = 26, $O = 27, QO = 28, iO = 29, aO = 30, TO = 31, PO = 32, XO = 33, SO = 34, cO = 35, eO = 36, oO = 37, _O = 38, zO = 39, nO = 40, rO = 41, YO = 42, VO = 43, dO = 44, ZO = 45, RO = 46, sO = 47, tO = 48, yO = 49, UO = 50, lO = 51, wO = 52, WO = 53, pO = 54, qO = 55, uO = 56, bO = 57, fO = 58, kO = 59, mO = 60, GO = 61, xO = 62, e = 63, hO = 64, gO = 65, vO = 66, jO = {
|
|
5
5
|
abstract: k,
|
|
6
6
|
and: m,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as s, E as R, a as Y, C as x } from "./index-
|
|
2
|
-
import { s as w, t as O, a as d, n as X, L as k, b as h, d as f, i as u, f as y, c as l, j as g, m as j, g as U, e as G, o as b, I as Z } from "./index-
|
|
1
|
+
import { L as s, E as R, a as Y, C as x } from "./index-13QCr6ei.js";
|
|
2
|
+
import { s as w, t as O, a as d, n as X, L as k, b as h, d as f, i as u, f as y, c as l, j as g, m as j, g as U, e as G, o as b, I as Z } from "./index-BjbDo-BN.js";
|
|
3
3
|
const _ = 177, q = 179, E = 184, v = 12, C = 13, D = 17, z = 20, F = 25, B = 53, N = 95, I = 142, L = 144, A = 145, J = 148, M = 10, H = 13, K = 32, OO = 9, $ = 47, QO = 41, eO = 125, aO = new R((Q, e) => {
|
|
4
4
|
for (let n = 0, a = Q.next; (e.context && (a < 0 || a == M || a == H || a == $ && Q.peek(n + 1) == $) || a == QO || a == eO) && Q.acceptToken(_), !(a != K && a != OO); )
|
|
5
5
|
a = Q.peek(++n);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as G, E as A, C as N } from "./index-
|
|
2
|
-
import { s as I, t as p, E as Y, a as j, L as U, e as k, h as Z, i as B, f as D, H as M } from "./index-
|
|
1
|
+
import { L as G, E as A, C as N } from "./index-13QCr6ei.js";
|
|
2
|
+
import { s as I, t as p, E as Y, a as j, L as U, e as k, h as Z, i as B, f as D, H as M } from "./index-BjbDo-BN.js";
|
|
3
3
|
const h = 1, F = 2, L = 3, H = 4, K = 5, J = 36, ee = 37, te = 38, Oe = 11, oe = 13;
|
|
4
4
|
function re(e) {
|
|
5
5
|
return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
|