@factorialco/f0-react 12.6.0 → 12.8.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.
- package/dist/{ChatPostComposerDialog-Cn2genet.js → ChatPostComposerDialog-t1X_eEx-.js} +2 -2
- package/dist/{CoachmarkProvider-DT14x0AU.js → CoachmarkProvider-C8AfrRY-.js} +2 -2
- package/dist/{DocumentToolbar-C9Po6BKY.js → DocumentToolbar-CiWldz64.js} +2 -2
- package/dist/{DocxViewer-haxAtwwO.js → DocxViewer-ZWB-Upv4.js} +1 -1
- package/dist/{F0AiProcessingOverlay-CVIRG3jF.js → F0AiProcessingOverlay-BZDPV9iG.js} +2 -1
- package/dist/{F0CanvasPanel-Cr7KX0zD.js → F0CanvasPanel-BpJr85HN.js} +11 -10
- package/dist/{F0DocumentViewer-DVyc9nMF.js → F0DocumentViewer-C0Aj9x9_.js} +3 -3
- package/dist/F0DocumentViewer-c0OzZYZK.js +3 -0
- package/dist/{F0Map-D7XCm7e2.js → F0Map-CyyZmEdH.js} +3 -3
- package/dist/F0VideoPlayer-DcPgDbG3.js +1 -0
- package/dist/{F0VideoPlayer-ByIehNyD.js → F0VideoPlayer-Ob0Ocg-j.js} +1 -1
- package/dist/{Map-B6ueo7xJ.js → Map-CkxnszKW.js} +3 -3
- package/dist/{PdfThumbnail-PHUaRH8_.js → PdfThumbnail-DKDEmiH7.js} +1 -1
- package/dist/{SheetViewer-C1rrcfIx.js → SheetViewer-D1-JA9nb.js} +3 -3
- package/dist/{TextViewer-k1eayJ7W.js → TextViewer-DW_Xu4Cb.js} +1 -1
- package/dist/ai.d.ts +2 -2
- package/dist/ai.js +2 -2
- package/dist/component-status.js +1 -1
- package/dist/experimental.d.ts +409 -456
- package/dist/experimental.js +4 -4
- package/dist/{exports-CnbBeOMM.d.ts → exports-BdFDYdp1.d.ts} +85 -85
- package/dist/f0.d.ts +102 -99
- package/dist/f0.js +704 -685
- package/dist/{index-DE9tIS8D.d.ts → index-DIwa_k8B.d.ts} +177 -173
- package/dist/{maplibre-D4TgPyqe.js → maplibre-DKmCLTnt.js} +1 -1
- package/dist/{pdfWorker-C0ND4urI.js → pdfWorker-Ch4pdihi.js} +1 -1
- package/dist/{types-tNl_jMZz.d.ts → types-C6VyXC_B.d.ts} +349 -326
- package/package.json +1 -1
- package/dist/F0DocumentViewer-BLNw_SjP.js +0 -3
- package/dist/F0VideoPlayer-BWUvWTys.js +0 -1
|
@@ -6,9 +6,9 @@ import { baseColors } from "@factorialco/f0-core";
|
|
|
6
6
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
7
7
|
import { TooltipPopupProps, TooltipPositionerProps } from "@base-ui/react/tooltip";
|
|
8
8
|
//#region src/elements/lib/data-testid/data-testid.d.ts
|
|
9
|
-
|
|
9
|
+
interface WithDataTestIdProps {
|
|
10
10
|
dataTestId?: string;
|
|
11
|
-
}
|
|
11
|
+
}
|
|
12
12
|
/**
|
|
13
13
|
* Wrapper component that conditionally renders a `data-testid` attribute.
|
|
14
14
|
*
|
|
@@ -330,10 +330,10 @@ declare const F0AvatarEmoji: WithDataTestIdReturnType<typeof F0AvatarEmojiBase>;
|
|
|
330
330
|
//#region src/elements/avatars/F0AvatarFile/types.d.ts
|
|
331
331
|
declare const avatarFileSizes: readonly ["xs", "sm", "md", "lg"];
|
|
332
332
|
type AvatarFileSize = (typeof avatarFileSizes)[number];
|
|
333
|
-
|
|
333
|
+
interface FileDef {
|
|
334
334
|
name: string;
|
|
335
335
|
type: string;
|
|
336
|
-
}
|
|
336
|
+
}
|
|
337
337
|
//#endregion
|
|
338
338
|
//#region src/elements/avatars/F0AvatarFile/F0AvatarFile.d.ts
|
|
339
339
|
type F0AvatarFileProps = Omit<React.ComponentPropsWithoutRef<typeof Avatar>, "type" | "size"> & {
|
|
@@ -530,7 +530,7 @@ declare const F0AvatarModule: WithDataTestIdReturnType<typeof F0AvatarModuleBase
|
|
|
530
530
|
* Base shape shared by all canvas content types.
|
|
531
531
|
* Every entity adds its own fields on top of this.
|
|
532
532
|
*/
|
|
533
|
-
|
|
533
|
+
interface CanvasContentBase {
|
|
534
534
|
type: string;
|
|
535
535
|
title: string;
|
|
536
536
|
description?: string;
|
|
@@ -560,7 +560,7 @@ type CanvasContentBase = {
|
|
|
560
560
|
* with `coversChat`, which fullscreen always dismisses.
|
|
561
561
|
*/
|
|
562
562
|
keepsUnderFullscreen?: boolean;
|
|
563
|
-
}
|
|
563
|
+
}
|
|
564
564
|
/**
|
|
565
565
|
* Dashboard canvas content — renders an analytics dashboard.
|
|
566
566
|
*/
|
|
@@ -634,16 +634,16 @@ type CanvasContent = DashboardCanvasContent | FormCanvasContent | DataDownloadCa
|
|
|
634
634
|
* Each entity defines its own actions type; this aggregates them.
|
|
635
635
|
* Passed by the host app to F0AiChatProvider via `canvasActions`.
|
|
636
636
|
*/
|
|
637
|
-
|
|
637
|
+
interface CanvasActions {
|
|
638
638
|
dashboard?: DashboardCanvasActions;
|
|
639
|
-
}
|
|
639
|
+
}
|
|
640
640
|
/**
|
|
641
641
|
* Contract for a canvas entity type.
|
|
642
642
|
*
|
|
643
643
|
* Each entity (dashboard, survey, goal, job-posting…) implements this
|
|
644
644
|
* interface and is added to the `canvasEntities` record passed to F0AiChat.
|
|
645
645
|
*/
|
|
646
|
-
|
|
646
|
+
interface CanvasEntityDefinition<T extends CanvasContentBase = CanvasContentBase> {
|
|
647
647
|
/** Must match the `type` discriminant on the content object */
|
|
648
648
|
type: T["type"];
|
|
649
649
|
/** Renders the main body of the canvas panel */
|
|
@@ -669,12 +669,12 @@ type CanvasEntityDefinition<T extends CanvasContentBase = CanvasContentBase> = {
|
|
|
669
669
|
* `overflow-auto`, letting the entity manage its own scrolling.
|
|
670
670
|
*/
|
|
671
671
|
overflowHidden?: boolean;
|
|
672
|
-
}
|
|
672
|
+
}
|
|
673
673
|
/**
|
|
674
674
|
* Inline dataset for client-side file generation (Excel / CSV).
|
|
675
675
|
* Sent by the agent with the raw query results.
|
|
676
676
|
*/
|
|
677
|
-
|
|
677
|
+
interface DataDownloadDataset {
|
|
678
678
|
/** Column headers in display order. */
|
|
679
679
|
columns: string[];
|
|
680
680
|
/** Array of row objects keyed by column name. */
|
|
@@ -694,13 +694,13 @@ type DataDownloadDataset = {
|
|
|
694
694
|
* Used for Excel/CSV headers. Falls back to the raw column name when absent.
|
|
695
695
|
*/
|
|
696
696
|
columnLabels?: Record<string, string>;
|
|
697
|
-
}
|
|
697
|
+
}
|
|
698
698
|
/**
|
|
699
699
|
* A single proposed shift block in a timesheet-autofill preview. Every proposed
|
|
700
700
|
* block carries concrete employee-local clock times (ISO datetime or "HH:MM");
|
|
701
701
|
* days that cannot be proposed are omitted rather than emitted with empty bounds.
|
|
702
702
|
*/
|
|
703
|
-
|
|
703
|
+
interface AutofillTimesheetShift {
|
|
704
704
|
date: string;
|
|
705
705
|
clockIn: string;
|
|
706
706
|
clockOut: string;
|
|
@@ -713,7 +713,7 @@ type AutofillTimesheetShift = {
|
|
|
713
713
|
* location-type enum (today: "office" | "work_from_home" | "business_trip").
|
|
714
714
|
*/
|
|
715
715
|
locationType?: string | null;
|
|
716
|
-
}
|
|
716
|
+
}
|
|
717
717
|
/**
|
|
718
718
|
* A preset formatting instruction the LLM can specify instead of a
|
|
719
719
|
* real formatter function. The wrapper component maps these to actual
|
|
@@ -919,14 +919,14 @@ type ChatDashboardDateNavigationGranularity = "day" | "week" | "month" | "quarte
|
|
|
919
919
|
* grid. The `column` and `datasetId` are agent-side metadata used by the
|
|
920
920
|
* compute SQL builder; they are stripped before reaching F0AnalyticsDashboard.
|
|
921
921
|
*/
|
|
922
|
-
|
|
922
|
+
interface ChatDashboardNavigationFilterDefinition {
|
|
923
923
|
type: "dateNavigation";
|
|
924
924
|
label: string;
|
|
925
925
|
column: string;
|
|
926
926
|
datasetId: string;
|
|
927
927
|
granularities: ChatDashboardDateNavigationGranularity[];
|
|
928
928
|
defaultGranularity?: ChatDashboardDateNavigationGranularity;
|
|
929
|
-
}
|
|
929
|
+
}
|
|
930
930
|
interface ChatDashboardColumn {
|
|
931
931
|
/** Column key — must match a key in each row object */
|
|
932
932
|
id: string;
|
|
@@ -1033,7 +1033,7 @@ interface ChatDashboardConfig {
|
|
|
1033
1033
|
* list page since this conversation was first opened). The header prefers
|
|
1034
1034
|
* these values over the ones baked into `content` / `config`.
|
|
1035
1035
|
*/
|
|
1036
|
-
|
|
1036
|
+
interface DashboardMetadata {
|
|
1037
1037
|
/**
|
|
1038
1038
|
* Latest persisted title. When present, the header displays this instead
|
|
1039
1039
|
* of `content.title` so the chat-history snapshot never shadows the
|
|
@@ -1056,11 +1056,11 @@ type DashboardMetadata = {
|
|
|
1056
1056
|
* can forward backend payloads verbatim without pre-parsing.
|
|
1057
1057
|
*/
|
|
1058
1058
|
lastEdited: Date | string;
|
|
1059
|
-
}
|
|
1059
|
+
}
|
|
1060
1060
|
/**
|
|
1061
1061
|
* Callbacks for persisting dashboards externally (beyond chat history).
|
|
1062
1062
|
*/
|
|
1063
|
-
|
|
1063
|
+
interface DashboardCanvasActions {
|
|
1064
1064
|
/** Update an existing saved dashboard */
|
|
1065
1065
|
save: (id: string, category: string, config: ChatDashboardConfig) => Promise<void>;
|
|
1066
1066
|
/**
|
|
@@ -1080,7 +1080,7 @@ type DashboardCanvasActions = {
|
|
|
1080
1080
|
* instead of showing a placeholder.
|
|
1081
1081
|
*/
|
|
1082
1082
|
getMetadata?: (id: string) => Promise<DashboardMetadata | void>;
|
|
1083
|
-
}
|
|
1083
|
+
}
|
|
1084
1084
|
//#endregion
|
|
1085
1085
|
//#region src/addons/ai/ai/F0AiFileAttachments/types.d.ts
|
|
1086
1086
|
/**
|
|
@@ -1088,7 +1088,7 @@ type DashboardCanvasActions = {
|
|
|
1088
1088
|
* assistant produced. Built from the host's message parts with the adapters in
|
|
1089
1089
|
* `./adapters`.
|
|
1090
1090
|
*/
|
|
1091
|
-
|
|
1091
|
+
interface AiChatFile {
|
|
1092
1092
|
url: string;
|
|
1093
1093
|
name: string;
|
|
1094
1094
|
/**
|
|
@@ -1108,7 +1108,7 @@ type AiChatFile = {
|
|
|
1108
1108
|
/** Intrinsic photo size; reserves the box before the photo loads. */
|
|
1109
1109
|
width?: number;
|
|
1110
1110
|
height?: number;
|
|
1111
|
-
}
|
|
1111
|
+
}
|
|
1112
1112
|
/**
|
|
1113
1113
|
* Which kind of preview a file opened. Photos and documents open a viewer
|
|
1114
1114
|
* today; `video` and `file` are reserved for when they do too.
|
|
@@ -1130,7 +1130,7 @@ type AiChatFileKind = "image" | "video" | "document" | "file";
|
|
|
1130
1130
|
type AiChatFileUrlResolver = (url: string, context: {
|
|
1131
1131
|
signal: AbortSignal;
|
|
1132
1132
|
}) => Promise<string | Blob | null | undefined> | string | Blob | null | undefined;
|
|
1133
|
-
|
|
1133
|
+
interface AiChatFilePreviewConfig {
|
|
1134
1134
|
/**
|
|
1135
1135
|
* Resolve file URLs before showing them. Without it, only files the browser
|
|
1136
1136
|
* already holds (`blob:` and `data:` URLs) get rich previews; anything else
|
|
@@ -1143,9 +1143,9 @@ type AiChatFilePreviewConfig = {
|
|
|
1143
1143
|
* @default false
|
|
1144
1144
|
*/
|
|
1145
1145
|
directUrls?: boolean;
|
|
1146
|
-
}
|
|
1146
|
+
}
|
|
1147
1147
|
/** One file published by an agent's `showFiles` tool. */
|
|
1148
|
-
|
|
1148
|
+
interface AiChatShowFilesItem {
|
|
1149
1149
|
path: string;
|
|
1150
1150
|
displayName?: string;
|
|
1151
1151
|
mimeType?: string;
|
|
@@ -1156,10 +1156,10 @@ type AiChatShowFilesItem = {
|
|
|
1156
1156
|
preview?: {
|
|
1157
1157
|
path: string;
|
|
1158
1158
|
};
|
|
1159
|
-
}
|
|
1159
|
+
}
|
|
1160
1160
|
//#endregion
|
|
1161
1161
|
//#region src/elements/avatars/F0Avatar/F0Avatar.d.ts
|
|
1162
|
-
|
|
1162
|
+
interface AvatarProps {
|
|
1163
1163
|
avatar: AvatarVariant;
|
|
1164
1164
|
size?: AvatarSize;
|
|
1165
1165
|
dataTestId?: string;
|
|
@@ -1170,7 +1170,7 @@ type AvatarProps = {
|
|
|
1170
1170
|
* fits.
|
|
1171
1171
|
*/
|
|
1172
1172
|
actions?: AvatarAction[];
|
|
1173
|
-
}
|
|
1173
|
+
}
|
|
1174
1174
|
type AvatarVariant = ({
|
|
1175
1175
|
type: "person";
|
|
1176
1176
|
} & Omit<F0AvatarPersonProps, "size">) | ({
|
|
@@ -1195,7 +1195,7 @@ declare const F0Avatar: WithDataTestIdReturnType<typeof F0AvatarBase>;
|
|
|
1195
1195
|
//#endregion
|
|
1196
1196
|
//#region src/blocks/F0PersonCard/types.d.ts
|
|
1197
1197
|
/** A button in the person card, such as opening a chat with that person. */
|
|
1198
|
-
|
|
1198
|
+
interface F0PersonCardAction {
|
|
1199
1199
|
label: string;
|
|
1200
1200
|
/** `"default"` is the filled call to action; use it for one action at most.
|
|
1201
1201
|
* @default "outline" */
|
|
@@ -1204,7 +1204,7 @@ type F0PersonCardAction = {
|
|
|
1204
1204
|
* shows the button as loading until it settles: F0Button checks at runtime. */
|
|
1205
1205
|
onClick: () => void;
|
|
1206
1206
|
disabled?: boolean;
|
|
1207
|
-
}
|
|
1207
|
+
}
|
|
1208
1208
|
type F0PersonCardProps = WithDataTestIdProps & {
|
|
1209
1209
|
name: string;
|
|
1210
1210
|
/** Defaults to the initials of `name`. */
|
|
@@ -1213,6 +1213,8 @@ type F0PersonCardProps = WithDataTestIdProps & {
|
|
|
1213
1213
|
subtitle?: string;
|
|
1214
1214
|
/** Link to the person's profile, shown as a "View profile" button. */
|
|
1215
1215
|
profileHref?: string;
|
|
1216
|
+
/** Called when "View profile" is clicked, before the link opens. */
|
|
1217
|
+
onProfileClick?: () => void;
|
|
1216
1218
|
/** More buttons next to "View profile". The host decides which apply to
|
|
1217
1219
|
* each person. */
|
|
1218
1220
|
actions?: F0PersonCardAction[];
|
|
@@ -1223,7 +1225,7 @@ type F0PersonCardProps = WithDataTestIdProps & {
|
|
|
1223
1225
|
* A person's identity in an {@link F0Card}, with a "View profile" button and
|
|
1224
1226
|
* the host's actions next to it.
|
|
1225
1227
|
*/
|
|
1226
|
-
declare const F0PersonCardBase: ({ name, avatar, subtitle, profileHref, actions, dataTestId }: F0PersonCardProps) => ReactNode;
|
|
1228
|
+
declare const F0PersonCardBase: ({ name, avatar, subtitle, profileHref, onProfileClick, actions, dataTestId }: F0PersonCardProps) => ReactNode;
|
|
1227
1229
|
declare const F0PersonCard: typeof F0PersonCardBase;
|
|
1228
1230
|
//#endregion
|
|
1229
1231
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/person/types.d.ts
|
|
@@ -1231,7 +1233,7 @@ declare const F0PersonCard: typeof F0PersonCardBase;
|
|
|
1231
1233
|
* Profile data for a person entity (employee), resolved asynchronously
|
|
1232
1234
|
* and displayed in the entity reference hover card.
|
|
1233
1235
|
*/
|
|
1234
|
-
|
|
1236
|
+
interface PersonProfile {
|
|
1235
1237
|
id: string | number;
|
|
1236
1238
|
firstName: string;
|
|
1237
1239
|
lastName: string;
|
|
@@ -1239,33 +1241,35 @@ type PersonProfile = {
|
|
|
1239
1241
|
jobTitle?: string;
|
|
1240
1242
|
/** Buttons next to "View profile", such as sending a message. */
|
|
1241
1243
|
actions?: F0PersonCardAction[];
|
|
1242
|
-
|
|
1244
|
+
/** Called when "View profile" is clicked, before the link opens. */
|
|
1245
|
+
onProfileClick?: () => void;
|
|
1246
|
+
}
|
|
1243
1247
|
//#endregion
|
|
1244
1248
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/candidate/types.d.ts
|
|
1245
1249
|
/**
|
|
1246
1250
|
* Profile data for a candidate entity (ATS applicant), resolved asynchronously
|
|
1247
1251
|
* and displayed in the entity reference hover card.
|
|
1248
1252
|
*/
|
|
1249
|
-
|
|
1253
|
+
interface CandidateProfile {
|
|
1250
1254
|
id: string | number;
|
|
1251
1255
|
firstName: string;
|
|
1252
1256
|
lastName: string;
|
|
1253
1257
|
avatarUrl?: string;
|
|
1254
1258
|
source?: string;
|
|
1255
1259
|
appliedAt?: string;
|
|
1256
|
-
}
|
|
1260
|
+
}
|
|
1257
1261
|
//#endregion
|
|
1258
1262
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/jobPosting/types.d.ts
|
|
1259
1263
|
/**
|
|
1260
1264
|
* Profile data for a job posting entity (ATS opening), resolved asynchronously
|
|
1261
1265
|
* and displayed in the entity reference hover card.
|
|
1262
1266
|
*/
|
|
1263
|
-
|
|
1267
|
+
interface JobPostingProfile {
|
|
1264
1268
|
id: string | number;
|
|
1265
1269
|
title: string;
|
|
1266
1270
|
status?: string;
|
|
1267
1271
|
location?: string;
|
|
1268
|
-
}
|
|
1272
|
+
}
|
|
1269
1273
|
//#endregion
|
|
1270
1274
|
//#region src/elements/tags/F0TagStatus/types.d.ts
|
|
1271
1275
|
declare const statuses$1: readonly ["neutral", "info", "positive", "warning", "critical"];
|
|
@@ -1286,7 +1290,7 @@ interface F0TagStatusProps {
|
|
|
1286
1290
|
declare const F0TagStatus: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<F0TagStatusProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
1287
1291
|
//#endregion
|
|
1288
1292
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/requisition/types.d.ts
|
|
1289
|
-
|
|
1293
|
+
interface RequisitionProfile {
|
|
1290
1294
|
id: string | number;
|
|
1291
1295
|
title: string;
|
|
1292
1296
|
status?: string;
|
|
@@ -1298,36 +1302,36 @@ type RequisitionProfile = {
|
|
|
1298
1302
|
lastName: string;
|
|
1299
1303
|
avatarUrl?: string;
|
|
1300
1304
|
};
|
|
1301
|
-
}
|
|
1305
|
+
}
|
|
1302
1306
|
//#endregion
|
|
1303
1307
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/vacancy/types.d.ts
|
|
1304
1308
|
/**
|
|
1305
1309
|
* Profile data for a vacancy entity (ATS vacancy/position), resolved asynchronously
|
|
1306
1310
|
* and displayed in the entity reference hover card.
|
|
1307
1311
|
*/
|
|
1308
|
-
|
|
1312
|
+
interface VacancyProfile {
|
|
1309
1313
|
id: string | number;
|
|
1310
1314
|
name: string;
|
|
1311
1315
|
status?: string;
|
|
1312
1316
|
vacancyType?: string;
|
|
1313
|
-
}
|
|
1317
|
+
}
|
|
1314
1318
|
//#endregion
|
|
1315
1319
|
//#region src/addons/ai/ai/F0AiChat/components/markdownRenderers/entityRef/entities/expense/types.d.ts
|
|
1316
1320
|
/**
|
|
1317
1321
|
* Profile data for an expense entity, resolved asynchronously
|
|
1318
1322
|
* and displayed in the entity reference hover card.
|
|
1319
1323
|
*/
|
|
1320
|
-
|
|
1324
|
+
interface ExpenseProfile {
|
|
1321
1325
|
id: string | number;
|
|
1322
1326
|
description?: string;
|
|
1323
1327
|
amount?: string;
|
|
1324
1328
|
status?: string;
|
|
1325
|
-
}
|
|
1329
|
+
}
|
|
1326
1330
|
//#endregion
|
|
1327
1331
|
//#region src/elements/lib/global.types.d.ts
|
|
1328
|
-
|
|
1332
|
+
interface DataAttributes {
|
|
1329
1333
|
[key: `data-${string}`]: string | undefined;
|
|
1330
|
-
}
|
|
1334
|
+
}
|
|
1331
1335
|
//#endregion
|
|
1332
1336
|
//#region src/elements/Action/types.d.ts
|
|
1333
1337
|
declare const actionButtonVariants: readonly ["default", "outline", "critical", "neutral", "ghost", "promote", "outlinePromote", "ai"];
|
|
@@ -1637,10 +1641,10 @@ declare const F0Button: WithDataTestIdReturnType<import("react").ForwardRefExoti
|
|
|
1637
1641
|
} & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement>>>;
|
|
1638
1642
|
//#endregion
|
|
1639
1643
|
//#region src/elements/lib/linkHandler.d.ts
|
|
1640
|
-
|
|
1644
|
+
interface LinkContextValue {
|
|
1641
1645
|
currentPath?: string;
|
|
1642
1646
|
component?: (props: LinkProps, ref: ForwardedRef<HTMLAnchorElement>) => JSX.Element;
|
|
1643
|
-
}
|
|
1647
|
+
}
|
|
1644
1648
|
type LinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
1645
1649
|
exactMatch?: boolean;
|
|
1646
1650
|
disabled?: boolean;
|
|
@@ -1654,13 +1658,13 @@ type NavigationItem = Pick<LinkProps, "href" | "exactMatch" | "onClick"> & {
|
|
|
1654
1658
|
//#region src/elements/Dropdown/internal.d.ts
|
|
1655
1659
|
declare const dropdownContentVariants: readonly ["expanded", "reduced"];
|
|
1656
1660
|
type DropdownContentVariant = (typeof dropdownContentVariants)[number];
|
|
1657
|
-
|
|
1661
|
+
interface DropdownItemSeparator {
|
|
1658
1662
|
type: "separator";
|
|
1659
|
-
}
|
|
1660
|
-
|
|
1663
|
+
}
|
|
1664
|
+
interface DropdownItemLabel {
|
|
1661
1665
|
type: "label";
|
|
1662
1666
|
text: string;
|
|
1663
|
-
}
|
|
1667
|
+
}
|
|
1664
1668
|
/**
|
|
1665
1669
|
* A block the menu shows rather than a row it offers, such as an account card
|
|
1666
1670
|
* under the menu's caption. It takes no focus and closes nothing, so it is not
|
|
@@ -1668,13 +1672,13 @@ type DropdownItemLabel = {
|
|
|
1668
1672
|
* the menu keeps keyboard focus on its rows, so a control inside a panel cannot
|
|
1669
1673
|
* be reached with the keyboard.
|
|
1670
1674
|
*/
|
|
1671
|
-
|
|
1675
|
+
interface DropdownItemPanel {
|
|
1672
1676
|
type: "panel";
|
|
1673
1677
|
content: React$1.ReactNode;
|
|
1674
|
-
}
|
|
1678
|
+
}
|
|
1675
1679
|
type DropdownItem = DropdownItemObject | DropdownItemSeparator | DropdownItemLabel | DropdownItemSubmenu | DropdownItemSwitch | DropdownItemPanel;
|
|
1676
1680
|
/** What any row shows, whatever it does when you choose it. */
|
|
1677
|
-
|
|
1681
|
+
interface DropdownItemVisuals {
|
|
1678
1682
|
label: string;
|
|
1679
1683
|
icon?: IconType;
|
|
1680
1684
|
description?: string;
|
|
@@ -1682,7 +1686,7 @@ type DropdownItemVisuals = {
|
|
|
1682
1686
|
/** Short trailing tag beside the label, e.g. "New". Not a sentence. */
|
|
1683
1687
|
tag?: string;
|
|
1684
1688
|
critical?: boolean;
|
|
1685
|
-
}
|
|
1689
|
+
}
|
|
1686
1690
|
type DropdownItemObject = Pick<NavigationItem, "label" | "href"> & Omit<DropdownItemVisuals, "label"> & {
|
|
1687
1691
|
type?: "item";
|
|
1688
1692
|
onClick?: () => void;
|
|
@@ -1874,26 +1878,26 @@ type CardAvatarVariant = AvatarVariant$1 | {
|
|
|
1874
1878
|
//#region src/elements/value-display/types.d.ts
|
|
1875
1879
|
type ValueDisplayVisualizationType = "table" | "card" | "list" | (string & {});
|
|
1876
1880
|
type ValueDisplayTableAlignment = "left" | "right";
|
|
1877
|
-
|
|
1881
|
+
interface ValueDisplayRendererContext {
|
|
1878
1882
|
visualization: ValueDisplayVisualizationType;
|
|
1879
1883
|
i18n: TranslationsType;
|
|
1880
1884
|
tableAlign?: ValueDisplayTableAlignment;
|
|
1881
|
-
}
|
|
1885
|
+
}
|
|
1882
1886
|
//#endregion
|
|
1883
1887
|
//#region src/elements/tags/F0TagAlert/types.d.ts
|
|
1884
1888
|
declare const levels: readonly ["info", "warning", "critical", "positive"];
|
|
1885
1889
|
type Level = (typeof levels)[number];
|
|
1886
|
-
|
|
1890
|
+
interface Props$1<Text extends string = string> {
|
|
1887
1891
|
text: Text extends "" ? never : Text;
|
|
1888
1892
|
level: Level;
|
|
1889
1893
|
/**
|
|
1890
1894
|
* Info text to display an i icon and a tooltip next to the tag
|
|
1891
1895
|
*/
|
|
1892
1896
|
info?: string;
|
|
1893
|
-
}
|
|
1897
|
+
}
|
|
1894
1898
|
//#endregion
|
|
1895
1899
|
//#region src/elements/tags/F0TagAlert/F0TagAlert.d.ts
|
|
1896
|
-
declare const F0TagAlert: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<Props$1 & import("react").RefAttributes<HTMLDivElement>>>;
|
|
1900
|
+
declare const F0TagAlert: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<Props$1<string> & import("react").RefAttributes<HTMLDivElement>>>;
|
|
1897
1901
|
//#endregion
|
|
1898
1902
|
//#region src/elements/value-display/types/alertTag/alertTag.d.ts
|
|
1899
1903
|
interface AlertTagValue {
|
|
@@ -2309,7 +2313,7 @@ type TooltipCopyProps = {
|
|
|
2309
2313
|
description?: string;
|
|
2310
2314
|
items: TooltipListItem[];
|
|
2311
2315
|
};
|
|
2312
|
-
|
|
2316
|
+
interface TooltipGroupProps {
|
|
2313
2317
|
children: ReactNode;
|
|
2314
2318
|
/**
|
|
2315
2319
|
* The wait before a tooltip in the group opens, for those that do not set
|
|
@@ -2327,7 +2331,7 @@ type TooltipGroupProps = {
|
|
|
2327
2331
|
* @default 400
|
|
2328
2332
|
*/
|
|
2329
2333
|
timeout?: number;
|
|
2330
|
-
}
|
|
2334
|
+
}
|
|
2331
2335
|
/**
|
|
2332
2336
|
* Triggers that wait out the delay once, together: while any tooltip in the
|
|
2333
2337
|
* group is on screen — or was, a moment ago — the next one opens on arrival.
|
|
@@ -2404,11 +2408,11 @@ declare const Tooltip: WithDataTestIdReturnType<typeof _Tooltip>;
|
|
|
2404
2408
|
* bulleted list. A plain string is the title alone, which is what every caller
|
|
2405
2409
|
* passed before the structured form existed.
|
|
2406
2410
|
*/
|
|
2407
|
-
|
|
2411
|
+
interface TooltipContentValue {
|
|
2408
2412
|
title?: string;
|
|
2409
2413
|
description?: string;
|
|
2410
2414
|
items?: TooltipListItem[];
|
|
2411
|
-
}
|
|
2415
|
+
}
|
|
2412
2416
|
type TooltipValue = string | TooltipContentValue;
|
|
2413
2417
|
//#endregion
|
|
2414
2418
|
//#region src/elements/value-display/types/icon/icon.d.ts
|
|
@@ -2649,7 +2653,7 @@ type Numeric = NumericValue | number | undefined | null;
|
|
|
2649
2653
|
/**
|
|
2650
2654
|
* Configuration options for the numeric formatter.
|
|
2651
2655
|
*/
|
|
2652
|
-
|
|
2656
|
+
interface NumericFormatterOptions {
|
|
2653
2657
|
/**
|
|
2654
2658
|
* Locale string for number formatting (e.g., "en-US", "es-ES", "de-DE").
|
|
2655
2659
|
* Determines the decimal separator and other locale-specific formatting rules.
|
|
@@ -2692,7 +2696,7 @@ type NumericFormatterOptions = {
|
|
|
2692
2696
|
* @default true
|
|
2693
2697
|
*/
|
|
2694
2698
|
useGrouping?: boolean;
|
|
2695
|
-
}
|
|
2699
|
+
}
|
|
2696
2700
|
/**
|
|
2697
2701
|
* Formats a numeric value according to the provided options.
|
|
2698
2702
|
*
|
|
@@ -2708,11 +2712,11 @@ type NumericFormatter = (value: Numeric, options?: NumericFormatterOptions) => s
|
|
|
2708
2712
|
* @param formatter - The formatter to use.
|
|
2709
2713
|
* @param formatterOptions - The formatting options.
|
|
2710
2714
|
*/
|
|
2711
|
-
|
|
2715
|
+
interface NumericWithFormatter {
|
|
2712
2716
|
numericValue: NumericValue;
|
|
2713
2717
|
formatter?: NumericFormatter;
|
|
2714
2718
|
formatterOptions?: NumericFormatterOptions;
|
|
2715
|
-
}
|
|
2719
|
+
}
|
|
2716
2720
|
/**
|
|
2717
2721
|
* A numeric value that can be formatted with an optional formatter and options.
|
|
2718
2722
|
* This is a relaxed version of NumericWithFormatter that allows the numeric value to be a Numeric.
|
|
@@ -2767,11 +2771,11 @@ interface F0TagCompanyProps {
|
|
|
2767
2771
|
declare const F0TagCompany: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<F0TagCompanyProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
2768
2772
|
//#endregion
|
|
2769
2773
|
//#region src/elements/tags/F0TagPerson/types.d.ts
|
|
2770
|
-
|
|
2774
|
+
interface F0TagPersonProps {
|
|
2771
2775
|
src?: string;
|
|
2772
2776
|
name: string;
|
|
2773
2777
|
deactivated?: boolean;
|
|
2774
|
-
}
|
|
2778
|
+
}
|
|
2775
2779
|
//#endregion
|
|
2776
2780
|
//#region src/elements/tags/F0TagPerson/F0TagPerson.d.ts
|
|
2777
2781
|
declare const F0TagPerson: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<F0TagPersonProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
@@ -2859,7 +2863,7 @@ type TagDataType<T extends string> = Extract<TagVariant, {
|
|
|
2859
2863
|
}> extends (infer V) ? V extends unknown ? Omit<V, "type" | "description"> : never : never;
|
|
2860
2864
|
declare const tagTypes: readonly ["dot", "person", "team", "company", "alert", "status", "balance", "raw"];
|
|
2861
2865
|
type TagType = (typeof tagTypes)[number];
|
|
2862
|
-
|
|
2866
|
+
interface TagTypeMapping {
|
|
2863
2867
|
dot: TagDataType<"dot">;
|
|
2864
2868
|
person: TagDataType<"person">;
|
|
2865
2869
|
team: TagDataType<"team">;
|
|
@@ -2868,8 +2872,8 @@ type TagTypeMapping = {
|
|
|
2868
2872
|
status: TagDataType<"status">;
|
|
2869
2873
|
balance: TagDataType<"balance">;
|
|
2870
2874
|
raw: TagDataType<"raw">;
|
|
2871
|
-
}
|
|
2872
|
-
|
|
2875
|
+
}
|
|
2876
|
+
interface F0TagListProps<T extends TagType> {
|
|
2873
2877
|
/**
|
|
2874
2878
|
* The type of tags to display. Only one type can be used at a time.
|
|
2875
2879
|
*/
|
|
@@ -2887,7 +2891,7 @@ type F0TagListProps<T extends TagType> = {
|
|
|
2887
2891
|
* The remaining number to display.
|
|
2888
2892
|
*/
|
|
2889
2893
|
remainingCount?: number;
|
|
2890
|
-
}
|
|
2894
|
+
}
|
|
2891
2895
|
//#endregion
|
|
2892
2896
|
//#region src/elements/value-display/types/tagList/tagList.d.ts
|
|
2893
2897
|
type TagListValue = { [T in TagType]: Pick<F0TagListProps<T>, "type" | "tags" | "max">; }[TagType];
|
|
@@ -3220,7 +3224,7 @@ declare const F0Card: WithDataTestIdReturnType<import("react").ForwardRefExoticC
|
|
|
3220
3224
|
*
|
|
3221
3225
|
* Extensible: add new entity types here as needed (e.g. `team`, `department`).
|
|
3222
3226
|
*/
|
|
3223
|
-
|
|
3227
|
+
interface EntityResolvers {
|
|
3224
3228
|
person?: (id: string) => Promise<PersonProfile>;
|
|
3225
3229
|
candidate?: (id: string) => Promise<CandidateProfile>;
|
|
3226
3230
|
expense?: (id: string) => Promise<ExpenseProfile>;
|
|
@@ -3232,7 +3236,7 @@ type EntityResolvers = {
|
|
|
3232
3236
|
* in the chat input to let users reference specific employees.
|
|
3233
3237
|
*/
|
|
3234
3238
|
searchPersons?: (query: string) => Promise<PersonProfile[]>;
|
|
3235
|
-
}
|
|
3239
|
+
}
|
|
3236
3240
|
/**
|
|
3237
3241
|
* Map of URL builder functions keyed by entity type.
|
|
3238
3242
|
* Each builder takes an entity ID and returns the URL to navigate to.
|
|
@@ -3240,14 +3244,14 @@ type EntityResolvers = {
|
|
|
3240
3244
|
* When a URL builder is not provided for an entity type, the hover card
|
|
3241
3245
|
* will not show a navigation action.
|
|
3242
3246
|
*/
|
|
3243
|
-
|
|
3247
|
+
interface EntityUrlBuilders {
|
|
3244
3248
|
person?: (id: string) => string;
|
|
3245
3249
|
candidate?: (id: string) => string;
|
|
3246
3250
|
expense?: (id: string) => string;
|
|
3247
3251
|
jobPosting?: (id: string) => string;
|
|
3248
3252
|
requisition?: (id: string) => string;
|
|
3249
3253
|
vacancy?: (id: string) => string;
|
|
3250
|
-
}
|
|
3254
|
+
}
|
|
3251
3255
|
/**
|
|
3252
3256
|
* Hover card content of a host-registered entity type. `avatar` is the card's
|
|
3253
3257
|
* leading slot, where a person's avatar goes: an icon for most entities
|
|
@@ -3260,7 +3264,7 @@ type CustomEntityRefCard = Pick<F0CardProps, "title" | "description" | "avatar">
|
|
|
3260
3264
|
* The ref renders exactly like a person mention: an `@label` chip whose
|
|
3261
3265
|
* hover card is resolved on first open.
|
|
3262
3266
|
*/
|
|
3263
|
-
|
|
3267
|
+
interface CustomEntityRefConfig {
|
|
3264
3268
|
/**
|
|
3265
3269
|
* Lazily resolves the hover card the first time it opens. While it runs the
|
|
3266
3270
|
* card shows a skeleton; when it is omitted or fails, the card shows the
|
|
@@ -3271,12 +3275,12 @@ type CustomEntityRefConfig = {
|
|
|
3271
3275
|
avatar?: CustomEntityRefCard["avatar"];
|
|
3272
3276
|
/** When set, the card gets a "View" action to this URL. */
|
|
3273
3277
|
url?: (id: string) => string;
|
|
3274
|
-
}
|
|
3278
|
+
}
|
|
3275
3279
|
/**
|
|
3276
3280
|
* Grouped configuration for entity references in the AI chat.
|
|
3277
3281
|
* Combines resolver functions (data fetching) with URL builders (navigation).
|
|
3278
3282
|
*/
|
|
3279
|
-
|
|
3283
|
+
interface EntityRefs {
|
|
3280
3284
|
resolvers?: EntityResolvers;
|
|
3281
3285
|
urls?: EntityUrlBuilders;
|
|
3282
3286
|
/**
|
|
@@ -3287,10 +3291,10 @@ type EntityRefs = {
|
|
|
3287
3291
|
* Types that are neither built in nor registered render as plain text.
|
|
3288
3292
|
*/
|
|
3289
3293
|
custom?: Record<string, CustomEntityRefConfig>;
|
|
3290
|
-
}
|
|
3294
|
+
}
|
|
3291
3295
|
//#endregion
|
|
3292
3296
|
//#region src/blocks/ApplicationFrame/SidePanel/panelWidth.d.ts
|
|
3293
|
-
|
|
3297
|
+
interface PanelBounds {
|
|
3294
3298
|
min: number;
|
|
3295
3299
|
/** How far a deliberate drag may go — bounded by the content's hard floor. */
|
|
3296
3300
|
max: number;
|
|
@@ -3304,7 +3308,7 @@ type PanelBounds = {
|
|
|
3304
3308
|
autoMax: number;
|
|
3305
3309
|
/** The frame is too narrow to split: the panel should cover it instead. */
|
|
3306
3310
|
shouldOverlay: boolean;
|
|
3307
|
-
}
|
|
3311
|
+
}
|
|
3308
3312
|
//#endregion
|
|
3309
3313
|
//#region src/blocks/ApplicationFrame/SidePanel/types.d.ts
|
|
3310
3314
|
/**
|
|
@@ -3318,7 +3322,7 @@ type SidePanelLayout = "sidepanel" | "fullscreen";
|
|
|
3318
3322
|
* `id` keys the content, so switching views unmounts the previous one and
|
|
3319
3323
|
* mounts the next.
|
|
3320
3324
|
*/
|
|
3321
|
-
|
|
3325
|
+
interface SidePanelContent {
|
|
3322
3326
|
id: string;
|
|
3323
3327
|
content: React.ReactNode;
|
|
3324
3328
|
/** The edge this content docks to. Overrides the panel's `contentSide`. */
|
|
@@ -3335,7 +3339,7 @@ type SidePanelContent = {
|
|
|
3335
3339
|
* this.
|
|
3336
3340
|
*/
|
|
3337
3341
|
maxWidth?: number;
|
|
3338
|
-
}
|
|
3342
|
+
}
|
|
3339
3343
|
/**
|
|
3340
3344
|
* A product's claim on the panel.
|
|
3341
3345
|
*
|
|
@@ -3346,7 +3350,7 @@ type SidePanelContent = {
|
|
|
3346
3350
|
* the panel used to need a global `enabled` flag and why a customer with
|
|
3347
3351
|
* communications and no assistant got no panel.
|
|
3348
3352
|
*/
|
|
3349
|
-
|
|
3353
|
+
interface SidePanelViewDefinition {
|
|
3350
3354
|
/**
|
|
3351
3355
|
* Names the claim on the panel — `"ai"` is f0's own. Host bookkeeping: the
|
|
3352
3356
|
* panel never looks a view up by it, and the id it restores on reload is the
|
|
@@ -3371,8 +3375,8 @@ type SidePanelViewDefinition = {
|
|
|
3371
3375
|
* @default false
|
|
3372
3376
|
*/
|
|
3373
3377
|
restoresContent?: boolean;
|
|
3374
|
-
}
|
|
3375
|
-
|
|
3378
|
+
}
|
|
3379
|
+
interface SidePanelContextValue {
|
|
3376
3380
|
/**
|
|
3377
3381
|
* Whether anything can occupy the panel. False means the panel does not
|
|
3378
3382
|
* exist: no chrome, no reserved width, no DOM.
|
|
@@ -3425,7 +3429,7 @@ type SidePanelContextValue = {
|
|
|
3425
3429
|
resizable: boolean;
|
|
3426
3430
|
shouldPlayEntranceAnimation: boolean;
|
|
3427
3431
|
setShouldPlayEntranceAnimation: React.Dispatch<React.SetStateAction<boolean>>;
|
|
3428
|
-
}
|
|
3432
|
+
}
|
|
3429
3433
|
//#endregion
|
|
3430
3434
|
//#region src/addons/ai/ai/F0AiChat/types.d.ts
|
|
3431
3435
|
/**
|
|
@@ -3434,15 +3438,15 @@ type SidePanelContextValue = {
|
|
|
3434
3438
|
* with no field rename, but is owned by f0 — nothing in `src/` imports
|
|
3435
3439
|
* from `@copilotkit/*` anymore.
|
|
3436
3440
|
*/
|
|
3437
|
-
|
|
3441
|
+
interface F0ToolCall {
|
|
3438
3442
|
id: string;
|
|
3439
3443
|
type?: "function";
|
|
3440
3444
|
function: {
|
|
3441
3445
|
name: string;
|
|
3442
3446
|
arguments: string;
|
|
3443
3447
|
};
|
|
3444
|
-
}
|
|
3445
|
-
|
|
3448
|
+
}
|
|
3449
|
+
interface F0Message {
|
|
3446
3450
|
id: string;
|
|
3447
3451
|
role: "user" | "assistant" | "system" | "tool";
|
|
3448
3452
|
content?: unknown;
|
|
@@ -3458,7 +3462,7 @@ type F0Message = {
|
|
|
3458
3462
|
*/
|
|
3459
3463
|
replyQuote?: string;
|
|
3460
3464
|
[key: string]: any;
|
|
3461
|
-
}
|
|
3465
|
+
}
|
|
3462
3466
|
/** Assistant-flavoured `F0Message`. Same shape — alias kept for clarity. */
|
|
3463
3467
|
type F0AIMessage = F0Message;
|
|
3464
3468
|
/**
|
|
@@ -3467,13 +3471,13 @@ type F0AIMessage = F0Message;
|
|
|
3467
3471
|
* When pairing with a tool-result message, provide the same `id`
|
|
3468
3472
|
* in both the tool call and the tool-result's `toolCallId`.
|
|
3469
3473
|
*/
|
|
3470
|
-
|
|
3474
|
+
interface AppendToolCall {
|
|
3471
3475
|
id?: string;
|
|
3472
3476
|
function: {
|
|
3473
3477
|
name: string;
|
|
3474
3478
|
arguments: string;
|
|
3475
3479
|
};
|
|
3476
|
-
}
|
|
3480
|
+
}
|
|
3477
3481
|
/**
|
|
3478
3482
|
* A message to inject via appendMessages.
|
|
3479
3483
|
* IDs are generated internally — callers only provide role, content, and
|
|
@@ -3500,36 +3504,36 @@ type AppendMessage = {
|
|
|
3500
3504
|
* as `<pending-context>...</pending-context>` so the agent receives it.
|
|
3501
3505
|
* The conversation is not created until the user actually sends a message.
|
|
3502
3506
|
*/
|
|
3503
|
-
|
|
3507
|
+
interface PendingContext {
|
|
3504
3508
|
/** Human-readable label shown in the empty state (e.g. "Expenses dashboard") */
|
|
3505
3509
|
label: string;
|
|
3506
3510
|
/** Full context string prepended invisibly to the first user message */
|
|
3507
3511
|
context: string;
|
|
3508
|
-
}
|
|
3512
|
+
}
|
|
3509
3513
|
/**
|
|
3510
3514
|
* Quoted fragment the user is replying to. Shown as a chip above the
|
|
3511
3515
|
* textarea and, on submit, rendered as a markdown blockquote at the top of
|
|
3512
3516
|
* the resulting user message. The blockquote alone is enough context — the
|
|
3513
3517
|
* conversation thread tells the agent what it refers to.
|
|
3514
3518
|
*/
|
|
3515
|
-
|
|
3519
|
+
interface PendingQuote {
|
|
3516
3520
|
/** Plain-text selection (markdown stripped by the browser's toString()). */
|
|
3517
3521
|
text: string;
|
|
3518
|
-
}
|
|
3522
|
+
}
|
|
3519
3523
|
/**
|
|
3520
3524
|
* Credits usage data returned by the host app
|
|
3521
3525
|
*/
|
|
3522
|
-
|
|
3526
|
+
interface CreditsUsage {
|
|
3523
3527
|
used: number;
|
|
3524
3528
|
total: number;
|
|
3525
|
-
}
|
|
3529
|
+
}
|
|
3526
3530
|
/**
|
|
3527
3531
|
* Credits configuration for the AI chat.
|
|
3528
3532
|
* Groups all credits-related props into a single object.
|
|
3529
3533
|
*
|
|
3530
3534
|
* When provided, a credits button is shown in the chat header.
|
|
3531
3535
|
*/
|
|
3532
|
-
|
|
3536
|
+
interface AiChatCredits {
|
|
3533
3537
|
/** Async function to fetch credits usage. Called each time the popover opens. */
|
|
3534
3538
|
fetchUsage: () => Promise<CreditsUsage>;
|
|
3535
3539
|
/** URL to the plan upgrade page. When provided, a link is shown in the popover. */
|
|
@@ -3540,14 +3544,14 @@ type AiChatCredits = {
|
|
|
3540
3544
|
companyLogoUrl?: string;
|
|
3541
3545
|
/** Plan name displayed below the company name (e.g. "Free plan", "Enterprise"). */
|
|
3542
3546
|
planName?: string;
|
|
3543
|
-
}
|
|
3547
|
+
}
|
|
3544
3548
|
/**
|
|
3545
3549
|
* Credit warning configuration.
|
|
3546
3550
|
* Groups severity level and action callbacks into a single object.
|
|
3547
3551
|
*
|
|
3548
3552
|
* When provided, a warning banner is shown above the chat textarea.
|
|
3549
3553
|
*/
|
|
3550
|
-
|
|
3554
|
+
interface AiChatCreditWarning {
|
|
3551
3555
|
/** The severity level of the warning. */
|
|
3552
3556
|
level: "soft";
|
|
3553
3557
|
/** Host-localized message; defaults to `ai.creditWarning.soft`. */
|
|
@@ -3563,17 +3567,17 @@ type AiChatCreditWarning = {
|
|
|
3563
3567
|
* `onGetCredits` is provided. Hosts typically pass the `Upsell` icon.
|
|
3564
3568
|
*/
|
|
3565
3569
|
getCreditsIcon?: IconType;
|
|
3566
|
-
}
|
|
3570
|
+
}
|
|
3567
3571
|
/**
|
|
3568
3572
|
* Employee credits usage data returned by the host app.
|
|
3569
3573
|
*
|
|
3570
3574
|
* Represents the logged-in employee's personal monthly allocation,
|
|
3571
3575
|
* independent of any company-wide pool.
|
|
3572
3576
|
*/
|
|
3573
|
-
|
|
3577
|
+
interface EmployeeCreditsUsage {
|
|
3574
3578
|
used: number;
|
|
3575
3579
|
total: number;
|
|
3576
|
-
}
|
|
3580
|
+
}
|
|
3577
3581
|
/**
|
|
3578
3582
|
* Employee credits configuration for the AI chat.
|
|
3579
3583
|
*
|
|
@@ -3586,7 +3590,7 @@ type EmployeeCreditsUsage = {
|
|
|
3586
3590
|
* Hosts that don't use per-employee allocations should keep using `credits`
|
|
3587
3591
|
* and leave `employeeCredits` undefined; behavior is unchanged.
|
|
3588
3592
|
*/
|
|
3589
|
-
|
|
3593
|
+
interface AiChatEmployeeCredits {
|
|
3590
3594
|
/** Async function to fetch the employee's credits usage. Called each time the popover opens. */
|
|
3591
3595
|
fetchUsage: () => Promise<EmployeeCreditsUsage>;
|
|
3592
3596
|
/** Company name displayed in the popover header. */
|
|
@@ -3595,7 +3599,7 @@ type AiChatEmployeeCredits = {
|
|
|
3595
3599
|
companyLogoUrl?: string;
|
|
3596
3600
|
/** Plan name displayed below the company name (e.g. "Free plan", "Enterprise"). */
|
|
3597
3601
|
planName?: string;
|
|
3598
|
-
}
|
|
3602
|
+
}
|
|
3599
3603
|
/**
|
|
3600
3604
|
* Interaction mode for the AI chat
|
|
3601
3605
|
*/
|
|
@@ -3607,12 +3611,12 @@ type VisualizationMode = "sidepanel" | "fullscreen" | "canvas";
|
|
|
3607
3611
|
/**
|
|
3608
3612
|
* Tracking options for the AI chat
|
|
3609
3613
|
*/
|
|
3610
|
-
|
|
3614
|
+
interface UploadedFile {
|
|
3611
3615
|
url: string;
|
|
3612
3616
|
filename: string;
|
|
3613
3617
|
mimetype: string;
|
|
3614
|
-
}
|
|
3615
|
-
|
|
3618
|
+
}
|
|
3619
|
+
interface AiChatFileAttachmentConfig {
|
|
3616
3620
|
onUploadFiles: (files: File[]) => Promise<UploadedFile[]>;
|
|
3617
3621
|
allowedMimeTypes?: string | string[];
|
|
3618
3622
|
/**
|
|
@@ -3620,9 +3624,9 @@ type AiChatFileAttachmentConfig = {
|
|
|
3620
3624
|
* Omit or pass undefined for no limit.
|
|
3621
3625
|
*/
|
|
3622
3626
|
maxFiles?: number;
|
|
3623
|
-
}
|
|
3627
|
+
}
|
|
3624
3628
|
/** What every composer-menu entry shows, whatever choosing it does. */
|
|
3625
|
-
|
|
3629
|
+
interface AiChatComposerActionBase {
|
|
3626
3630
|
/**
|
|
3627
3631
|
* Host-side bookkeeping — a key for the host's own list, and what it reads
|
|
3628
3632
|
* back in analytics. The composer neither renders it nor keys the menu by it.
|
|
@@ -3644,7 +3648,7 @@ type AiChatComposerActionBase = {
|
|
|
3644
3648
|
* label alone doesn't already imply.
|
|
3645
3649
|
*/
|
|
3646
3650
|
disabledTooltip?: string;
|
|
3647
|
-
}
|
|
3651
|
+
}
|
|
3648
3652
|
/** An entry that DOES something and closes the menu. */
|
|
3649
3653
|
type AiChatComposerActionItem = AiChatComposerActionBase & {
|
|
3650
3654
|
type?: "action";
|
|
@@ -3672,9 +3676,9 @@ type AiChatComposerActionToggle = AiChatComposerActionBase & {
|
|
|
3672
3676
|
onCheckedChange: (checked: boolean) => void;
|
|
3673
3677
|
};
|
|
3674
3678
|
/** A rule between groups of entries. Carries no label and nothing to press. */
|
|
3675
|
-
|
|
3679
|
+
interface AiChatComposerActionSeparator {
|
|
3676
3680
|
type: "separator";
|
|
3677
|
-
}
|
|
3681
|
+
}
|
|
3678
3682
|
/**
|
|
3679
3683
|
* An entry in the composer's attachment menu — see `composerActions` on
|
|
3680
3684
|
* `F0AiChatTextArea`. Attaching a file is NOT one of these: the composer
|
|
@@ -3682,7 +3686,7 @@ type AiChatComposerActionSeparator = {
|
|
|
3682
3686
|
* "Connectors" doesn't have to rewire the file picker to keep it.
|
|
3683
3687
|
*/
|
|
3684
3688
|
type AiChatComposerAction = AiChatComposerActionItem | AiChatComposerActionSubmenu | AiChatComposerActionToggle | AiChatComposerActionSeparator;
|
|
3685
|
-
|
|
3689
|
+
interface TranscribeOptions {
|
|
3686
3690
|
/**
|
|
3687
3691
|
* Primary channel for live dictation: fires with the cumulative transcript
|
|
3688
3692
|
* as it streams in, so the composer can fill the textarea while the user
|
|
@@ -3691,7 +3695,7 @@ type TranscribeOptions = {
|
|
|
3691
3695
|
onPartial: (text: string) => void;
|
|
3692
3696
|
/** Aborted when the user cancels an in-flight transcription. */
|
|
3693
3697
|
signal?: AbortSignal;
|
|
3694
|
-
}
|
|
3698
|
+
}
|
|
3695
3699
|
/**
|
|
3696
3700
|
* Transcribes a recorded audio blob to text (voice dictation). The returned
|
|
3697
3701
|
* promise resolves with the final transcript; `onPartial` delivers
|
|
@@ -3704,13 +3708,13 @@ type TranscribeFn = (audio: Blob, options: TranscribeOptions) => Promise<string>
|
|
|
3704
3708
|
* analytics layer (e.g. Amplitude) needs to attribute the click: the picked
|
|
3705
3709
|
* sub-item, its parent group, and the resolved prompt that was actually sent.
|
|
3706
3710
|
*/
|
|
3707
|
-
|
|
3711
|
+
interface WelcomeSuggestionClickEvent {
|
|
3708
3712
|
item: WelcomeScreenSuggestionItem;
|
|
3709
3713
|
group: WelcomeScreenSuggestion;
|
|
3710
3714
|
/** Prompt actually sent to the AI — `item.prompt` falling back to `item.title`. */
|
|
3711
3715
|
prompt: string;
|
|
3712
|
-
}
|
|
3713
|
-
|
|
3716
|
+
}
|
|
3717
|
+
interface AiChatTrackingOptions {
|
|
3714
3718
|
onVisibility?: () => void;
|
|
3715
3719
|
onClose?: () => void;
|
|
3716
3720
|
onWelcomeSuggestionClick?: (event: WelcomeSuggestionClickEvent) => void;
|
|
@@ -3720,11 +3724,11 @@ type AiChatTrackingOptions = {
|
|
|
3720
3724
|
onDictationStart?: () => void;
|
|
3721
3725
|
/** Dictation discarded by the user, while recording or mid-transcription. */
|
|
3722
3726
|
onDictationCancel?: () => void;
|
|
3723
|
-
}
|
|
3727
|
+
}
|
|
3724
3728
|
/**
|
|
3725
3729
|
* Props for the AiChatProvider component
|
|
3726
3730
|
*/
|
|
3727
|
-
|
|
3731
|
+
interface AiChatProviderProps {
|
|
3728
3732
|
enabled?: boolean;
|
|
3729
3733
|
/**
|
|
3730
3734
|
* Edge the whole side panel docks to (AI chat, hosted content and canvas).
|
|
@@ -3897,27 +3901,27 @@ type AiChatProviderProps = {
|
|
|
3897
3901
|
chatOverlay?: React.ReactNode;
|
|
3898
3902
|
/** Children rendered inside the provider. */
|
|
3899
3903
|
children?: React.ReactNode;
|
|
3900
|
-
}
|
|
3904
|
+
}
|
|
3901
3905
|
/**
|
|
3902
3906
|
* A single sub-suggestion shown inside a welcome-screen group's popover.
|
|
3903
3907
|
* The `title` is the label users see; `prompt` is what gets sent to the AI
|
|
3904
3908
|
* when they click (falls back to `title` when omitted). They can diverge so
|
|
3905
3909
|
* you can show a short, scannable title while sending a fully-formed prompt.
|
|
3906
3910
|
*/
|
|
3907
|
-
|
|
3911
|
+
interface WelcomeScreenSuggestionItem {
|
|
3908
3912
|
title: string;
|
|
3909
3913
|
prompt?: string;
|
|
3910
|
-
}
|
|
3914
|
+
}
|
|
3911
3915
|
/**
|
|
3912
3916
|
* A welcome-screen group rendered as an outline button in the welcome row.
|
|
3913
3917
|
* Clicking the group opens a popover listing its `items`. The number of groups
|
|
3914
3918
|
* is not capped yet (unlike welcome cards, which top out at 4).
|
|
3915
3919
|
*/
|
|
3916
|
-
|
|
3920
|
+
interface WelcomeScreenSuggestion {
|
|
3917
3921
|
icon: IconType;
|
|
3918
3922
|
label: string;
|
|
3919
3923
|
items: WelcomeScreenSuggestionItem[];
|
|
3920
|
-
}
|
|
3924
|
+
}
|
|
3921
3925
|
/**
|
|
3922
3926
|
* A card shown below the composer on the fullscreen welcome screen, rendered
|
|
3923
3927
|
* as an `F0CardHorizontal`. Each card owns its behavior via `onClick`, so
|
|
@@ -3927,7 +3931,7 @@ type WelcomeScreenSuggestion = {
|
|
|
3927
3931
|
* The chat owns the layout; the host owns the interaction. Up to 4 cards are
|
|
3928
3932
|
* rendered (a 2×2 grid); extras are dropped.
|
|
3929
3933
|
*/
|
|
3930
|
-
|
|
3934
|
+
interface F0AiChatWelcomeCard {
|
|
3931
3935
|
/** Stable identifier, also used as the React key. */
|
|
3932
3936
|
id: string;
|
|
3933
3937
|
icon: IconType;
|
|
@@ -3945,11 +3949,11 @@ type F0AiChatWelcomeCard = {
|
|
|
3945
3949
|
* `onClick` renders as non-interactive.
|
|
3946
3950
|
*/
|
|
3947
3951
|
onClick?: () => void;
|
|
3948
|
-
}
|
|
3952
|
+
}
|
|
3949
3953
|
/**
|
|
3950
3954
|
* Disclaimer configuration for the chat input
|
|
3951
3955
|
*/
|
|
3952
|
-
|
|
3956
|
+
interface AiChatDisclaimer {
|
|
3953
3957
|
text: string;
|
|
3954
3958
|
link?: string;
|
|
3955
3959
|
linkText?: string;
|
|
@@ -3960,7 +3964,7 @@ type AiChatDisclaimer = {
|
|
|
3960
3964
|
* any specific behaviour.
|
|
3961
3965
|
*/
|
|
3962
3966
|
onClick?: () => void;
|
|
3963
|
-
}
|
|
3967
|
+
}
|
|
3964
3968
|
/**
|
|
3965
3969
|
* Translation shape helper type
|
|
3966
3970
|
*/
|
|
@@ -4162,7 +4166,7 @@ interface AiChatTranslationsProviderProps {
|
|
|
4162
4166
|
children: React.ReactNode;
|
|
4163
4167
|
translations: AiChatTranslations;
|
|
4164
4168
|
}
|
|
4165
|
-
|
|
4169
|
+
interface AiChatUsageLimitsSection {
|
|
4166
4170
|
id: string;
|
|
4167
4171
|
/** Already localized. */
|
|
4168
4172
|
label: string;
|
|
@@ -4170,12 +4174,12 @@ type AiChatUsageLimitsSection = {
|
|
|
4170
4174
|
description?: string;
|
|
4171
4175
|
usedPercentage: number;
|
|
4172
4176
|
unlimited?: boolean;
|
|
4173
|
-
}
|
|
4177
|
+
}
|
|
4174
4178
|
/**
|
|
4175
4179
|
* Host-resolved numbers for `F0AiChatUsageLimitsButton`. Percentages only: the
|
|
4176
4180
|
* product avoids credit counts in the chat.
|
|
4177
4181
|
*/
|
|
4178
|
-
|
|
4182
|
+
interface AiChatUsageLimits {
|
|
4179
4183
|
/** The viewer's own allowance, 0–100. */
|
|
4180
4184
|
usedPercentage: number;
|
|
4181
4185
|
/** Already localized, e.g. "Resets in 3h 6m". */
|
|
@@ -4185,7 +4189,7 @@ type AiChatUsageLimits = {
|
|
|
4185
4189
|
sections?: AiChatUsageLimitsSection[];
|
|
4186
4190
|
/** Renders the "Your company" row. */
|
|
4187
4191
|
onSeeCompany?: () => void;
|
|
4188
|
-
}
|
|
4192
|
+
}
|
|
4189
4193
|
//#endregion
|
|
4190
4194
|
//#region src/addons/ai/ai/F0AiChat/F0AiChat.d.ts
|
|
4191
4195
|
/**
|
|
@@ -4241,7 +4245,7 @@ declare const markdownRenderers: MarkdownTagRenderers;
|
|
|
4241
4245
|
* Most fields are optional / wide on purpose — the headless renders
|
|
4242
4246
|
* what it finds and ignores the rest.
|
|
4243
4247
|
*/
|
|
4244
|
-
|
|
4248
|
+
interface Message {
|
|
4245
4249
|
id?: string;
|
|
4246
4250
|
role?: string;
|
|
4247
4251
|
content?: unknown;
|
|
@@ -4263,7 +4267,7 @@ type Message = {
|
|
|
4263
4267
|
*/
|
|
4264
4268
|
replyQuote?: string;
|
|
4265
4269
|
[key: string]: any;
|
|
4266
|
-
}
|
|
4270
|
+
}
|
|
4267
4271
|
/** Assistant-flavoured `Message`. Same shape — alias for self-documentation. */
|
|
4268
4272
|
type AIMessage = Message;
|
|
4269
4273
|
/**
|
|
@@ -4276,7 +4280,7 @@ type AIMessage = Message;
|
|
|
4276
4280
|
* assistant messages → optional inline live-thinking message → optional
|
|
4277
4281
|
* end-of-turn indicator → optional feedback footer.
|
|
4278
4282
|
*/
|
|
4279
|
-
|
|
4283
|
+
interface RenderableTurn {
|
|
4280
4284
|
/** Messages rendered before the thinking section (typically the user message). */
|
|
4281
4285
|
userMessages: Message[];
|
|
4282
4286
|
/**
|
|
@@ -4331,9 +4335,9 @@ type RenderableTurn = {
|
|
|
4331
4335
|
/** Reference message attached to feedback submissions. */
|
|
4332
4336
|
targetMessage: Message;
|
|
4333
4337
|
};
|
|
4334
|
-
}
|
|
4338
|
+
}
|
|
4335
4339
|
/** Props for the Thinking collapsible section. */
|
|
4336
|
-
|
|
4340
|
+
interface ThinkingProps {
|
|
4337
4341
|
/** Pre-parsed step titles to show inside the collapsed group. */
|
|
4338
4342
|
titles: string[];
|
|
4339
4343
|
/** Section heading (defaults to "Thoughts" from i18n). */
|
|
@@ -4355,12 +4359,12 @@ type ThinkingProps = {
|
|
|
4355
4359
|
* running, and nothing is rendered.
|
|
4356
4360
|
*/
|
|
4357
4361
|
startedAt?: number | null;
|
|
4358
|
-
}
|
|
4362
|
+
}
|
|
4359
4363
|
//#endregion
|
|
4360
4364
|
//#region src/addons/ai/ai/F0AiMessagesContainer/components/AssistantMessage.d.ts
|
|
4361
4365
|
/** Read the tool call ID injected by AssistantMessage. */
|
|
4362
4366
|
declare const useToolCallId: () => string | undefined;
|
|
4363
|
-
|
|
4367
|
+
interface F0AssistantMessageExtraProps {
|
|
4364
4368
|
/**
|
|
4365
4369
|
* Returns a React node for the message's tool call, or null when there is
|
|
4366
4370
|
* nothing to render. The container's connected wrapper closes over the
|
|
@@ -4378,11 +4382,11 @@ type F0AssistantMessageExtraProps = {
|
|
|
4378
4382
|
* plain whitespace-preserving fallback is used instead.
|
|
4379
4383
|
*/
|
|
4380
4384
|
renderMarkdown?: (content: string) => ReactNode;
|
|
4381
|
-
}
|
|
4385
|
+
}
|
|
4382
4386
|
//#endregion
|
|
4383
4387
|
//#region src/addons/ai/ai/F0AiMessagesContainer/components/feedback/FeedbackProvider.d.ts
|
|
4384
4388
|
type UserReaction = "like" | "dislike";
|
|
4385
|
-
|
|
4389
|
+
interface FeedbackConfig {
|
|
4386
4390
|
threadId: string;
|
|
4387
4391
|
onThumbsUp: (msg: AIMessage, ctx: {
|
|
4388
4392
|
threadId: string;
|
|
@@ -4392,7 +4396,7 @@ type FeedbackConfig = {
|
|
|
4392
4396
|
threadId: string;
|
|
4393
4397
|
feedback: string;
|
|
4394
4398
|
}) => void;
|
|
4395
|
-
}
|
|
4399
|
+
}
|
|
4396
4400
|
//#endregion
|
|
4397
4401
|
//#region src/addons/ai/ai/F0AiMessagesContainer/components/WelcomeScreen.d.ts
|
|
4398
4402
|
/**
|
|
@@ -4400,15 +4404,15 @@ type FeedbackConfig = {
|
|
|
4400
4404
|
* "How to use One" shortcut). The host owns `onClick`; f0 owns the pill styling
|
|
4401
4405
|
* so it stays consistent with the rest of the welcome screen.
|
|
4402
4406
|
*/
|
|
4403
|
-
|
|
4407
|
+
interface WelcomeScreenCta {
|
|
4404
4408
|
label: string;
|
|
4405
4409
|
icon?: IconType;
|
|
4406
4410
|
onClick: () => void;
|
|
4407
|
-
}
|
|
4411
|
+
}
|
|
4408
4412
|
//#endregion
|
|
4409
4413
|
//#region src/addons/ai/ai/F0AiMessagesContainer/F0AiMessagesContainer.d.ts
|
|
4410
4414
|
type MessageSlotComponent = ComponentType<any>;
|
|
4411
|
-
|
|
4415
|
+
interface F0AiMessagesContainerProps {
|
|
4412
4416
|
/** Optional override for the assistant bubble component. */
|
|
4413
4417
|
AssistantMessage?: MessageSlotComponent;
|
|
4414
4418
|
/** Optional override for the user bubble component. */
|
|
@@ -4469,7 +4473,7 @@ type F0AiMessagesContainerProps = {
|
|
|
4469
4473
|
noShadows?: boolean;
|
|
4470
4474
|
/** Passthrough children appended after the last turn (CopilotKit parity). */
|
|
4471
4475
|
children?: ReactNode;
|
|
4472
|
-
}
|
|
4476
|
+
}
|
|
4473
4477
|
declare const F0AiMessagesContainer: (props: F0AiMessagesContainerProps) => import("react").JSX.Element;
|
|
4474
4478
|
//#endregion
|
|
4475
4479
|
//#region src/addons/ai/ai/F0AiChat/internal-types.d.ts
|
|
@@ -4767,46 +4771,46 @@ declare const Weekdays: import("react").ForwardRefExoticComponent<WeekdaysProps
|
|
|
4767
4771
|
//#endregion
|
|
4768
4772
|
//#region src/elements/DataList/types/actions.d.ts
|
|
4769
4773
|
type ActionType = CopyActionType | NavigateActionType | OpenLinkActionType;
|
|
4770
|
-
|
|
4774
|
+
interface CopyActionType {
|
|
4771
4775
|
type: "copy";
|
|
4772
4776
|
text?: string;
|
|
4773
|
-
}
|
|
4774
|
-
|
|
4777
|
+
}
|
|
4778
|
+
interface NavigateActionType {
|
|
4775
4779
|
type: "navigate";
|
|
4776
4780
|
href: string;
|
|
4777
|
-
}
|
|
4778
|
-
|
|
4781
|
+
}
|
|
4782
|
+
interface OpenLinkActionType {
|
|
4779
4783
|
type: "open-link";
|
|
4780
4784
|
href: string;
|
|
4781
|
-
}
|
|
4785
|
+
}
|
|
4782
4786
|
//#endregion
|
|
4783
4787
|
//#region src/elements/DataList/types/items.d.ts
|
|
4784
|
-
|
|
4788
|
+
interface DataListProps {
|
|
4785
4789
|
children: ReactElement | ReactElement[];
|
|
4786
4790
|
label?: string;
|
|
4787
4791
|
isHorizontal?: boolean;
|
|
4788
|
-
}
|
|
4789
|
-
|
|
4792
|
+
}
|
|
4793
|
+
interface ItemProps {
|
|
4790
4794
|
text: string;
|
|
4791
4795
|
icon?: IconType;
|
|
4792
4796
|
action?: ActionType;
|
|
4793
|
-
}
|
|
4797
|
+
}
|
|
4794
4798
|
type URL = string;
|
|
4795
|
-
|
|
4799
|
+
interface EmployeeItemProps {
|
|
4796
4800
|
firstName: string;
|
|
4797
4801
|
lastName: string;
|
|
4798
4802
|
avatarUrl?: URL;
|
|
4799
4803
|
action?: ActionType;
|
|
4800
|
-
}
|
|
4801
|
-
|
|
4804
|
+
}
|
|
4805
|
+
interface CompanyItemProps {
|
|
4802
4806
|
name: string;
|
|
4803
4807
|
avatarUrl?: URL;
|
|
4804
4808
|
action?: ActionType;
|
|
4805
|
-
}
|
|
4806
|
-
|
|
4809
|
+
}
|
|
4810
|
+
interface TeamItemProps {
|
|
4807
4811
|
name: string;
|
|
4808
4812
|
action?: ActionType;
|
|
4809
|
-
}
|
|
4813
|
+
}
|
|
4810
4814
|
//#endregion
|
|
4811
4815
|
//#region src/elements/tags/F0TagDot/F0TagDot.d.ts
|
|
4812
4816
|
declare const F0TagDot: WithDataTestIdReturnType<import("react").ForwardRefExoticComponent<Props$2 & import("react").RefAttributes<HTMLDivElement>>>;
|
|
@@ -4816,10 +4820,10 @@ declare const F0TagRaw: WithDataTestIdReturnType<import("react").ForwardRefExoti
|
|
|
4816
4820
|
//#endregion
|
|
4817
4821
|
//#region src/elements/tags/F0TagList/components/TagCounter.d.ts
|
|
4818
4822
|
type TagCounterItem = TagVariant;
|
|
4819
|
-
|
|
4823
|
+
interface Props {
|
|
4820
4824
|
count: number;
|
|
4821
4825
|
list?: TagCounterItem[];
|
|
4822
|
-
}
|
|
4826
|
+
}
|
|
4823
4827
|
declare function TagCounter({ count, list }: Props): import("react").JSX.Element;
|
|
4824
4828
|
declare namespace TagCounter {
|
|
4825
4829
|
var displayName: string;
|
|
@@ -4839,7 +4843,7 @@ declare const DataList: import("react").ForwardRefExoticComponent<DataListProps
|
|
|
4839
4843
|
PersonItem: import("react").ForwardRefExoticComponent<EmployeeItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
4840
4844
|
TeamItem: import("react").ForwardRefExoticComponent<TeamItemProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
4841
4845
|
DotTagItem: import("react").ForwardRefExoticComponent<Props$2 & import("react").RefAttributes<HTMLLIElement>>;
|
|
4842
|
-
AlertTagItem: import("react").ForwardRefExoticComponent<Props$1 & import("react").RefAttributes<HTMLLIElement>>;
|
|
4846
|
+
AlertTagItem: import("react").ForwardRefExoticComponent<Props$1<string> & import("react").RefAttributes<HTMLLIElement>>;
|
|
4843
4847
|
BalanceTagItem: import("react").ForwardRefExoticComponent<F0TagBalanceProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
4844
4848
|
StatusTagItem: import("react").ForwardRefExoticComponent<F0TagStatusProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
4845
4849
|
RawTagItem: import("react").ForwardRefExoticComponent<F0TagRawProps & import("react").RefAttributes<HTMLLIElement>>;
|
|
@@ -4849,12 +4853,12 @@ declare const DataList: import("react").ForwardRefExoticComponent<DataListProps
|
|
|
4849
4853
|
};
|
|
4850
4854
|
//#endregion
|
|
4851
4855
|
//#region src/elements/F0FileItem/F0FileItem.d.ts
|
|
4852
|
-
|
|
4856
|
+
interface F0FileAction {
|
|
4853
4857
|
icon?: IconType;
|
|
4854
4858
|
label: string;
|
|
4855
4859
|
onClick: () => void;
|
|
4856
4860
|
critical?: boolean;
|
|
4857
|
-
}
|
|
4861
|
+
}
|
|
4858
4862
|
declare const f0FileItemSizes: readonly ["md", "lg"];
|
|
4859
4863
|
type F0FileItemSize = (typeof f0FileItemSizes)[number];
|
|
4860
4864
|
interface F0FileItemProps extends HTMLAttributes<HTMLDivElement> {
|