@factorialco/f0-react 6.71.0 → 6.73.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/{ChatPdfThumbnail-0W0Ulspr.js → ChatPdfThumbnail-XGQZa3QP.js} +1 -1
- package/dist/{ChatSheetThumbnail-BvnxT-4A.js → ChatSheetThumbnail-CxGL5ukQ.js} +3 -3
- package/dist/{ChatTextThumbnail-yVt_iYi7.js → ChatTextThumbnail-FVwMzn0I.js} +3 -3
- package/dist/{CoachmarkProvider-Bc9Cps5U.js → CoachmarkProvider-CbaSfufv.js} +1 -1
- package/dist/{DocumentToolbar-DaV6_J12.js → DocumentToolbar-CzcPshDy.js} +2 -2
- package/dist/{DocxViewer-DBdE5VEw.js → DocxViewer-CZibRfLX.js} +2 -2
- package/dist/{F0AiProcessingOverlay-DurA4kS-.js → F0AiProcessingOverlay-BdR-OH1y.js} +727 -743
- package/dist/{F0CanvasPanel-C_tJ-Kgt.js → F0CanvasPanel-t6LAI_x8.js} +19335 -19219
- package/dist/{F0VideoPlayer-ir4O9Whj.js → F0VideoPlayer-B4pmM8Gc.js} +1 -1
- package/dist/{LocationMap-DsZlUjft.js → LocationMap-r4bOT-15.js} +1 -1
- package/dist/{SheetViewer-CeXLWbJh.js → SheetViewer-C7dm83fe.js} +2 -2
- package/dist/{TextViewer-B50xzYnA.js → TextViewer-z8sRMqaY.js} +2 -2
- package/dist/ai.d.ts +17 -0
- package/dist/ai.js +2 -2
- package/dist/compact-3aR8Sm24.js +4 -0
- package/dist/compact-7lt4UIvi.js +4 -0
- package/dist/compact-9rSI5EE6.js +4 -0
- package/dist/compact-B6PSknyc.js +4 -0
- package/dist/compact-BPN9MbTb.js +4 -0
- package/dist/compact-BR1_iqtb.js +4 -0
- package/dist/compact-Bi-O-RWg.js +4 -0
- package/dist/compact-Bn8CakQz.js +4 -0
- package/dist/compact-BslMxwi9.js +4 -0
- package/dist/compact-BxMdONeX.js +4 -0
- package/dist/compact-C-b1fWEN.js +4 -0
- package/dist/compact-C8hVxciX.js +4 -0
- package/dist/compact-CJ1L-8Dr.js +4 -0
- package/dist/compact-Cd6qAeF-.js +4 -0
- package/dist/compact-CntljX9j.js +4 -0
- package/dist/compact-CrQh0q9a.js +4 -0
- package/dist/compact-D-Kg7jZI.js +4 -0
- package/dist/compact-D3AcdktH.js +4 -0
- package/dist/compact-D3r__JE1.js +4 -0
- package/dist/compact-DCMwzi70.js +4 -0
- package/dist/compact-DGnDnh6C.js +4 -0
- package/dist/compact-DHogw7zU.js +4 -0
- package/dist/compact-DJtvyql0.js +4 -0
- package/dist/compact-DhN3zgdL.js +4 -0
- package/dist/compact-F8TOy4UG.js +4 -0
- package/dist/compact-tUXw-RFk.js +4 -0
- package/dist/compact-vPKvX3P5.js +4 -0
- package/dist/component-status.js +5 -5
- package/dist/{experimental-CXqbP9O9.js → experimental-BpTt8RQd.js} +28262 -27163
- package/dist/experimental.d.ts +303 -11
- package/dist/experimental.js +35 -35
- package/dist/f0.d.ts +57 -3
- package/dist/f0.js +10 -10
- package/dist/i18n-provider-defaults.d.ts +17 -0
- package/dist/i18n-provider-defaults.js +21 -0
- package/dist/{index-B0qdgKs8.js → index-6wH0JzE5.js} +3 -3
- package/dist/index-B2wcl4-Q.js +4 -0
- package/dist/{pdfWorker-CbwxVMi_.js → pdfWorker-CMz8L07D.js} +2 -2
- package/dist/styles.css +1 -1
- package/package.json +3 -3
- package/dist/index-B9o9POms.js +0 -4
package/dist/experimental.d.ts
CHANGED
|
@@ -1469,6 +1469,11 @@ declare type ButtonInternalProps = Pick<ActionProps, "size" | "disabled" | "clas
|
|
|
1469
1469
|
* Adds an emoji to the button, can be used as a special case of icon-only button.
|
|
1470
1470
|
*/
|
|
1471
1471
|
emoji?: string;
|
|
1472
|
+
/**
|
|
1473
|
+
* How that emoji is drawn — a twemoji image by default, or the system glyph
|
|
1474
|
+
* with `"native"`. See {@link EmojiRenderMode}.
|
|
1475
|
+
*/
|
|
1476
|
+
emojiMode?: EmojiRenderMode;
|
|
1472
1477
|
/**
|
|
1473
1478
|
* Hides the label visually (for icon-only or emoji-only buttons), but keeps it accessible for screen readers.
|
|
1474
1479
|
*/
|
|
@@ -1802,6 +1807,28 @@ declare type CardAvatarVariant = AvatarVariant | {
|
|
|
1802
1807
|
date: Date;
|
|
1803
1808
|
};
|
|
1804
1809
|
|
|
1810
|
+
/**
|
|
1811
|
+
* Bookmark (save) toggle rendered as an icon button in the card's options overlay.
|
|
1812
|
+
* Shows an outline bookmark icon when not bookmarked and a filled one when bookmarked,
|
|
1813
|
+
* giving an at-a-glance indication of the saved state.
|
|
1814
|
+
*/
|
|
1815
|
+
declare interface CardBookmark {
|
|
1816
|
+
/**
|
|
1817
|
+
* Whether the card is currently bookmarked (saved).
|
|
1818
|
+
* Controls the filled vs. outline icon and keeps the toggle visible while active.
|
|
1819
|
+
*/
|
|
1820
|
+
bookmarked: boolean;
|
|
1821
|
+
/**
|
|
1822
|
+
* Called with the next bookmarked state when the user toggles the bookmark.
|
|
1823
|
+
*/
|
|
1824
|
+
onBookmarkChange: (bookmarked: boolean) => void;
|
|
1825
|
+
/**
|
|
1826
|
+
* Accessible label for the toggle button (e.g. "Save product").
|
|
1827
|
+
* Falls back to the card `title` when omitted.
|
|
1828
|
+
*/
|
|
1829
|
+
label?: string;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1805
1832
|
/**
|
|
1806
1833
|
* Group Cards: Renders
|
|
1807
1834
|
*/
|
|
@@ -1846,6 +1873,121 @@ declare type CardImageSize = (typeof cardImageSizes)[number];
|
|
|
1846
1873
|
|
|
1847
1874
|
declare const cardImageSizes: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
1848
1875
|
|
|
1876
|
+
declare interface CardInternalProps {
|
|
1877
|
+
/**
|
|
1878
|
+
* Whether the card has a compact layout
|
|
1879
|
+
*/
|
|
1880
|
+
compact?: boolean;
|
|
1881
|
+
/**
|
|
1882
|
+
* The avatar to display in the card
|
|
1883
|
+
*/
|
|
1884
|
+
avatar?: CardAvatarVariant;
|
|
1885
|
+
/**
|
|
1886
|
+
* Whether the card has an image
|
|
1887
|
+
*/
|
|
1888
|
+
image?: string;
|
|
1889
|
+
/**
|
|
1890
|
+
* How the image should be displayed/fitted within its container
|
|
1891
|
+
* @default "fit-width"
|
|
1892
|
+
*/
|
|
1893
|
+
imageFit?: CardImageFit;
|
|
1894
|
+
/**
|
|
1895
|
+
* Size of the image container
|
|
1896
|
+
* @default "sm"
|
|
1897
|
+
*/
|
|
1898
|
+
imageSize?: CardImageSize;
|
|
1899
|
+
/**
|
|
1900
|
+
* Constrain the image container to a fixed aspect ratio instead of a fixed height.
|
|
1901
|
+
* When set, `imageSize` is ignored for height.
|
|
1902
|
+
* @example "video"
|
|
1903
|
+
*/
|
|
1904
|
+
imageAspectRatio?: CardImageAspectRatio;
|
|
1905
|
+
/**
|
|
1906
|
+
* Whether to show a blurred background image when the image doesn't fill the container
|
|
1907
|
+
* @default true
|
|
1908
|
+
*/
|
|
1909
|
+
blurredBackground?: boolean;
|
|
1910
|
+
/**
|
|
1911
|
+
* The title of the card
|
|
1912
|
+
*/
|
|
1913
|
+
title?: string;
|
|
1914
|
+
/**
|
|
1915
|
+
* The description of the card
|
|
1916
|
+
*/
|
|
1917
|
+
description?: string;
|
|
1918
|
+
/**
|
|
1919
|
+
* Metadata items to display in the card
|
|
1920
|
+
*/
|
|
1921
|
+
metadata?: CardMetadata[];
|
|
1922
|
+
/**
|
|
1923
|
+
* The children to display in the card
|
|
1924
|
+
*/
|
|
1925
|
+
children?: ReactNode;
|
|
1926
|
+
/**
|
|
1927
|
+
* The link to navigate to when the card is clicked
|
|
1928
|
+
*/
|
|
1929
|
+
link?: string;
|
|
1930
|
+
/**
|
|
1931
|
+
* The primary action that displays a primary button in the card footer
|
|
1932
|
+
*/
|
|
1933
|
+
primaryAction?: CardPrimaryAction;
|
|
1934
|
+
/**
|
|
1935
|
+
* The secondary actions - either an array of button actions or a single link
|
|
1936
|
+
*/
|
|
1937
|
+
secondaryActions?: CardSecondaryAction[] | CardSecondaryLink;
|
|
1938
|
+
/**
|
|
1939
|
+
* Actions to display in the dropdown menu inside the card content
|
|
1940
|
+
*/
|
|
1941
|
+
otherActions?: DropdownItem[];
|
|
1942
|
+
/**
|
|
1943
|
+
* Bookmark (save) toggle rendered as an icon button in the card's options overlay.
|
|
1944
|
+
* Shows an outline bookmark when not bookmarked and a filled one when bookmarked.
|
|
1945
|
+
*/
|
|
1946
|
+
bookmark?: CardBookmark;
|
|
1947
|
+
/**
|
|
1948
|
+
* Whether the card is selectable
|
|
1949
|
+
*/
|
|
1950
|
+
selectable?: boolean;
|
|
1951
|
+
/**
|
|
1952
|
+
* Whether the card is selected
|
|
1953
|
+
*/
|
|
1954
|
+
selected?: boolean;
|
|
1955
|
+
/**
|
|
1956
|
+
* The callback to handle the selection of the card
|
|
1957
|
+
*/
|
|
1958
|
+
onSelect?: (selected: boolean) => void;
|
|
1959
|
+
/**
|
|
1960
|
+
* The callback to handle the click of the card
|
|
1961
|
+
*/
|
|
1962
|
+
onClick?: () => void;
|
|
1963
|
+
/**
|
|
1964
|
+
* Force vertical metadata for compact layout
|
|
1965
|
+
* Private prop
|
|
1966
|
+
*/
|
|
1967
|
+
forceVerticalMetadata?: boolean;
|
|
1968
|
+
/**
|
|
1969
|
+
* Whether the card should have a full height
|
|
1970
|
+
*/
|
|
1971
|
+
fullHeight?: boolean;
|
|
1972
|
+
/**
|
|
1973
|
+
* Use a softer/lighter border (`border-f1-border-secondary`) instead of the default
|
|
1974
|
+
* `border-f1-border`. Opt-in so existing cards keep their current appearance.
|
|
1975
|
+
* @default false
|
|
1976
|
+
*/
|
|
1977
|
+
subtleBorder?: boolean;
|
|
1978
|
+
/**
|
|
1979
|
+
* When true, disables the full-card overlay link so parent components
|
|
1980
|
+
* can manage drag-and-drop while still allowing click navigation via onClick
|
|
1981
|
+
*/
|
|
1982
|
+
disableOverlayLink?: boolean;
|
|
1983
|
+
/**
|
|
1984
|
+
* Alert banner displayed above the card with a coloured header strip and matching border.
|
|
1985
|
+
* Supports info, warning, critical, and positive variants with a default icon per variant.
|
|
1986
|
+
* Use `visible` + `onDismiss` for controlled dismiss behaviour.
|
|
1987
|
+
*/
|
|
1988
|
+
alert?: CardAlertProps;
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1849
1991
|
declare type CardMetadata = {
|
|
1850
1992
|
/** Leading icon. Optional — when omitted the row renders just the value. */
|
|
1851
1993
|
icon?: IconType;
|
|
@@ -4559,12 +4701,29 @@ declare const defaultTranslations: {
|
|
|
4559
4701
|
readonly closeSearch: "Close search";
|
|
4560
4702
|
readonly noResults: "No chats found";
|
|
4561
4703
|
readonly backToLatest: "Jump to latest";
|
|
4704
|
+
readonly readOnly: "You can't send messages in this conversation";
|
|
4562
4705
|
readonly online: "Online";
|
|
4563
4706
|
readonly muted: "Muted";
|
|
4564
4707
|
readonly mute: "Mute";
|
|
4565
4708
|
readonly unmute: "Unmute";
|
|
4566
4709
|
readonly attachFile: "Attach file";
|
|
4567
4710
|
readonly addEmoji: "Add emoji";
|
|
4711
|
+
readonly emojiPicker: {
|
|
4712
|
+
readonly search: "Search emoji";
|
|
4713
|
+
readonly frequentlyUsed: "Frequently used";
|
|
4714
|
+
readonly noResults: "No emoji found";
|
|
4715
|
+
readonly grid: "Emoji";
|
|
4716
|
+
readonly categories: {
|
|
4717
|
+
readonly people: "Smileys & people";
|
|
4718
|
+
readonly nature: "Animals & nature";
|
|
4719
|
+
readonly foods: "Food & drink";
|
|
4720
|
+
readonly activity: "Activity";
|
|
4721
|
+
readonly places: "Travel & places";
|
|
4722
|
+
readonly objects: "Objects";
|
|
4723
|
+
readonly symbols: "Symbols";
|
|
4724
|
+
readonly flags: "Flags";
|
|
4725
|
+
};
|
|
4726
|
+
};
|
|
4568
4727
|
readonly recordAudio: "Record audio";
|
|
4569
4728
|
readonly listening: "Listening…";
|
|
4570
4729
|
readonly stopRecording: "Stop and transcribe";
|
|
@@ -5416,6 +5575,19 @@ export declare type editorStateType = {
|
|
|
5416
5575
|
json: JSONContent | null;
|
|
5417
5576
|
};
|
|
5418
5577
|
|
|
5578
|
+
/**
|
|
5579
|
+
* How an emoji is drawn.
|
|
5580
|
+
*
|
|
5581
|
+
* - `image` (default) swaps it for a twemoji SVG, so every platform shows the
|
|
5582
|
+
* same picture.
|
|
5583
|
+
* - `native` renders the character and lets the OS draw it, so people see the
|
|
5584
|
+
* emoji they know from the rest of their machine.
|
|
5585
|
+
*
|
|
5586
|
+
* F0Chat asks for `native`; the rest of F0 stays on `image` for now. Flipping
|
|
5587
|
+
* this default is the single switch that takes the whole design system native.
|
|
5588
|
+
*/
|
|
5589
|
+
declare type EmojiRenderMode = "image" | "native";
|
|
5590
|
+
|
|
5419
5591
|
/**
|
|
5420
5592
|
* Employee credits usage data returned by the host app.
|
|
5421
5593
|
*
|
|
@@ -6138,6 +6310,8 @@ export declare interface F0CardHorizontalProps {
|
|
|
6138
6310
|
descriptionAsSingleLine?: boolean;
|
|
6139
6311
|
}
|
|
6140
6312
|
|
|
6313
|
+
declare type F0CardProps = Omit<CardInternalProps, (typeof privateProps_8)[number]>;
|
|
6314
|
+
|
|
6141
6315
|
/**
|
|
6142
6316
|
* @experimental This is an experimental component use it at your own risk
|
|
6143
6317
|
*/
|
|
@@ -6244,21 +6418,25 @@ export declare const F0Chat: (props: F0ChatProps) => ReactNode;
|
|
|
6244
6418
|
* `kind` — videos are files with a video MIME type. */
|
|
6245
6419
|
export declare type F0ChatAttachedKind = "image" | "video" | "document" | "file";
|
|
6246
6420
|
|
|
6247
|
-
export declare type F0ChatAttachment = F0ChatImageAttachment | F0ChatFileAttachment | F0ChatLocationAttachment | F0ChatVoiceAttachment;
|
|
6421
|
+
export declare type F0ChatAttachment = F0ChatImageAttachment | F0ChatFileAttachment | F0ChatLocationAttachment | F0ChatVoiceAttachment | F0ChatCardAttachment;
|
|
6248
6422
|
|
|
6249
6423
|
/** How files reached the composer. Same story as {@link F0ChatReactionSource}:
|
|
6250
6424
|
* {@link F0ChatRuntime.uploadFiles} cannot tell these apart. */
|
|
6251
6425
|
export declare type F0ChatAttachSource = "button" | "drop" | "paste";
|
|
6252
6426
|
|
|
6253
6427
|
/**
|
|
6254
|
-
* Per-channel permissions. Everything is optional and defaults to
|
|
6255
|
-
* behavior, so hosts only express what their transport restricts
|
|
6256
|
-
* read-only channels, moderation roles…):
|
|
6428
|
+
* Per-channel permissions, one per verb. Everything is optional and defaults to
|
|
6429
|
+
* today's behavior, so hosts only express what their transport restricts
|
|
6430
|
+
* (frozen / read-only channels, moderation roles…):
|
|
6257
6431
|
* - `canSend` (default true): false hides the composer entirely.
|
|
6432
|
+
* - `canReply` (default: `canSend`): false hides Reply. Replying needs a
|
|
6433
|
+
* composer to reply *into*, so it follows `canSend` unless stated otherwise.
|
|
6258
6434
|
* - `canReact` (default true): false hides the quick-reaction row, the emoji
|
|
6259
6435
|
* pickers and disables toggling existing reaction pills.
|
|
6260
6436
|
* - `canUpload` (default: whether `uploadFiles` exists): false disables the
|
|
6261
6437
|
* attach button, drag & drop and voice notes even when `uploadFiles` exists.
|
|
6438
|
+
* - `canCopy` (default true): false hides Copy.
|
|
6439
|
+
* - `canViewInfo` (default true): false hides Info (delivery / read receipts).
|
|
6262
6440
|
* - `canEditMessage` (default: own message within {@link F0ChatRuntime.editWindowMs}):
|
|
6263
6441
|
* overrides the edit policy per message, INCLUDING the edit window — a host
|
|
6264
6442
|
* that supplies this and wants a time limit must apply it here. Structural
|
|
@@ -6268,15 +6446,55 @@ export declare type F0ChatAttachSource = "button" | "drop" | "paste";
|
|
|
6268
6446
|
* - `canDeleteMessage` (default: own message): overrides the delete policy per
|
|
6269
6447
|
* message (e.g. moderators deleting others' messages). Failed local echoes
|
|
6270
6448
|
* are always discardable — they don't exist server-side.
|
|
6449
|
+
*
|
|
6450
|
+
* On an `announcement` channel every boolean above defaults to **false**
|
|
6451
|
+
* instead: a noticeboard is one-way by construction. An explicit value always
|
|
6452
|
+
* wins, so a host with a poster passes `{ canSend: true }` and gets exactly
|
|
6453
|
+
* that. See `utils/capabilities.ts`.
|
|
6454
|
+
*
|
|
6455
|
+
* When no action survives, the hover ellipsis is not rendered at all.
|
|
6271
6456
|
*/
|
|
6272
6457
|
export declare type F0ChatCapabilities = {
|
|
6273
6458
|
canSend?: boolean;
|
|
6459
|
+
canReply?: boolean;
|
|
6274
6460
|
canReact?: boolean;
|
|
6275
6461
|
canUpload?: boolean;
|
|
6462
|
+
canCopy?: boolean;
|
|
6463
|
+
canViewInfo?: boolean;
|
|
6276
6464
|
canEditMessage?: (message: F0ChatMessage) => boolean;
|
|
6277
6465
|
canDeleteMessage?: (message: F0ChatMessage) => boolean;
|
|
6278
6466
|
};
|
|
6279
6467
|
|
|
6468
|
+
/**
|
|
6469
|
+
* A rich card inside a message — an {@link F0Card} the host describes as data.
|
|
6470
|
+
*
|
|
6471
|
+
* Deliberately a CURATED subset of `F0CardProps`, not a passthrough: selection,
|
|
6472
|
+
* bookmarking, the overflow menu and the alert banner mean nothing in a
|
|
6473
|
+
* transcript, and `children` isn't serialisable — which is exactly what a
|
|
6474
|
+
* transport-backed card has to be (factorial → a Stream custom attachment
|
|
6475
|
+
* `{ type: "card", … }`). Handlers stay optional so a card can be pure data
|
|
6476
|
+
* (`href`) or host-wired (`onClick`).
|
|
6477
|
+
*/
|
|
6478
|
+
export declare type F0ChatCardAttachment = {
|
|
6479
|
+
kind: "card";
|
|
6480
|
+
title: string;
|
|
6481
|
+
description?: string;
|
|
6482
|
+
/** Leading avatar — the full F0Card set (emoji, icon, module, person, date…). */
|
|
6483
|
+
avatar?: F0CardProps["avatar"];
|
|
6484
|
+
/** Cover image above the content. */
|
|
6485
|
+
image?: string;
|
|
6486
|
+
/** Call to action, rendered as a button in the card's divided footer. */
|
|
6487
|
+
action?: {
|
|
6488
|
+
label: string;
|
|
6489
|
+
/** Navigates. Takes precedence over `onClick` when both are set. */
|
|
6490
|
+
href?: string;
|
|
6491
|
+
onClick?: () => void;
|
|
6492
|
+
};
|
|
6493
|
+
/** Makes the whole card activate — the footer action still acts on its own. */
|
|
6494
|
+
href?: string;
|
|
6495
|
+
onClick?: () => void;
|
|
6496
|
+
};
|
|
6497
|
+
|
|
6280
6498
|
/** The conversation currently shown in the panel (header + behaviour differs by type). */
|
|
6281
6499
|
export declare type F0ChatChannel = {
|
|
6282
6500
|
id: string;
|
|
@@ -6305,6 +6523,13 @@ export declare type F0ChatChannel = {
|
|
|
6305
6523
|
memberCount?: number;
|
|
6306
6524
|
/** DM only — the counterpart, used for the header identity hover card. */
|
|
6307
6525
|
user?: F0ChatUser;
|
|
6526
|
+
/**
|
|
6527
|
+
* Sentence shown where the composer would be when the current user can't
|
|
6528
|
+
* send here ("Only Factorial can send messages"). Host-owned because only the
|
|
6529
|
+
* host knows who *can* post — and has to translate it. Falls back to a
|
|
6530
|
+
* generic i18n line.
|
|
6531
|
+
*/
|
|
6532
|
+
readOnlyNotice?: string;
|
|
6308
6533
|
};
|
|
6309
6534
|
|
|
6310
6535
|
/** A status badge shown in the header next to the title (e.g. on vacation, away).
|
|
@@ -6314,7 +6539,22 @@ export declare type F0ChatChannelStatus = {
|
|
|
6314
6539
|
label: string;
|
|
6315
6540
|
};
|
|
6316
6541
|
|
|
6317
|
-
|
|
6542
|
+
/**
|
|
6543
|
+
* `announcement` is a one-way channel: a noticeboard (product changelog, company
|
|
6544
|
+
* news) where only the people the host grants permission to can post, and
|
|
6545
|
+
* everyone else reads. It renders like a DM — no avatar gutter, no sender names,
|
|
6546
|
+
* no `@here` — and every capability defaults to off (see
|
|
6547
|
+
* {@link F0ChatCapabilities}), so a read-only channel needs no configuration at
|
|
6548
|
+
* all while a host that has a poster still turns `canSend` back on.
|
|
6549
|
+
*/
|
|
6550
|
+
export declare type F0ChatChannelType = "dm" | "group" | "announcement";
|
|
6551
|
+
|
|
6552
|
+
/**
|
|
6553
|
+
* What the composer can produce. Cards are authored by the host (a seeded
|
|
6554
|
+
* announcement, a transport's custom attachment) — there is no affordance to
|
|
6555
|
+
* attach one, so they're excluded from sending, editing and uploading.
|
|
6556
|
+
*/
|
|
6557
|
+
export declare type F0ChatComposableAttachment = Exclude<F0ChatAttachment, F0ChatCardAttachment>;
|
|
6318
6558
|
|
|
6319
6559
|
/**
|
|
6320
6560
|
* Edits applied to an existing message. Text, mentions and attachments are all
|
|
@@ -6323,7 +6563,7 @@ export declare type F0ChatChannelType = "dm" | "group";
|
|
|
6323
6563
|
*/
|
|
6324
6564
|
export declare type F0ChatEditInput = {
|
|
6325
6565
|
body: string;
|
|
6326
|
-
attachments?:
|
|
6566
|
+
attachments?: F0ChatComposableAttachment[];
|
|
6327
6567
|
/** People mentioned in the edited body (groups only). */
|
|
6328
6568
|
mentions?: F0ChatMention[];
|
|
6329
6569
|
/** Whether the edited message mentions the whole group (`@here`). */
|
|
@@ -6422,6 +6662,11 @@ export declare type F0ChatEvents = {
|
|
|
6422
6662
|
}) => void;
|
|
6423
6663
|
onLocationOpened?: () => void;
|
|
6424
6664
|
onLinkPreviewClicked?: () => void;
|
|
6665
|
+
/** A card attachment was activated — `source` tells the footer button apart
|
|
6666
|
+
* from a click on the card body. Carries no title or URL. */
|
|
6667
|
+
onCardActivated?: (p: {
|
|
6668
|
+
source: "card" | "action";
|
|
6669
|
+
}) => void;
|
|
6425
6670
|
onSearchOpened?: () => void;
|
|
6426
6671
|
onSearchResultNavigated?: (p: {
|
|
6427
6672
|
direction: "next" | "prev";
|
|
@@ -6471,7 +6716,7 @@ export declare type F0ChatHeaderAction = {
|
|
|
6471
6716
|
* as its own icon button next to it. Inline requires `icon` — an inline
|
|
6472
6717
|
* action without one falls back to the menu. */
|
|
6473
6718
|
placement?: "menu" | "inline";
|
|
6474
|
-
/** Restrict the action to
|
|
6719
|
+
/** Restrict the action to given channel types. Omit for all of them. */
|
|
6475
6720
|
channelTypes?: F0ChatChannelType[];
|
|
6476
6721
|
};
|
|
6477
6722
|
|
|
@@ -6479,8 +6724,22 @@ export declare type F0ChatImageAttachment = {
|
|
|
6479
6724
|
kind: "image";
|
|
6480
6725
|
url: string;
|
|
6481
6726
|
thumbnailUrl?: string;
|
|
6727
|
+
/**
|
|
6728
|
+
* A tiny (~40px) version of the same photo, used blurred underneath while the
|
|
6729
|
+
* real one arrives. Distinct from `thumbnailUrl`, which hosts use for a
|
|
6730
|
+
* display-sized derivative — this one is only ever seen out of focus, so the
|
|
6731
|
+
* smaller the better.
|
|
6732
|
+
*
|
|
6733
|
+
* Optional: without it the tile simply shows the sender's tint until the
|
|
6734
|
+
* photo paints. Hosts on a CDN that resizes on the fly can derive it from
|
|
6735
|
+
* `url` (Stream, for instance, takes `?w=40&resize=clip`).
|
|
6736
|
+
*/
|
|
6737
|
+
blurUrl?: string;
|
|
6482
6738
|
name: string;
|
|
6483
6739
|
mimeType?: string;
|
|
6740
|
+
/** Intrinsic size. Drives the album cell's aspect ratio, so the box is
|
|
6741
|
+
* reserved before the photo arrives; without it the cell falls back to a
|
|
6742
|
+
* square. */
|
|
6484
6743
|
width?: number;
|
|
6485
6744
|
height?: number;
|
|
6486
6745
|
};
|
|
@@ -6775,7 +7034,7 @@ export declare type F0ChatRuntime = {
|
|
|
6775
7034
|
* `channel.stopTyping()`).
|
|
6776
7035
|
*/
|
|
6777
7036
|
stopTyping?: () => void | Promise<void>;
|
|
6778
|
-
uploadFiles?: (files: File[]) => Promise<
|
|
7037
|
+
uploadFiles?: (files: File[]) => Promise<F0ChatComposableAttachment[]>;
|
|
6779
7038
|
/**
|
|
6780
7039
|
* Max files attachable at once. When a selection/drop would exceed it, the
|
|
6781
7040
|
* composer rejects the whole batch and flashes a transient error in the
|
|
@@ -6865,7 +7124,7 @@ export declare const f0ChatSenderColors: readonly ["viridian", "malibu", "yellow
|
|
|
6865
7124
|
|
|
6866
7125
|
export declare type F0ChatSendInput = {
|
|
6867
7126
|
body: string;
|
|
6868
|
-
attachments?:
|
|
7127
|
+
attachments?: F0ChatComposableAttachment[];
|
|
6869
7128
|
replyToId?: string;
|
|
6870
7129
|
/** People mentioned in the body (groups only). The host maps these to the
|
|
6871
7130
|
* transport's mention field (factorial → Stream `mentioned_users`). */
|
|
@@ -7050,11 +7309,24 @@ declare type F0DialogHeaderProps = {
|
|
|
7050
7309
|
resourceHeader?: F0ResourceHeaderProps;
|
|
7051
7310
|
controls?: DialogControls;
|
|
7052
7311
|
headerStatus?: string;
|
|
7312
|
+
/** See {@link F0DialogInternalProps.dismissable} — hides the close button. */
|
|
7313
|
+
dismissable?: boolean;
|
|
7053
7314
|
} & Partial<Pick<TabsProps, "tabs" | "activeTabId" | "setActiveTabId">>;
|
|
7054
7315
|
|
|
7055
7316
|
declare type F0DialogInternalProps = {
|
|
7056
7317
|
isOpen: boolean;
|
|
7057
7318
|
onClose: () => void;
|
|
7319
|
+
/**
|
|
7320
|
+
* Whether the reader can walk away. `false` removes the close button and
|
|
7321
|
+
* stops Escape and a click outside from closing — a forced choice, where the
|
|
7322
|
+
* dialog's own actions are the only way out.
|
|
7323
|
+
*
|
|
7324
|
+
* Use it only when leaving would be worse than being trapped: a decision the
|
|
7325
|
+
* product genuinely cannot proceed without. A dialog nobody can dismiss is a
|
|
7326
|
+
* dead end for anyone who does not understand it.
|
|
7327
|
+
* @default true
|
|
7328
|
+
*/
|
|
7329
|
+
dismissable?: boolean;
|
|
7058
7330
|
asBottomSheetInMobile?: boolean;
|
|
7059
7331
|
position?: DialogPosition;
|
|
7060
7332
|
width?: DialogWidth;
|
|
@@ -8148,14 +8420,26 @@ value?: string;
|
|
|
8148
8420
|
threshold?: number;
|
|
8149
8421
|
debounceTime?: number;
|
|
8150
8422
|
autoFocus?: boolean;
|
|
8151
|
-
|
|
8423
|
+
/**
|
|
8424
|
+
* Defaults to `-1`, which is right for the search box of a list that is
|
|
8425
|
+
* already reachable some other way. A search box that IS the way in — a
|
|
8426
|
+
* combobox — has to be tabbable, or focus can leave it and never come back.
|
|
8427
|
+
*/
|
|
8428
|
+
tabIndex?: number;
|
|
8429
|
+
} & Pick<InputFieldProps<string>, "onChange" | "name" | "size" | "role" | "aria-activedescendant" | "aria-autocomplete" | "aria-controls" | "aria-expanded" | "onFocus" | "onBlur" | "onKeyDown" | "loading" | "disabled" | "placeholder" | "clearable"> & RefAttributes<HTMLInputElement>>;
|
|
8152
8430
|
|
|
8153
8431
|
export declare type F0SearchInputProps = {
|
|
8154
8432
|
value?: string;
|
|
8155
8433
|
threshold?: number;
|
|
8156
8434
|
debounceTime?: number;
|
|
8157
8435
|
autoFocus?: boolean;
|
|
8158
|
-
|
|
8436
|
+
/**
|
|
8437
|
+
* Defaults to `-1`, which is right for the search box of a list that is
|
|
8438
|
+
* already reachable some other way. A search box that IS the way in — a
|
|
8439
|
+
* combobox — has to be tabbable, or focus can leave it and never come back.
|
|
8440
|
+
*/
|
|
8441
|
+
tabIndex?: number;
|
|
8442
|
+
} & Pick<InputFieldProps<string>, "size" | "loading" | "clearable" | "placeholder" | "disabled" | "onBlur" | "onFocus" | "onChange" | "name" | "role" | "onKeyDown" | "aria-controls" | "aria-expanded" | "aria-activedescendant" | "aria-autocomplete">;
|
|
8159
8443
|
|
|
8160
8444
|
/**
|
|
8161
8445
|
* @experimental This is an experimental component, use it at your own risk.
|
|
@@ -9948,6 +10232,12 @@ declare type InputFieldProps<T> = {
|
|
|
9948
10232
|
inputRef?: React.Ref<unknown>;
|
|
9949
10233
|
"aria-controls"?: AriaAttributes["aria-controls"];
|
|
9950
10234
|
"aria-expanded"?: AriaAttributes["aria-expanded"];
|
|
10235
|
+
/** The two remaining pieces of the combobox contract. Without
|
|
10236
|
+
* `aria-activedescendant` a field that drives a list it doesn't contain can
|
|
10237
|
+
* never announce the active option: focus stays in the input while the
|
|
10238
|
+
* selection moves elsewhere, so a screen reader hears nothing. */
|
|
10239
|
+
"aria-activedescendant"?: AriaAttributes["aria-activedescendant"];
|
|
10240
|
+
"aria-autocomplete"?: AriaAttributes["aria-autocomplete"];
|
|
9951
10241
|
onClear?: () => void;
|
|
9952
10242
|
onFocus?: () => void;
|
|
9953
10243
|
onBlur?: () => void;
|
|
@@ -11961,6 +12251,8 @@ declare const privateProps_6: readonly ["compact"];
|
|
|
11961
12251
|
|
|
11962
12252
|
declare const privateProps_7: readonly ["delay", "onOpen"];
|
|
11963
12253
|
|
|
12254
|
+
declare const privateProps_8: readonly ["forceVerticalMetadata", "disableOverlayLink"];
|
|
12255
|
+
|
|
11964
12256
|
declare type ProductUpdate = {
|
|
11965
12257
|
title: string;
|
|
11966
12258
|
href: string;
|
package/dist/experimental.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { v as s, t, A as i, a as o, J as r, ar as n, aq as l, as as d, B as S, w as C, y as g, L as m, ay as u, az as c, aI as b, x as h, C as P, ax as T, aJ as p, D as F, z as I, a3 as E, b1 as A, b8 as B, K as y, b0 as D, E as L, b as W, i as v, ag as k, ah as O, G as _, an as f, F as x, j as
|
|
2
|
-
import {
|
|
3
|
-
import { ax as hs, ay as Ps, a5 as Ts, a6 as ps, a3 as Fs, ag as Is, C as Es, a7 as As, aJ as Bs, ac as ys, aI as Ds, af as Ls, a4 as Ws, av as vs, aL as ks, aK as Os, an as _s, ah as fs, aq as xs, aO as
|
|
1
|
+
import { v as s, t, A as i, a as o, J as r, ar as n, aq as l, as as d, B as S, w as C, y as g, L as m, ay as u, az as c, aI as b, x as h, C as P, ax as T, aJ as p, D as F, z as I, a3 as E, b1 as A, b8 as B, K as y, b0 as D, E as L, b as W, i as v, ag as k, ah as O, G as _, an as f, F as x, j as N, n as H, o as R, k as M, c as V, q as w, r as G, H as z, aM as U, aN as j, aB as q, am as K, aR as Q, at as X, a6 as Z, aL as J, U as Y, ac as $, O as aa, bc as ea, V as sa, P as ta, M as ia, N as oa, au as ra, R as na, a_ as la, b2 as da, S as Sa, a7 as Ca, a8 as ga, _ as ma, $ as ua, a0 as ca, Z as ba, a1 as ha, W as Pa, a2 as Ta, a4 as pa, a5 as Fa, a9 as Ia, aa as Ea, b6 as Aa, b5 as Ba, ap as ya, ao as Da, aw as La, aK as Wa, aH as va, av as ka, ab as Oa, aC as _a, b7 as fa, ba as xa, aA as Na, aF as Ha, aD as Ra, bb as Ma, aG as Va, aE as wa, b9 as Ga, d as za, af as Ua, b4 as ja, b3 as qa, aj as Ka, f as Qa, l as Xa, p as Za, g as Ja, h as Ya, aU as $a, aS as ae, ak as ee, al as se, aQ as te, aT as ie, e as oe, s as re, aY as ne, aP as le, aV as de, ad as Se, a$ as Ce, u as ge, ae as me, ai as ue, aO as ce, T as be, Q as he, I as Pe, Y as Te, X as pe, aZ as Fe, aX as Ie, aW as Ee } from "./experimental-BpTt8RQd.js";
|
|
2
|
+
import { dP as Be, ep as ye, eo as De, eC as Le, dm as We, em as ve, ce as ke, c4 as Oe, cb as _e, eh as fe, bZ as xe, bZ as Ne, bS as He, ei as Re, ch as Me, e0 as Ve, cj as we, eF as Ge, en as ze, ey as Ue, ez as je, d6 as qe, eD as Ke, k as Qe, dQ as Xe, cN as Ze, el as Je, er as Ye, eq as $e, T as as, h as es, bT as ss, eA as ts, eG as is, eB as os, eE as rs, ex as ns, eu as ls, ew as ds, es as Ss, ej as Cs, ek as gs, ed as ms, ev as us, et as cs } from "./F0CanvasPanel-t6LAI_x8.js";
|
|
3
|
+
import { ax as hs, ay as Ps, a5 as Ts, a6 as ps, a3 as Fs, ag as Is, C as Es, a7 as As, aJ as Bs, ac as ys, aI as Ds, af as Ls, a4 as Ws, av as vs, aL as ks, aK as Os, an as _s, ah as fs, aq as xs, aO as Ns, a2 as Hs, as as Rs, ap as Ms, ak as Vs, aQ as ws, al as Gs, at as zs, au as Us, a8 as js, aM as qs, aN as Ks, am as Qs, aw as Xs, aF as Zs, O as Js, aH as Ys, a9 as $s, aS as at, ab as et, ad as st, aq as tt, aP as it, ar as ot, ao as rt, aR as nt, aa as lt, W as dt, ae as St, a1 as Ct, $ as gt, a0 as mt, aB as ut, aC as ct, az as bt, aG as ht, aj as Pt, ai as Tt, aD as pt, l as Ft, aA as It, aE as Et, y as At } from "./CoachmarkProvider-CbaSfufv.js";
|
|
4
4
|
export {
|
|
5
5
|
hs as AUTO_PER_PAGE_MAX,
|
|
6
6
|
Ps as AUTO_PER_PAGE_MIN_RESERVED_ROWS,
|
|
@@ -54,7 +54,7 @@ export {
|
|
|
54
54
|
fe as F0ButtonToggle,
|
|
55
55
|
W as F0Callout,
|
|
56
56
|
xe as F0CardHorizontal,
|
|
57
|
-
|
|
57
|
+
Ne as F0CardRow,
|
|
58
58
|
v as F0CarouselDialog,
|
|
59
59
|
k as F0Chat,
|
|
60
60
|
O as F0ChatProvider,
|
|
@@ -63,24 +63,24 @@ export {
|
|
|
63
63
|
x as F0EmojiPicker,
|
|
64
64
|
He as F0FileItem,
|
|
65
65
|
vs as F0FormEditableTable,
|
|
66
|
-
|
|
66
|
+
N as F0Map,
|
|
67
67
|
H as F0MapControls,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
R as F0MapList,
|
|
69
|
+
M as F0MapSkeleton,
|
|
70
70
|
V as F0MeetingCard,
|
|
71
71
|
ks as F0NotesTextEditor,
|
|
72
72
|
Os as F0NotesTextEditorSkeleton,
|
|
73
73
|
_s as F0NumberInput,
|
|
74
74
|
fs as F0PhoneInput,
|
|
75
|
-
|
|
75
|
+
Re as F0ProgressSeries,
|
|
76
76
|
xs as F0ResourceHeader,
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
Me as F0RichTextDisplay,
|
|
78
|
+
Ns as F0RichTextEditor,
|
|
79
79
|
Ve as F0SearchInput,
|
|
80
80
|
w as F0SegmentedBar,
|
|
81
81
|
Hs as F0SegmentedControl,
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
Rs as F0TableOfContent,
|
|
83
|
+
Ms as F0TextAreaInput,
|
|
84
84
|
we as F0TextInput,
|
|
85
85
|
G as F0VersionHistory,
|
|
86
86
|
Vs as F1SearchBox,
|
|
@@ -93,24 +93,24 @@ export {
|
|
|
93
93
|
Gs as Input,
|
|
94
94
|
zs as Item,
|
|
95
95
|
Us as ItemSectionHeader,
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
K as LATEST,
|
|
97
|
+
Q as LIST_COMPACT_AFTER,
|
|
98
98
|
js as LineChart,
|
|
99
99
|
X as LineChartWidget,
|
|
100
|
-
|
|
100
|
+
Z as Menu,
|
|
101
101
|
ze as MobileDropdown,
|
|
102
102
|
J as NewHomeLayout,
|
|
103
103
|
qs as NotesTextEditor,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
Ks as NotesTextEditorSkeleton,
|
|
105
|
+
Qs as NumberInput,
|
|
106
|
+
Y as OmniButton,
|
|
107
|
+
$ as OneApprovalHistory,
|
|
108
108
|
Ue as OneCalendar,
|
|
109
109
|
je as OneCalendarInternal,
|
|
110
110
|
Xs as OneDataCollection,
|
|
111
|
-
|
|
111
|
+
Zs as OneDateNavigator,
|
|
112
112
|
Js as OneEmptyState,
|
|
113
|
-
|
|
113
|
+
Ys as OnePagination,
|
|
114
114
|
aa as OnePersonListItem,
|
|
115
115
|
ea as OneRestrictComponent,
|
|
116
116
|
sa as Page,
|
|
@@ -118,21 +118,21 @@ export {
|
|
|
118
118
|
ia as PageHeaderNavigationContext,
|
|
119
119
|
oa as PageHeaderNavigationProvider,
|
|
120
120
|
qe as PageNavigation,
|
|
121
|
-
|
|
121
|
+
$s as PieChart,
|
|
122
122
|
ra as PieChartWidget,
|
|
123
123
|
at as PrivateBox,
|
|
124
124
|
et as ProgressBarChart,
|
|
125
125
|
st as RadarChart,
|
|
126
126
|
na as Reactions,
|
|
127
127
|
tt as ResourceHeader,
|
|
128
|
-
|
|
128
|
+
Ke as RichTextDisplay,
|
|
129
129
|
it as RichTextEditor,
|
|
130
130
|
la as SLOT_ROW_BLEED,
|
|
131
131
|
da as SLOT_SKELETON_ITEM_TESTID,
|
|
132
132
|
Sa as ScrollArea,
|
|
133
133
|
Ca as SearchBar,
|
|
134
134
|
ot as SectionHeader,
|
|
135
|
-
|
|
135
|
+
Qe as Select,
|
|
136
136
|
Xe as Shortcut,
|
|
137
137
|
ga as Sidebar,
|
|
138
138
|
ma as SidebarChatBlankState,
|
|
@@ -148,13 +148,13 @@ export {
|
|
|
148
148
|
Ea as SidebarTabs,
|
|
149
149
|
Aa as SlotWidget,
|
|
150
150
|
Ba as SlotWidgetContent,
|
|
151
|
-
|
|
151
|
+
Ze as Spinner,
|
|
152
152
|
ya as Split,
|
|
153
153
|
Da as Stack,
|
|
154
154
|
La as SummariesWidget,
|
|
155
155
|
Je as Switch,
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
Ye as Tabs,
|
|
157
|
+
$e as TabsSkeleton,
|
|
158
158
|
Wa as TasksList,
|
|
159
159
|
rt as Textarea,
|
|
160
160
|
as as ToggleGroup,
|
|
@@ -171,10 +171,10 @@ export {
|
|
|
171
171
|
_a as WidgetAvatarsListItem,
|
|
172
172
|
fa as WidgetCatalog,
|
|
173
173
|
xa as WidgetEmptyState,
|
|
174
|
-
|
|
174
|
+
Na as WidgetHighlightButton,
|
|
175
175
|
Ha as WidgetInboxList,
|
|
176
|
-
|
|
177
|
-
|
|
176
|
+
Ra as WidgetInboxListItem,
|
|
177
|
+
Ma as WidgetSection,
|
|
178
178
|
Va as WidgetSimpleList,
|
|
179
179
|
wa as WidgetSimpleListItem,
|
|
180
180
|
Ga as WidgetStrip,
|
|
@@ -188,14 +188,14 @@ export {
|
|
|
188
188
|
ja as defaultSlotRenderers,
|
|
189
189
|
qa as defaultSlotSkeleton,
|
|
190
190
|
ut as downloadAsCSV,
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
Ka as f0ChatSenderColors,
|
|
192
|
+
Qa as f0EmojiPickerSizes,
|
|
193
193
|
rs as f0FileItemSizes,
|
|
194
194
|
Xa as f0MapMarkerVariants,
|
|
195
|
-
|
|
195
|
+
Za as f0MapStyles,
|
|
196
196
|
Ja as f0ProgressSeriesColors,
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
Ya as f0ProgressSeriesSizes,
|
|
198
|
+
$a as fromParams,
|
|
199
199
|
ct as generateCSVContent,
|
|
200
200
|
bt as getAutoPerPageMinHeight,
|
|
201
201
|
ns as getGranularityDefinition,
|